1.创建PV/PVC
kind: PersistentVolumeClaim apiVersion: v1 metadata: name: mysql-data namespace: t1-zdbl spec: storageClassName: nfs-client accessModes: - ReadWriteMany resources: requests: storage: 30G
2.创建MySQL配置文件
apiVersion: apps/v1 kind: Deployment metadata: name: t1-zdbl-mysql namespace: t1-zdbl spec: selector: matchLabels: app: mysql-8.0 template: metadata: labels: app: mysql-8.0 spec: containers: - name: mysql image: mysql:8.0 env: - name: MYSQL_ROOT_PASSWORD value: "System@123" #设置root登录密码 ports: - containerPort: 3306 volumeMounts: - name: mysql-data mountPath: /var/lib/mysql subPath: mysql - name: config mountPath: /etc/mysql/conf.d/my.cnf subPath: my.cnf volumes: - name: mysql-data persistentVolumeClaim: claimName: mysql-data - name: config configMap: name: mysql-config
3.创建MySQL deploy文件
apiVersion: apps/v1 kind: Deployment metadata: name: t1-zdbl-mysql namespace: t1-zdbl spec: selector: matchLabels: app: mysql-8.0 template: metadata: labels: app: mysql-8.0 spec: containers: - name: mysql image: mysql:8.0 env: - name: MYSQL_ROOT_PASSWORD value: "System@123" #设置root登录密码 ports: - containerPort: 3306 volumeMounts: - name: mysql-data mountPath: /var/lib/mysql subPath: mysql - name: config mountPath: /etc/mysql/conf.d/my.cnf subPath: my.cnf volumes: - name: mysql-data persistentVolumeClaim: claimName: mysql-data - name: config configMap: name: mysql-config
4.MySQL svc文件
apiVersion: v1 kind: Service metadata: labels: app: t1-zdbl-mysql name: t1-zdbl-mysql namespace: t1-zdbl spec: ports: - name: tcp-mysql-3306 nodePort: 30306 port: 3306 protocol: TCP targetPort: 3306 selector: app: mysql-8.0 type: NodePort
MySQL访问
内部:t1-zdbl-mysql.t1-zdbl.svc.cluster.local:3306
外部:SLB转发到节点30306端口,根据实际情况进行访问