k8s启动mysql_Kubernetes - 部署 Mysql
在部署之前,先要完成集群初始化准备# 为 MySQL 服务创建一个 RC 定义文件 mysql-rc.yaml[root@master-node application]# cat mysql-rc.yamlapiVersion: v1kind: ReplicationController # 副本控制器metadata:name: mysql # RC的名称,全局唯一spec:replicas:
在部署之前,先要完成集群初始化
准备
# 为 MySQL 服务创建一个 RC 定义文件 mysql-rc.yaml
[root@master-node application]# cat mysql-rc.yaml
apiVersion: v1
kind: ReplicationController # 副本控制器
metadata:
name: mysql # RC的名称,全局唯一
spec:
replicas: 1 # Pod副本期待数量
selector:
app: mysql # 符合目标的Pod拥有此标签
template: # 根据此模板创建Pod的副本(实例)
metadata:
labels:
app: mysql # Pod副本拥有的标签,对应RC的Selector
spec: # 这里的内容和 docker 配置差不多,不再进行解释
containers:
- name: mysql
image: mysql
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
RC 的创建与查询
[root@master-node application]# kubectl create -f mysql-rc.yaml
replicationcontroller "mysql" created
# 通过命令查看 rc 列表,就有一个名为 mysql 的这个 rc ,如果这个集群没有加入节点的话,Ready 会是 0
[root@master-node application]# kubectl get rc
NAME DESIRED CURRENT READY AGE
mysql 1 1 1 139m
校验 Pod 是否部署成功
通过命令查看 pod 列表,可以看到有一个名为 mysql-xxx 的 pod ,可以看到 Ready 为 0/1 ,STATUS 为 Pending ,这是因为执行这个命令之前我没有往这个集群添加节点。
[root@master-node application]# kubectl get pods
NAME READY STATUS RESTARTS AGE
mysql-qtk45 0/1 Pending 0 94s
在我添加节点之后,再次执行命令,可以看到 STATUS 的状态为 ContainerCreating ,说明在 node 节点 pull 镜像了,等镜像拉取完成并启动就是状态就变为 Running 了,说明部署成功了。为什么还有一个 Terminating 呢,还要再翻翻资料。(估计是因为我 reset 了节点,改了 hostname 再加到 master 导致的=。=)
[root@master-node ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
mysql-xt4tx 0/1 ContainerCreating 0 112m
[root@master-node ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
mysql-wbg4h 1/1 Running 0 15m
mysql-xt4tx 0/1 Terminating 0 132m
更多推荐
所有评论(0)