刚接触 Kubernetes,按照教程,基于 CentOS7.3
一步步做,中间遇到一些问题,就在此记录一下,给同样入门的新手一些帮助。
安装配置kubernetes
1、关闭CentOS防火墙
# systemctl disable firewalld
# systemctl stop firewalld
2、安装etcd和Kubernetes (自动安装Docker)
# yum install -y etcd kubernetes
3、修改两个配置文件
# vi /etc/sysconfig/docker
// 将OPTIONS设置为:OPTIONS='--selinux-enabled=false --insecure-registry gcr.io'
# vi /etc/kubernetes/apiserver
// 将 --admission_control 参数中的 ServiceAccount 删除
4、按顺序启动如下服务:
# systemctl start etcd
# systemctl start docker
# systemctl start kube-apiserver
# systemctl start kube-controller-manager
# systemctl start kube-scheduler
# systemctl start kubelet
# systemctl start kube-proxy
至此,一个单机版的Kubernetes集群环境已经安装完成
配置并启动 MYSQL 服务
1、首先在任意目录下创建mysql目录,并进入该目录下,输入如下命令:
# vi mysql-rc.yaml
// 编辑文件内容如下:
apiVersion: v1
kind: ReplicationController
metadata:
name: mysql
spec:
replicas: 1
selector:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
配置文件具体什么作用自己百度,我只想强调新手最容易忽视的错误点,忽略了会各种报错
1、严格缩进格式,缩进两个空格符
2、冒号 : 和后面的内容要有一个空格
3、短横杠 - 要和上一行单词对齐,并且和后面内容之间空一个空格
编辑完成后,保存退出,并在该目录下执行如下命令:
# kubectl create -f mysql-rc.yaml
然后我们查看刚刚创建的pod信息:
# kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-cr512 0/1 ContainerCreating 0 55m
等待一段时间之后发现还是ContainerCreating状态,正常运行应该是Running状态,经过查找资料,解决办法是执行如下命令:
# yum install *rhsm*
执行该命令之后,等待一些时间后再次执行命令即可发现已经正常运行:
# kubectl get pod
NAME READY STATUS RESTARTS AGE
mysql-cr512 1/1 Running 0 55m