一、前置准备
sudo swapoff -a
;若需永久禁用,编辑/etc/fstab
删除swap行);安装Docker(Kubernetes默认容器运行时,Ubuntu用sudo apt install docker.io -y
,CentOS用sudo yum install docker -y
),并启动服务(sudo systemctl enable --now docker
)。二、安装Kubernetes核心组件
sudo apt update
),安装传输工具(sudo apt install -y apt-transport-https curl
),添加Kubernetes GPG密钥(curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
),创建源列表文件(echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
)。cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
,内容参考官方文档),禁用SELinux(sudo setenforce 0
;编辑/etc/selinux/config
设置SELINUX=permissive
)。kubelet
、kubeadm
、kubectl
(Ubuntu用sudo apt install -y kubelet kubeadm kubectl
,CentOS用sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
);标记组件为hold(防止自动升级,sudo apt-mark hold kubelet kubeadm kubectl
)。三、初始化Master节点
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
(--pod-network-cidr
指定Pod网络CIDR,需与后续网络插件匹配)。admin.conf
复制到用户目录并设置权限):mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
```。
四、加入Worker节点
kubeadm join
命令(包含Token和CA证书哈希,如sudo kubeadm join 192.168.1.100:6443 --token abcdef.0123456789abcdef --discovery-token-ca-cert-hash sha256:xxxxxxxx...
)。五、安装网络插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
(等待插件部署完成,可通过kubectl get pods -n kube-system
查看Pod状态)。六、验证集群状态
kubectl get nodes
,若所有节点状态显示为Ready
,则说明集群部署成功。kubectl get pods --all-namespaces
,确认所有系统Pod(如kube-apiserver、kube-controller-manager)状态为Running
。