基础环境搭建
基础环境的搭建请参考此文:# Rancher 2.5 部署单节点 k8s 集群,起飞的感觉
1. 宿主机搭建 NFS
NFS 是一个网络文件系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。
(1) 通过 yum 安装
yum -y install rpcbind nfs-utils
(2) 建立网上邻居共享目录
mkdir /mnt/share
(3) 配置这个共享目录
vim /etc/exports
写入下边的内容:
/mnt/share 192.168.138.0/24(rw,no_root_squash,async,fsid=0)
(4) 使配置内容生效
exportfs -r
(5) 启动 rpcbind、nfs 服务及开机自启动
systemctl start rpcbind
systemctl start nfs
systemctl enable rpcbind
systemctl enable nfs
2. 新建命名空间

在 “default” 项目下,起一个 “middleware” 的命名空间

3. 设置 PV (Persistent Volumes)
注意:找不到这个菜单的,切回集群选项,不在项目选项里

注意几个关键的配置,模式可以选择单节点/多节点

4. 设置 PVC (Persistent Volumes Claim)

注意几个关键的配置,选择刚才设置好的 PV 绑定

5. 设置 Config Maps

这里的作用其实就是把容器的配置映射到公共的 Config Map

mysql.conf 的内容根据真实需要配置,这里作者随便写个简单的
[mysqld]
skip-name-resolve
6. 设置 Mysql 的 POD

直接导入 yml 配置,类型 Deployment,内容会贴在下边,接触过的同学都多少会看的明白

apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
namespace: middleware
spec:
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:5.7
env:
- name: MYSQL_ROOT_PASSWORD
value: "88021120"
ports:
- containerPort: 3306
name: redis
protocol: TCP
volumeMounts:
- name: mysql-data
mountPath: /var/lib/mysql
- name: mysql-conf
mountPath: "/etc/mysql/conf.d/"
volumes:
- name: mysql-data
persistentVolumeClaim:
claimName: mysql-pvc
- name: mysql-conf
configMap:
name: mysql-alone-conf
items:
- key: mysql.conf
path: mysql.conf
7. 设置 Mysql 的 Service

直接导入 yml 配置,类型 Service,内容会贴在下边,接触过的同学都多少会看的明白

apiVersion: v1
kind: Service
metadata:
name: mysql-alone-access
namespace: middleware
labels:
app: mysql
spec:
selector:
app: mysql
ports:
- name: mysql-access
protocol: TCP
port: 3306
targetPort: 3306
type: NodePort
8. 查看状态与试用

网络模式我们选择的是 NodePort,看到系统自动给我们分配了宿主机端口 32401

至此我们用 Navicat 连接下试试

注意:有的同学搞的镜像版本可能直接连不上,需要自己进入容器把root的远程连接打开
(1) 在宿主机上查看运行的 docker 容器
docker ps | grep mysql
(2) 找到你的容器 ID,然后进入容器
docker exec -it 容器ID /bin/bash
(3) 然后进入你的 Mysql
mysql -uroot -p你的密码
(4) 然后选择 Mysql 的数据库,赋予 root 账号连接权限
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码';
flush privileges;
如果你还是连不上,那你要回到第五步,检查下 ConfigMap 中你的 Mysql 的配置是否存在问题。
原文始发于微信公众号(白菜说技术):Rancher2.5安装的k8s集群中部署 Mysql5.7
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/172513.html