在VMware环境中通过kubeadm部署Kubernetes集群的核心步骤如下:
-
环境准备
- 创建3台以上虚拟机(1主多从),建议Ubuntu 22.04/CentOS 8+
- 确保互通的主机名解析(/etc/hosts或DNS)
- 关闭swap(sudo swapoff -a;注释/etc/fstab中的swap项)
- 开放6443(API)、2379-2380(etcd)、10250(kubelet)等端口
-
依赖安装
- 所有节点执行:
# 容器运行时(以containerd为例) apt-get install -y containerd # 安装kubeadm三件套 apt-get install -y curl apt-transport-https ca-certificates 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' > /etc/apt/sources.list.d/kubernetes.list apt-get update && apt-get install -y kubelet kubeadm kubectl
- 所有节点执行:
-
集群初始化
- 仅在Master节点执行:
kubeadm init \ --apiserver-advertise-address=172.16.10.100 \ --pod-network-cidr=10.244.0.0/16
- 记录输出的
kubeadm join
命令(含token) - 生成kubeconfig:
mkdir -p $HOME/.kube && cp /etc/kubernetes/admin.conf $HOME/.kube/config
- 仅在Master节点执行:
-
网络插件部署
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
-
Worker节点加入
- 在所有Worker节点执行步骤2后,运行
kubeadm join
命令
- 在所有Worker节点执行步骤2后,运行
-
验证集群
kubectl get nodes -o wide kubectl get pods -n kube-system
VMware特定注意事项
- 虚拟机网卡建议选择VMXNET3类型提升性能
- 启用ESXi主机的Promiscuous Mode以支持NodePort
- 若使用vSphere Cloud Provider,需配置
--cloud-provider=vsphere
参数