今天抽空尝试在k8s集群上部署Mysql,最后在本地成功连上Mysql,特意记录下来分享给大家,主要分两部分操作,创建挂载持久卷配置文件以及部署服务文件。

大家可以根据自己的实际情况进行设置,创建完之后我们先保存,等会再来加载配置文件。
apiVersion: v1kind: PersistentVolumeClaimmetadata:name: mysql-pv-claimlabels:app: mysqlspec:accessModes:- ReadWriteOnceresources:requests:storage: 20Gi #持久卷的容量是 20 GB

apiVersion: apps/v1kind: Deploymentmetadata:name: mysql-deploymentspec:selector:matchLabels:app: mysqlstrategy:type: Recreatetemplate:metadata:labels:app: mysqlspec:containers:- image: mysql:latestname: mysql-conimagePullPolicy: Alwaysenv:- name: MYSQL_ROOT_PASSWORDvalue: 1234567 #数据库密码args: ["--default-authentication-plugin=mysql_native_password"]ports:- containerPort: 3306name: mysqlvolumeMounts: # 挂载Pod上的卷到容器- name: mysql-persistent-storage # Pod上卷的名字,与“volumes”名字匹配mountPath: home/storageVolume/mysql # 挂载的Pod的目录volumes: # 挂载持久卷到Pod- name: mysql-persistent-storage # 持久卷名字, 与“volumMounts”名字匹配persistentVolumeClaim:claimName: mysql-pv-claim # 持久卷申请名字---apiVersion: v1kind: Servicemetadata:name: mysql-servicelabels:app: mysqlspec:type: NodePortselector:app: mysqlports:- protocol : TCPnodePort: 30306port: 3306targetPort: 3306

kubectl apply -f mysql-pv-claim.yamlkubectl apply -f mysql-deployment-scale.yaml
运行之后我们可以直接连接mysql是否可以连接成功,效果如下

文章转载自程序员技术笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。





