CentOS 7 使用 kubeadm 搭建 Kubernetes 集群
注意事项
-
检查是否关闭了 SELinux 和 iptables,阿里云这个系统版本默认已经关闭2.关闭 swap 目前 Kubernetes 和 Docker 尚不支持内存 Swap 空间的隔离机制
安装 Docker
使用阿里云的源进行安装:
创建 kubernetes 集群
-
-
更换阿里巴巴开源镜像站的源 - 安装 kubeadm, kubelet, kubectl
-
初始化 master 节点
配置 Docker设置 Kubernetes 需要的内核参数编写 init.yml 配置文件
应用初始化配置创建集群
集群创建成功后屏幕上会出现一些提示, 其中有一段代码类似于: kubeadm join 172.17.230.22:6443 –token gf6tzb.85cy2c4is8xbj01a –discovery-token-ca-cert- hash sha256:b4501f5f92f16665a0ea0583f0e802e66ecc94db6362d541819b8ddc748ab3c6 , 这 段代码是其他节点加入集群的命令, 需要保存好!!!
- 配置 kubectl
加入其它节点
在其它节点上执行此命令来加入 k8s 集群
安装 Calico 网络插件
-
下载 Calico 配置文件
-
-
-
修改 etcd 配置
最后一步的指定探测网卡我这里写的是 eth0 , 你需要指定为自己系统中的主网卡名称 指定探测网卡
3.创建 Calico
删除节点
先把要删除的节点设置为维护状态
执行删除node节点命令
删除集群
故障排查
-
Docker
报错:
解决办法: Centos 系统需要先检查 docker driver 是否是 systemd
参考: https://kubernetes.io/docs/setup/cri/ 解决方法: 需要提前设置内核参数
参考:http://i.yungeio.com/articles/14 -
Kubelet
报错:
解决方法: centos 7.3 部署 Kubernetes 1.15.5 的时候如果指定了 cgroupdriver=systemd, 在 init.yml 文件中也要为 kubelet 增加 cgroupdriver 的配置
-