新添加MySQL Pod(mysql-4 Pod)
新物理机如何加入K8s集群,详细信息请参见《Kubernetes 1.18.20 部署指南(CentOS&openEuler)》。
- 修改master节点物理机上的mysql_deployment.yaml配置文件。
1
vim mysql_deployment.yaml
- 按“i”进入编辑模式,添加新Pod部署,修改内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
...... --- apiVersion: v1 kind: Pod metadata: name: mysql-1 ...... hostAliases: ...... - ip: "10.99.0.18" hostnames: - "mysql-4" ...... --- apiVersion: v1 kind: Pod metadata: name: mysql-2 ...... hostAliases: ...... - ip: "10.99.0.18" hostnames: - "mysql-4" ...... --- apiVersion: v1 kind: Pod metadata: name: mysql-3 ...... hostAliases: ...... - ip: "10.99.0.18" hostnames: - "mysql-4" ...... --- apiVersion: v1 kind: Pod metadata: labels: app: mysql-4 name: mysql-4 namespace: ns-mysql-test annotations: ovn.kubernetes.io/ip_address: 10.99.0.18 ovn.kubernetes.io/mac_address: 00:00:00:53:6B:B9 spec: nodeSelector: test: "mysql-test-4" hostAliases: - ip: "10.99.0.15" hostnames: - "mysql-1" - ip: "10.99.0.16" hostnames: - "mysql-2" - ip: "10.99.0.17" hostnames: - "mysql-3" - ip: "10.99.0.18" hostnames: - "mysql-4" containers: - name: mysql-4 image: mymysql/centos8-mysql-arm:8.0.19 resources: limits: cpu: 16 memory: 64Gi ports: - name: mysql-port containerPort: 3306 - name: copy-port containerPort: 33061 env: - name: MYSQL_ROOT_PASSWORD value: test123 - name: MYSQL_ROOT_HOST value: "%" volumeMounts: - name: mysql-data mountPath: "/data/mysql/data" - name: mysql-log mountPath: "/data/mysql/log" - name: mysql-run mountPath: "/data/mysql/run" - name: mysql-tmp mountPath: "/data/mysql/tmp" - name: mysql-cnf mountPath: "/etc/my.cnf" volumes: - name: mysql-data hostPath: path: "/data/mysql/mysql_4/data" type: DirectoryOrCreate - name: mysql-log hostPath: path: "/data/mysql/mysql_4/log" type: DirectoryOrCreate - name: mysql-run hostPath: path: "/data/mysql/mysql_4/run" type: DirectoryOrCreate - name: mysql-tmp hostPath: path: "/data/mysql/mysql_4/tmp" type: DirectoryOrCreate - name: mysql-cnf hostPath: path: "/data/mysql/mysql_4/mysql_arm.cnf" type: FileOrCreate ...... --- apiVersion: v1 kind: Service metadata: name: mysql-4-service namespace: ns-mysql-test spec: type: NodePort selector: app: mysql-4 ports: - name: dbport protocol: TCP port: 3306 targetPort: 3306 nodePort: 30004 - name: cpport protocol: TCP port: 33061 targetPort: 33061 nodePort: 30064
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
如上yaml修改:
- 在其他MySQL Pod的hostAliases中增加了mysql-4的主机名解析(MySQL MGR群组组建过程中将用到该解析规则)。
- 在文件中添加了mysql-4的Pod部署配置,与其他MySQL Pod保持相同名称空间,IP地址、MAC、数据目录挂载的物理机目录不与其他Pod冲突。
- 在文件中添加了mysql-4-service的Service部署,类型为NodePort,将mysql-4的3306、33061端口分别映射到了物理机的30004、33064端口。
- 其他配置与mysql-1、mysql-2、mysql-3类似。
- 物理机节点打nodeSelector对应的标签操作与准备mysql-4的配置文件与mysql-1、mysql-2、mysql-3类似,请参见准备K8s部署MySQL的yaml文件和准备MySQL配置文件。
- 配置修改完成后,在K8s master节点物理机上执行kubectl apply -f ./mysql_deployment.yaml生效配置修改,详细信息请参见修改部署。
父主题: K8s MySQL MGR维护