购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 基本组件安装

前两节的安装步骤和Kubeadm方式并无区别,接下来对于Kubernetes、Etcd等组件的安装将采用二进制文件的方式进行安装。

本节主要安装的是集群中用到的各种组件,比如Docker-ce、Containerd、Kubernetes组件等。同样,读者可以自行选择Containerd或Docker作为Kubernetes的Runtime。

2.3.1 Containerd作为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

2.3.2 Docker作为Runtime

所有节点安装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

2.3.3 K8s及Etcd的安装

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分支(其他版本可以切换到其他分支,不需要更改为具体的小版本): HlFgAtqm3rRLy/0XzCIEIBFceNnzg2Z7Mwi6mV+xNvnJB1WNx4RldwWvxFpzlKak

     # cd k8s-ha-install && git checkout manual-installation-v1.22.x
点击中间区域
呼出菜单
上一章
目录
下一章
×

打开