在Ubuntu上搭建Kubernetes集群通常使用kubeadm工具,以下是基于Ubuntu 20.04及以上版本的详细步骤:
sudo swapoff -a
,并修改/etc/fstab
永久禁用。sudo apt install -y apt-transport-https ca-certificates curl software-properties-common chrony
。以containerd为例,执行以下命令:
sudo apt install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd
添加Kubernetes仓库并安装kubeadm、kubelet和kubectl:
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=<主节点IP>
,按提示完成配置,生成kubeadm join
命令。mkdir -p $HOME/.kube
,sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
,sudo chown $(id -u):$(id -g) $HOME/.kube/config
。kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
。kubeadm join
命令。在主节点执行kubectl get nodes
,若所有节点状态为Ready,则集群搭建成功。