Ubuntu Kubernetes集群扩展方法

Ubuntu Kubernetes集群扩展主要有**水平扩展(增加节点)垂直扩展(增加节点资源)**两种方式,具体方法如下:

一、水平扩展(增加节点)

  1. 准备新节点

    • 安装Ubuntu系统,确保满足Kubernetes最低硬件要求(如内存、CPU)。
    • 安装Docker和Kubernetes组件(kubeadmkubeletkubectl)。
  2. 加入集群

    • 在主控节点执行 kubeadm token create --print-join-command,获取加入命令。
    • 在新节点执行该命令,指定主控节点IP、端口及token(如 sudo kubeadm join 192.168.1.100:6443 --token abc123 --discovery-token-ca-cert-hash sha256:xxx)。
    • 验证节点状态:在主控节点运行 kubectl get nodes,确认新节点状态为“Ready”。
  3. 配置网络插件(可选)

    • 若使用Calico/Flannel等CNI插件,需在新节点上部署对应配置(如 kubectl apply -f calico.yaml)。

二、垂直扩展(增加节点资源)

  1. 修改节点资源参数

    • 编辑节点的kubelet配置文件(通常位于 /var/lib/kubelet/config.yaml),调整 cpuManagerPolicymemoryManagerPolicy 等参数。
  2. 重启节点使配置生效

    • 执行 sudo systemctl restart kubelet 重启节点。

三、自动扩展(推荐)

  1. Horizontal Pod Autoscaler (HPA)

    • 为Deployment或StatefulSet创建HPA,根据CPU/内存利用率自动扩缩Pod数量。
    • 示例命令:
      kubectl autoscale deployment my-app --cpu-percent=50 --min=1 --max=10
      
  2. Cluster Autoscaler(集群自动扩缩)

    • 部署Cluster Autoscaler组件,根据未调度Pod的资源需求自动添加或移除节点(需云厂商支持或手动管理节点)。

注意事项

  • 水平扩展需确保新节点与集群网络互通,且已安装相同版本的Kubernetes组件。
  • 垂直扩展需谨慎操作,避免资源分配不合理导致节点不稳定。
  • 生产环境建议结合HPA和集群自动扩缩实现动态资源管理。

参考来源: