0
点赞
收藏
分享

微信扫一扫

kubeneters上部署mysql


一、编写 Namespace,mysql_ns.yaml 文件

[root@k8s-master01 ~]# mkdir  mysql
[root@k8s-master01 ~]# cd mysql
[root@k8s-master01 mysql]# vim mysql_ns.yaml

apiVersion: v1
kind: Namespace
metadata:
name: mysql

:wq保存

二、编写 PersistentVolume、PersistentVolumeClaim,mysql_pvc.yaml 文件

[root@k8s-master01 ~]# cd mysql
[root@k8s-master01 mysql]# vim mysql_pvc.yaml

---
apiVersion: v1
kind: PersistentVolume
metadata:
name: mysql-pv
namespace: mysql
labels:
app: mysql
spec:
storageClassName: local-storage
capacity:
storage: 1Gi
accessModes:
- ReadWriteOnce
nfs:
server: 192.168.3.20
path: /data/nfs/prometheus
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: Exists
persistentVolumeReclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mysql-pvc
namespace: mysql
spec:
storageClassName: local-storage
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi




:wq保存

三、编写 Service,mysql_svc.yaml 文件

[root@k8s-master01 ~]# cd mysql
[root@k8s-master01 mysql]# vim mysql_svc.yaml

apiVersion: v1
kind: Service
metadata:
name: mysql
namespace: mysql
labels:
app: mysql
spec:
selector:
app: mysql
clusterIP: ""
ports:
- port: 3306
protocol: TCP
targetPort: 3306



:wq保存

四、编写 Deployment,mysql_deploy.yaml 文件

[root@k8s-master01 ~]# cd mysql
[root@k8s-master01 mysql]# vim mysql_deploy.yaml
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
name: mysql
namespace: mysql
labels:
app: mysql
spec:
selector:
matchLabels:
app: mysql
strategy:
type: Recreate
template:
metadata:
labels:
app: mysql
spec:
containers:
- image: mysql:5.6
name: mysql
env:
- name: MYSQL_ROOT_PASSWORD
value: password
ports:
- containerPort: 3306
name: mysql
volumeMounts:
- name: mysql-persistent-storage
mountPath: /var/lib/mysql
volumes:
- name: mysql-persistent-storage
nfs:
server: 192.168.3.20
path: /data/nfs/mysql



:wq保存

五、运行.yaml 文件

[root@k8s-master01 ~]# cd mysql
[root@k8s-master01 mysql]# kubectl apply -f mysql_ns.yaml
[root@k8s-master01 mysql]# kubectl apply -f mysql_cm.yaml
[root@k8s-master01 mysql]# kubectl apply -f mysql_pvc.yaml
[root@k8s-master01 mysql]# kubectl apply -f mysql_rbac.yaml
[root@k8s-master01 mysql]# kubectl apply -f mysql_svc.yaml
[root@k8s-master01 mysql]# kubectl apply -f mysql_deploy.yaml


举报

相关推荐

0 条评论