前两节的安装步骤和Kubeadm方式并无区别,接下来对于Kubernetes、Etcd等组件的安装将采用二进制文件的方式进行安装。
本节主要安装的是集群中用到的各种组件,比如Docker-ce、Containerd、Kubernetes组件等。同样,读者可以自行选择Containerd或Docker作为Kubernetes的Runtime。
所有节点安装docker-ce-20.10:
# yum install docker-ce-20.10.* docker-ce-cli-20.10.* -y
由于并不是每个节点都需要Docker引擎,因此无须启动Docker,只需要配置和启动Containerd即可。
首先配置Containerd所需的模块(所有节点):
# cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf overlay br_netfilter EOF
所有节点加载模块:
# modprobe -- overlay # modprobe -- br_netfilter
所有节点配置Containerd所需的内核:
# cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf net.bridge.bridge-nf-call-iptables = 1 net.ipv4.ip_forward = 1 net.bridge.bridge-nf-call-ip6tables = 1 EOF
所有节点加载内核:
# sysctl --system
所有节点配置Containerd的配置文件:
# mkdir -p /etc/containerd # containerd config default | tee /etc/containerd/config.toml
所有节点将Containerd的Cgroup改为Systemd:
# vim /etc/containerd/config.toml
找到containerd.runtimes.runc.options,添加SystemdCgroup = true,如图2.1所示。
图2.1 Containerd Cgroup配置
所有节点将sandbox_image的Pause镜像改成符合自己版本的地址:registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.6,如图2.2所示。
图2.2 Containerd Pause配置
所有节点启动Containerd,并配置开机自启动:
# systemctl daemon-reload # systemctl enable --now containerd
所有节点配置crictl客户端连接的Runtime位置:
# cat > /etc/crictl.yaml <<EOF runtime-endpoint: unix:///run/containerd/containerd.sock image-endpoint: unix:///run/containerd/containerd.sock timeout: 10 debug: false EOF
所有节点安装docker-ce 20.10:
# yum install docker-ce-20.10.* docker-ce-cli-20.10.* -y
由于新版Kubelet建议使用systemd,因此把Docker的CgroupDriver也改成systemd:
所有节点设置开机自启动Docker:
# systemctl daemon-reload && systemctl enable --now docker
Master01下载Kubernetes安装包(1.22.0需要更改为最新或读者想要安装的指定版本):
# wget https://dl.k8s.io/v1.22.0/kubernetes-server-linux-amd64.tar.gz
Master01下载Etcd安装包:
解压Kubernetes安装文件至bin目录:
解压Etcd安装文件至bin目录:
解压后即为安装成功,可以查看当前的版本:
# kubelet --version Kubernetes v1.22.0 # etcdctl version etcdctl version: 3.5.0 API version: 3.5
将组件发送到其他节点:
所有节点创建/opt/cni/bin目录:
# mkdir -p /opt/cni/bin
Master01节点切换到1.22.x分支(其他版本可以切换到其他分支,不需要更改为具体的小版本):
# cd k8s-ha-install && git checkout manual-installation-v1.22.x