温馨提示×

k8s部署到centos的流程是什么

小樊
46
2025-11-26 03:21:04
栏目: 智能运维

在CentOS上部署Kubernetes(通常简称为k8s)集群涉及多个步骤。以下是一个基本的流程,用于在CentOS上手动部署单节点或多节点Kubernetes集群:

准备工作

  1. 更新系统

    sudo yum update -y
    
  2. 安装必要的软件包

    sudo yum install -y kubelet kubeadm kubectl
    sudo systemctl enable kubelet
    sudo systemctl start kubelet
    
  3. 配置防火墙: 允许Kubernetes相关的端口通信。

    sudo firewall-cmd --permanent --zone=trusted --add-interface=kubelet
    sudo firewall-cmd --permanent --zone=trusted --add-service=http
    sudo firewall-cmd --permanent --zone=trusted --add-service=https
    sudo firewall-cmd --reload
    
  4. 设置主机名和hosts文件: 确保每个节点都有唯一的主机名,并在所有节点的/etc/hosts文件中添加其他节点的IP地址和主机名。

部署单节点Kubernetes集群

  1. 初始化主节点

    sudo kubeadm init --pod-network-cidr=10.244.0.0/16
    

    这将下载必要的镜像,初始化Kubernetes控制平面,并生成加入集群的命令。

  2. 配置kubectl: 初始化完成后,运行以下命令以配置kubectl客户端:

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  3. 部署网络插件: 选择一个网络插件(如Flannel、Calico等)并部署。例如,使用Flannel:

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    

部署多节点Kubernetes集群

  1. 准备工作节点: 在每个工作节点上执行以下步骤:

    • 关闭swap:
      sudo swapoff -a
      
    • 设置主机名和hosts文件(如上所述)。
  2. 加入集群: 在每个工作节点上运行主节点初始化时生成的加入命令。例如:

    sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    

验证集群状态

  1. 检查主节点状态

    kubectl get nodes
    
  2. 检查工作节点状态: 确保所有工作节点都已成功加入并处于Ready状态。

后续步骤

  • 部署应用:使用kubectl部署你的应用程序。
  • 监控和日志:设置监控和日志收集系统,如Prometheus和Grafana。
  • 备份和恢复:定期备份Kubernetes集群的数据,并测试恢复流程。

请注意,这只是一个基本的部署流程。实际生产环境中可能需要更多的配置和优化,例如设置高可用性控制平面、使用Ingress控制器、配置持久化存储等。建议参考Kubernetes官方文档或使用自动化工具(如Kubespray)来简化部署过程。

0