centos

centos k8s集群扩容步骤有哪些

小樊
44
2025-06-02 10:53:42
栏目: 智能运维

在CentOS上扩展Kubernetes(k8s)集群的步骤主要包括以下几个方面:

扩容节点前的准备工作

  1. 准备新节点

    • 选择合适的计算资源,安装Docker或其他容器运行时。
    • 确保新节点满足Kubernetes的最低要求,如操作系统版本、内存和CPU资源等。
  2. 配置网络

    • 修改新节点的主机名。
    • 配置主机名称解析以确保在集群中的可识别性。
    • 分发SSH密钥以简化未来的登录过程。
  3. 关闭防火墙和SELinux

    • 关闭防火墙:systemctl stop firewalldsystemctl disable firewalld
    • 关闭SELinux:sed -i 's/enforcing/disabled/' /etc/selinux/config
  4. 禁用swap分区

    • 禁用swap交换分区:swapoff --all
    • 禁止开机自启动:sed -i '/swap/ s//#/' /etc/fstab
  5. 配置内核参数

    • 添加网桥过滤器和地址转发功能:
      cat >> /etc/sysctl.d/kubernetes.conf << EOF
      net.bridge.bridge-nf-call-ip6tables = 1
      net.bridge.bridge-nf-call-iptables = 1
      net.ipv4.ip_forward = 1
      EOF
      sysctl -p /etc/sysctl.d/kubernetes.conf
      
  6. 安装基础组件

    • 在新节点上安装Docker和Kubelet。
    • 配置镜像下载加速器(可选)。
    • 添加Kubernetes的yum源并安装kubeadm、kubelet、kubectl。

将新增节点加入K8S集群

  1. 初始化新节点

    • 在新节点上执行kubeadm init命令,初始化新节点。这将生成一个加入令牌和配置文件。
  2. 配置kubectl

    • 在新节点上配置kubectl,使其能够与集群通信:
      mkdir -p $HOME/.kubes
      sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
      sudo chown $(id -u):$(id -g) $HOME/.kube/config
      
  3. 加入新节点

    • 使用主节点的IP地址和初始化时生成的令牌,在新节点上执行kubeadm join命令:
      kubeadm join master-ip:master-port --token token --discovery-token-ca-cert-hash sha256:hash
      

验证节点加入

  1. 检查节点状态

    • 在Master节点上运行kubectl get nodes命令,确认新节点已成功加入集群。
  2. 部署网络插件(如果尚未部署):

    • 在主节点上执行以下命令,部署网络插件(例如Calico):
      kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
      
  3. 验证网络连接

    • 确保新节点能够与集群中的其他节点通信。

动态扩展

  1. 创建或选择Deployment

    • 使用以下命令创建一个Deployment:
      kubectl create deployment myapp --image myapp:latest
      
    • 或者选择现有的Deployment:
      kubectl get deployments
      
  2. 创建HPA资源

    • 使用以下命令创建HPA资源,根据CPU使用率自动扩展Pod数量:
      kubectl autoscale deployment myapp --cpu-percent 80 --min 1 --max 10
      
  3. 验证HPA配置

    • 使用以下命令查看HPA资源的状态:
      kubectl describe hpa myapp
      

0
看了该问题的人还看了