Kubernetes集群部署教程三·Worker节点

Kubernetes(k8s)是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理,具备可移植、可扩展、自动化等特点。

本系列教程讲述在CentOS7系统中k8s集群的部署过程,本节内容重点讲述如何部署worker节点。

核心组件介绍

名称 介绍
kubelet Kubernetes的Agent服务,将每个Pod转换成一组容器,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等工作。
kube-proxy 在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。

配置Worker环境

先完成Kubernetes集群部署教程一·环境配置

0x01 安装应用包

在Worker上安装以下应用包:

# yum -y install ebtables ethtool
yum -y install docker-ce kubelet kubeadm kubectl
systemctl enable docker kubelet
systemctl start docker

0x02 检查cgroup

修改/usr/lib/systemd/system/docker.service,在ExecStart=/usr/bin/dockerd行末添加参数:

--exec-opt native.cgroupdriver=systemd

然后重启服务:

systemctl daemon-reload
systemctl restart docker

更多配置请查阅Kubernetes集群部署教程二·Master节点

配置Worker节点

1x01 导入镜像文件

同样因为某些原因,国内无法访问国外的某些资源,这里我们改用阿里云的镜像服务器。

#!/bin/bash

images=(kube-proxy:v1.19.2 pause:3.2)

for image in ${images[@]}
do
  docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/${image}
  docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/${image} k8s.gcr.io/${image}
done

1x02 加入集群

将worker节点加入集群:

kubeadm join 10.10.200.200:8443 --token bf1bni.w11z5kymeaomqddr \
--discovery-token-ca-cert-hash sha256:26e4de3f6e72ed2b143627cf10068c84e094c2fa30c0aa2fee32f53a2b0254f2

如果 kubeadm join ... 操作执行失败,必须通过以下命令重置,然后重新操作:

kubeadm reset

1x03 配置kubectl

从master节点上把admin.conf复制过来:

scp /etc/kubernetes/admin.conf root@k8sw01:~

回worker节点进行配置:

mkdir ~/.kube
mv ~/admin.conf ~/.kube/config
echo "export KUBECONFIG=~/.kube/config" >> ~/.bash_profile
source ~/.bash_profile

在worker节点查看节点状态:

kubectl get po -o wide -n kube-system

1x04 配置网络

根据master节点的网络方案部署worker节点的网络方案:

# 本系列教程以flannel为例
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

# 网格模块也可以使用calico
# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
# kubectl apply -f https://docs.projectcalico.org/v3.3/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml

本站分享点下载配置文件。

维护Worker节点

重新部署worker

kubectl drain <node_name> --delete-local-data --force --ignore-daemonsets
kubectl delete node <node_name>

Worker节点删除flannel网段

kubeadm reset
ifconfig cni0 down
ip link delete cni0
ifconfig flannel.1 down
ip link delete flannel.1
rm -rf /var/lib/cni/

原创文章禁止转载:技术学堂 » Kubernetes集群部署教程三·Worker节点

精彩评论

9+7=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏