在Kubernetes(K8s)中進行MySQL的容器編排主要涉及創建Deployment、Service、Persistent Volume(PV)和Persistent Volume Claim(PVC)等資源。以下是一個基本的步驟指南,幫助你完成MySQL在Kubernetes上的容器編排:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mysql
spec:
replicas: 3
selector:
matchLabels:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql:5.7
env:
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-secret
key: root-password
ports:
- containerPort: 3306
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
persistentVolumeClaim:
claimName: mysql-pv-claim
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
targetPort: 3306
selector:
app: mysql
type: ClusterIP
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: standard
通過以上步驟和配置示例,你可以在Kubernetes集群中成功部署MySQL,并確保其高可用性和數據持久性。記得根據實際情況調整配置,例如存儲容量、副本數量等。