apiVersion: v1
kind: Namespace
metadata:
name: devops # Namespace 的名称
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: devops-mysql # deployment控制器名称
namespace: devops
spec:
replicas: 1
revisionHistoryLimit: 5
strategy:
type: RollingUpdate
selector:
matchLabels:
app: devops-mysql
template:
metadata:
labels:
app: devops-mysql
spec:
volumes:
- name: devops-mysql
nfs:
server: xx.xx.xx.xx # nfs服务端,参考之前nfs共享存储的部署文案
path: /root/data/nfs/mysql/devops # 修改为存储服务器的存储挂载路径
containers:
- name: devops-mysql
image: mysql:5.7
env:
- name: MYSQL_ROOT_PASSWORD
value: xxxxxxxx # 设置MySQL数据库登录密码
imagePullPolicy: Always
ports:
- containerPort: 3306
volumeMounts:
- name: devops-mysql
mountPath: /var/lib/mysql
---
apiVersion: v1
kind: Service
metadata:
name: devops-mysql # 数据库服务的名称
namespace: devops
spec:
ports:
- port: 3306
protocol: TCP
targetPort: 3306
nodePort: 30001 # 对外访问的端口
selector:
app: devops-mysql
type: NodePort
sessionAffinity: ClientIP
kubectl create -f mysql.yaml
kubectl get pod -n devops | grep mysql
kubectl exec -it devops-mysql-59b68c47d4-ttbng bash -n devops
进入容器后,使用 mysql -uroot -p命令登陆MySQL,初始密码为yaml文件配置。
如果登陆一切正常,则部署成功。
通过ip+端口,这里是30001,进行数据库登陆,这里推荐使用HeidiSQL工具,一款轻量、简单、方便的MySQL工具,我已经免费共享出来了,可点击这里直接下载使用。