首页主机资讯Ubuntu Kubernetes 集群如何扩展

Ubuntu Kubernetes 集群如何扩展

时间2025-11-21 14:44:03发布访客分类主机资讯浏览424
导读:Ubuntu Kubernetes 集群扩展指南 一 扩展方式总览 水平扩展:增加工作节点(Worker)以提升集群可调度容量与整体吞吐。 控制平面扩展:新增控制平面节点(Master)提升高可用与容灾能力。 工作负载扩展:通过 HPA/...

Ubuntu Kubernetes 集群扩展指南

一 扩展方式总览

  • 水平扩展:增加工作节点(Worker)以提升集群可调度容量与整体吞吐。
  • 控制平面扩展:新增控制平面节点(Master)提升高可用与容灾能力。
  • 工作负载扩展:通过 HPA/VPA/Cluster Autoscaler 自动或手动调整应用副本数与节点规模。

二 准备新节点与基础检查

  • 系统要求:建议使用 Ubuntu 20.04/22.04,内核参数与容器运行时一致,确保与现有节点网络互通。
  • 基础配置:
    • 关闭 swapsudo swapoff -a 并在 /etc/fstab 中注释 swap 行。
    • 主机名与解析:设置唯一 hostname,并在所有节点维护一致的 /etc/hosts 或使用 DNS
    • 时间同步:启用 NTP/chrony,避免证书与调度异常。
    • 防火墙放行(示例以 UFW 为例,端口按实际 CNI/Service 调整):
      • SSH:sudo ufw allow 22/tcp
      • Kubelet API:sudo ufw allow 10250/tcp
      • NodePort:sudo ufw allow 30000:32767/tcp
      • Calico BGP:179/tcp;Typha:5473/tcp;VXLAN:4789/udp
  • 安装组件:在新节点安装与集群版本一致的 containerd/kubelet/kubeadm(保持与控制面一致)。

三 使用 kubeadm 增加工作节点

  • 在控制面节点生成加入命令(若 token 过期可重建):
    • kubeadm token create --print-join-command
  • 在新节点执行输出的 kubeadm join 命令,加入成功后返回控制面查看:
    • kubectl get nodes -o wide
  • 验证要点:新节点状态为 Ready,容器运行时与 kubelet 版本匹配,网络插件已覆盖新节点。

四 扩展控制平面高可用

  • 前提:初始引导需配置 controlPlaneEndpoint(VIP 或 DNS:端口),并在 ClusterConfiguration 中设置 certSANs 包含所有控制面与可能的节点名称/IP,以便证书与 API 访问正确签发与校验。
  • 新增控制面节点步骤:
    • 安装同版本组件并准备 kubeconfig/cert 目录。
    • 使用带 --upload-certskubeadm init 输出或 kubeadm join ... --control-plane --certificate-key < key> 加入为控制面节点。
    • 加入后执行 kubectl get nodeskubectl get pods -n kube-system,确认 kube-apiserver/etcd/controller-manager/scheduler 就绪。
  • 提示:若早期未设置 controlPlaneEndpoint/certSANs,需按实际拓扑重新生成并分发证书后再扩容控制面。

五 工作负载与集群自动扩展

  • 应用副本扩展(HPA):
    • 示例(CPU 50% 阈值,副本 1–10):
      apiVersion: autoscaling/v2
      kind: HorizontalPodAutoscaler
      metadata:
        name: my-app-hpa
      spec:
        scaleTargetRef:
          apiVersion: apps/v1
          kind: Deployment
          name: my-app
        minReplicas: 1
        maxReplicas: 10
        metrics:
        - type: Resource
          resource:
            name: cpu
            targetAverageUtilization: 50
      
    • 应用:kubectl apply -f hpa.yaml
  • 节点自动扩缩(Cluster Autoscaler):
    • 部署与云厂商对接的 ClusterAutoscaler,为节点池配置最小/最大节点数与扩缩策略,实现按需新增或回收节点。
  • 垂直扩缩(VPA):
    • 适用于单实例资源优化,结合 HPA 谨慎使用,避免与资源请求/限制冲突。
  • 调度与污点容忍:
    • 为新节点打标签并配置 nodeSelector/污点容忍,将特定负载调度到新节点或专用节点池。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Kubernetes 集群如何扩展
本文地址: https://pptw.com/jishu/753314.html
Kubernetes 版本在 Ubuntu 上如何选择 Ubuntu Mariadb如何进行资源限制

游客 回复需填写必要信息