环境准备
systemctl stop firewalld
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy启动MySQL服务
kind: ReplicationController # 副本控制器RC
metadata:
name: mysql # RC 的名称,全局唯一
spec:
replicas: 1 # Pod副本期待数量
selector:
app: mysql # 符合目标的pod拥有此标签
template: # 根据此模板创建Pod的副本(实例)
metadata:
labels:
app: mysql # Pod副本拥有的标签,对应RC的selector
spec:
containers: # pod内容器的定义部分
- name: mysql # 容器的名称
image: mysql # 容器对应的Docker Image
ports:
- containerPort: 3306 # 容器应用监听的端口号
env: # 注入容器内的环境变量
- name: MYSQL_ROOT_PASSWORD
value: "123456"
# 输出 replicationcontroller 'mysql' created
# -----------输出结果-----------------------
NAME DESIRED CURRENT READY AGE
mysql 1 1 0 12m
# -----------输出结果-----------------------
NAME READY STATUS RESTARTS AGE
mysql-0stfs 0/1 ContainerCreating 0 12m
kubectl delete pod PODNAME --force --grace-period=0
# 删除NAMESPACE
kubectl delete namespace NAMESPACENAME --force --grace-period=0
- 64位的CentOS 7虚拟机
- 关闭防火墙
systemctl stop firewalld
- 安装etcd 和 Kubernetes(会自动安装Docker)
- 按照顺序启动所有的服务
systemctl start docker
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy
至此,一个单机版的Kubernetes集群环境就安装启动成功了
- 定义RC文件mysql-rc.yaml
kind: ReplicationController # 副本控制器RC
metadata:
name: mysql # RC 的名称,全局唯一
spec:
replicas: 1 # Pod副本期待数量
selector:
app: mysql # 符合目标的pod拥有此标签
template: # 根据此模板创建Pod的副本(实例)
metadata:
labels:
app: mysql # Pod副本拥有的标签,对应RC的selector
spec:
containers: # pod内容器的定义部分
- name: mysql # 容器的名称
image: mysql # 容器对应的Docker Image
ports:
- containerPort: 3306 # 容器应用监听的端口号
env: # 注入容器内的环境变量
- name: MYSQL_ROOT_PASSWORD
value: "123456"
- 发布到Kubernetes集群中
# 输出 replicationcontroller 'mysql' created
- 查看RC
# -----------输出结果-----------------------
NAME DESIRED CURRENT READY AGE
mysql 1 1 0 12m
K8s current 为0的问题https://blog.csdn.net/a506681571/article/details/86087456https://github.com/kubernetes/kubernetes/issues/11355#issuecomment-127378691
- 查看Pod创建情况
# -----------输出结果-----------------------
NAME READY STATUS RESTARTS AGE
mysql-0stfs 0/1 ContainerCreating 0 12m
- 查看详情
- 删除Pod
kubectl delete pod PODNAME --force --grace-period=0
# 删除NAMESPACE
kubectl delete namespace NAMESPACENAME --force --grace-period=0