安装前注意事项
每台机器至少2CPU或更多
每台机器至少2G内存或更多
为了保障kubelet的正常工作,必须禁用交换分区确认runtime
1.默认情况下,k8s使用的容器运行时接口(CRI)来与你所选择的容器运行时交互。
2.如果你不指定运行时,则 kubeadm 会自动尝试检测到系统上已经安装的运行时, 方法是扫描一组众所周知的 Unix 域套接字。 下面的表格列举了一些 kubeadm 查找的容器运行时及其对应的套接字路径:
3.运行时 域套接字
Docker Engine /var/run/dockershim.sock
containerd /run/containerd/containerd.sock
CRI-O /var/run/crio/crio.sock
4.如果同时检测到 Docker Engine 和 containerd,kubeadm 将优先考虑 Docker Engine。 这是必然的,因为 Docker 18.09 附带了 containerd 并且两者都是可以检测到的, 即使你仅安装了 Docker。 如果检测到其他两个或多个运行时,kubeadm 输出错误信息并退出。
5.kubelet 可以使用已弃用的 dockershim 适配器与 Docker Engine 集成(dockershim 是 kubelet 本身的一部分)。安装kubeadm、kubelet、kubectl
需要在每台机器上安装以下的软件包:
kubeadm:用来初始化集群的指令。
kubelet:在集群中的每个节点上用来启动 Pod 和容器等。
kubectl:用来与集群通信的命令行工具。
安装步骤
1.更新 apt 包索引,并安装使用kubernetes apt仓库所需要的包
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
2.下载Google Cloud公开签名密钥
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
3.添加Kubernetes apt仓库
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
4.更新apt 包索引,安装kubelet、kubectl、kubeadm
指定安装版本,软件名称后添加“=1.23.0-00”
sudo apt-get update
sudo apt-get install -y kubelet=1.23.0-00 kubeadm=1.23.0-00 kubectl=1.23.0-00
sudo apt-mark hold kubelet kubeadm kubectl