K8s是目前非常流行的容器管理平臺,而MySQL則是非常常用的關系型數據庫,很多應用都需要用到MySQL,本文將介紹在K8s上部署MySQL5.5的過程。
apiVersion: v1 kind: PersistentVolume metadata: name: mysql-pv labels: type: local spec: capacity: storage: 10Gi accessModes: - ReadWriteOnce hostPath: path: "/mnt/data" --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mysql-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: mysql-deployment labels: app: mysql spec: replicas: 1 selector: matchLabels: app: mysql template: metadata: labels: app: mysql spec: volumes: - name: mysql-persist persistentVolumeClaim: claimName: mysql-pvc containers: - name: mysql image: mysql:5.5 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: "root" volumeMounts: - mountPath: "/var/lib/mysql" name: mysql-persist
上述代碼包含三段YAML配置,第一段配置了一個PersistentVolume,用于存儲MySQL的數據,第二段配置了一個PersistentVolumeClaim,可以用來向K8s請求存儲。第三段是Deployment配置,指定了需要運行MySQL鏡像,以及需要使用的持久卷和密碼等信息。
使用命令kubectl apply -f mysql.yaml
即可在K8s集群中部署MySQL。在應用中連接MySQL的時候,可以使用K8s提供的Service IP進行連接。
以上就是在K8s上部署MySQL5.5的過程,借助K8s的優勢,可以方便地進行MySQL的擴容和遷移等操作。