-
准备虚拟化环境:
- 在MacOS上安装VirtualBox/VMware Fusion及Vagrant。
- 通过Vagrant创建2台Ubuntu虚拟机(1主1从),示例Vagrantfile配置网络、内存(≥2GB/节点)、CPU(≥2核/节点)。
-
节点基础配置:
- 所有节点执行:
sudo swapoff -a sudo sed -i '/ swap / s/^/#/' /etc/fstab echo "<主节点IP> master" | sudo tee -a /etc/hosts
- 设置时间同步:
sudo apt install ntpdate && sudo ntpdate time.windows.com
- 所有节点执行:
-
安装容器运行时及K8s组件:
-
所有节点执行:
# 安装Docker curl -fsSL https://get.docker.com | bash sudo usermod -aG docker $USER # 安装kubeadm/kubelet/kubectl sudo apt-get update && sudo apt-get install -y apt-transport-https 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 sudo apt-get update sudo apt-get install -y kubelet=1.28.0-00 kubeadm=1.28.0-00 kubectl=1.28.0-00 sudo apt-mark hold kubelet kubeadm kubectl
-
-
主节点初始化:
sudo kubeadm init \ --apiserver-advertise-address=<主节点IP> \ --pod-network-cidr=192.168.0.0/16 \ --image-repository registry.aliyuncs.com/google_containers mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 记录输出的
kubeadm join
命令备用。
- 记录输出的
-
部署网络插件(Calico):
kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26.1/manifests/calico.yaml
-
工作节点加入集群:
- 在工作节点执行主节点提供的
kubeadm join
命令(需带--v=5
参数调试时添加)。
- 在工作节点执行主节点提供的
-
MacOS本地管理配置:
- 将主节点的
/etc/kubernetes/admin.conf
复制到MacOS的~/.kube/config
,使用scp
命令。 - 安装kubectl:
brew install kubectl
- 验证:
kubectl get nodes -o wide
- 将主节点的
故障排查要点:
- 节点NotReady:检查calico Pod是否Running、kubelet日志(
journalctl -u kubelet -f
) - 镜像拉取失败:在kubeadm init时指定阿里云镜像仓库
- 证书问题:删除
/etc/kubernetes/pki
后重新init