kubernetes部署mysql
- 新建mysql-rc.yaml
touch mysql-rc.yaml
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql-rc
labels:
name: mysql-rc
spec:
replicas: 1
selector:
name: mysql-pod
template:
metadata:
labels:
name: mysql-pod
spec:
containers:
- name: mysql
image: mysql
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "mysql"
可从最后一行看出root账号的密码为mysql
- 创建mysql-svc.yaml
touch mysql-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql-svc
labels:
name: mysql-svc
spec:
type: NodePort
ports:
- port: 3307
protocol: TCP
targetPort: 3306
name: http
nodePort: 32307
selector:
name: mysql-pod
可看出nodePort端口为32307
- 执行命令
[root@node1 mysql]# kubectl create -f mysql-rc.yaml
replicationcontroller/mysql-rc created
[root@node1 mysql]# kubectl create -f mysql-svc.yaml
service/mysql-svc created
- 查看服务
[root@node1 mysql]# kubectl get pod
NAME READY STATUS RESTARTS AGE
curl-69c656fd45-rcwmq 1/1 Running 1 47h
mysql-rc-q65mv 1/1 Running 0 6m52s
[root@node1 mysql]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 47h
mysql-svc NodePort 10.96.155.97 <none> 3307:32307/TCP 45s
- 工具连接