温馨提示×

如何在centos上搭建k8s环境

小樊
66
2025-08-23 01:04:58
栏目: 智能运维

在CentOS上搭建Kubernetes(k8s)环境,可以按照以下步骤进行:

1. 准备工作

  • 确保系统版本:CentOS 7.x 或 CentOS 8.x。
  • 关闭SELinux:编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 改为 SELINUX=disabled,然后重启系统。
  • 关闭防火墙:使用 systemctl stop firewalldsystemctl disable firewalld 命令关闭防火墙。
  • 配置网络:确保所有节点之间可以互相通信,配置静态IP地址或使用DHCP。

2. 安装Docker

Kubernetes需要Docker作为容器运行时。在CentOS上安装Docker的步骤如下:

  • 更新yum包索引:yum update -y
  • 安装必要的软件包:yum install -y yum-utils device-mapper-persistent-data lvm2
  • 添加Docker仓库:yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 安装Docker CE:yum install docker-ce docker-ce-cli containerd.io
  • 启动Docker服务:systemctl start docker
  • 设置Docker开机自启:systemctl enable docker

3. 安装Kubernetes组件

在所有节点上执行以下命令来安装Kubernetes组件:

  • 安装kubeletyum install -y kubelet kubeadm kubectl
  • 启动kubelet服务systemctl start kubelet
  • 设置kubelet开机自启systemctl enable kubelet

4. 初始化Kubernetes集群

在主节点(Master Node)上执行以下命令来初始化Kubernetes集群:

  • kubeadm init --pod-network-cidr=10.244.0.0/16
  • 这将生成加入集群的token和一些配置文件。

按照提示完成以下操作:

  • 将生成的token复制到工作节点(Worker Nodes)上。
  • 在工作节点上执行 kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash> 命令加入集群。

5. 部署网络插件

Kubernetes需要网络插件来管理Pod之间的通信。常用的网络插件有Calico、Flannel等。以下以Calico为例:

  • 在主节点上执行 kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml 命令部署Calico网络插件。

6. 验证集群状态

在主节点上执行以下命令来验证集群状态:

  • kubectl get nodes:查看所有节点的状态。
  • kubectl get pods --all-namespaces:查看所有Pod的状态。

如果所有节点和Pod都处于正常状态,那么恭喜你,Kubernetes集群已经成功搭建!

注意事项

  • 在生产环境中,建议使用更高版本的CentOS(如CentOS Stream 8)。
  • 根据实际需求调整网络插件的配置。
  • 定期备份Kubernetes集群的重要数据和配置文件。

0