在Ubuntu上搭建Kubernetes集群通常使用kubeadm工具,以下是基于Ubuntu 20.04及以上版本的详细步骤:
环境准备
- 系统要求:Ubuntu 20.04或22.04,所有节点需有静态IP、唯一主机名,且能相互通信。
- 关闭交换分区:执行
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组件
添加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命令。 - 配置kubectl:
mkdir -p $HOME/.kube,sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config,sudo chown $(id -u):$(id -g) $HOME/.kube/config。 - 安装网络插件:如Calico,执行
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml。 - 加入工作节点:在工作节点执行主节点生成的
kubeadm join命令。
验证集群
在主节点执行kubectl get nodes,若所有节点状态为Ready,则集群搭建成功。