温馨提示×

centos部署k8s时如何配置网络

小樊
48
2025-05-15 06:22:43
栏目: 智能运维

在CentOS上部署Kubernetes(k8s)时,配置网络是一个关键步骤。以下是配置网络的详细步骤:

1. 准备工作

  • 确保系统更新

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

    sudo yum install -y kubeadm kubelet kubectl docker 
  • 启动并启用Docker服务

    sudo systemctl start docker sudo systemctl enable docker 
  • 配置Docker以使用overlay2网络驱动: 编辑/etc/docker/daemon.json文件,添加以下内容:

    { "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2" } 

    然后重启Docker服务:

    sudo systemctl restart docker 

2. 初始化Kubernetes集群

  • 初始化主节点

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

    这个CIDR块用于Pod网络,确保它不与你的其他网络冲突。

  • 设置kubectl上下文

    mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config 
  • 安装网络插件: 推荐使用Calico作为网络插件,因为它性能优越且易于配置。

    kubectl apply -f https://docs.projectcalico.org/v3.25/manifests/calico.yaml 

3. 验证网络配置

  • 检查Pod网络是否正常工作: 创建一个测试Pod来验证网络连接:
    kubectl run nginx --image=nginx --port=80 --dry-run=client -o yaml | kubectl apply -f - kubectl get pods 
    然后尝试访问Pod的IP地址或通过NodePort访问Nginx服务。

4. 加入工作节点

  • 获取加入令牌: 在主节点上运行以下命令获取加入令牌:

    kubeadm token create --print-join-command 
  • 在工作节点上执行加入命令: 将上述命令的输出复制到工作节点上并执行,例如:

    sudo kubeadm join <MASTER_NODE_IP>:6443 --token <TOKEN> --discovery-token-ca-cert-hash sha256:<HASH> 

5. 验证集群状态

  • 检查所有节点的状态

    kubectl get nodes 
  • 检查Pod的状态

    kubectl get pods --all-namespaces 

6. 配置网络策略(可选)

如果你需要更细粒度的网络控制,可以配置Calico的网络策略。

通过以上步骤,你应该能够在CentOS上成功部署并配置Kubernetes集群的网络。如果有任何问题,请参考Kubernetes和Calico的官方文档进行排查。

0