centos

centos k8s部署后如何配置网络

小樊
45
2025-07-12 22:36:01
栏目: 智能运维

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

基础配置

  1. 关闭防火墙
    sudo systemctl stop firewalld
    sudo systemctl disable firewalld
    
  2. 关闭swap
    sudo swapoff -a
    sudo sed -i '/ swap / s/1/g' /etc/fstab
    
  3. 关闭SELinux
    sudo setenforce 0
    sudo sed -i 's/SELINUX.*/SELINUXdisabled/' /etc/selinux/config
    
  4. 设置主机名
    hostnamectl set-hostname k8s-master
    hostnamectl set-hostname k8s-worker1
    hostnamectl set-hostname k8s-worker2
    
  5. 配置hosts文件: 编辑 /etc/hosts 文件,添加节点IP和主机名:
    192.168.10.155 k8s-master
    192.168.10.234 k8s-worker1
    192.168.10.147 k8s-worker2
    
  6. 设置时间同步
    sudo yum install -y ntpdate
    sudo ntpdate time.windows.com
    sudo systemctl enable ntpdate
    sudo systemctl start ntpdate
    

网络插件配置

Kubernetes本身不实现具体的网络方案,而是支持以插件形式接入网络方案。常用的网络插件有Flannel、Calico等。以下是Flannel网络方案的配置:

Flannel UDP模式

  1. 安装Flannel
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
  2. 验证配置
    kubectl get pods --all-namespaces
    

Kubernetes网络模型

Kubernetes的网络模型要求在不使用NAT的情况下,集群中的Pod能够与任意其他Pod进行通信。每个Pod都有自己的IP地址,并且可以直接与其他Pod通信。

具体操作示例

以下是一个具体的操作示例,展示如何在CentOS 7上使用kubeadm部署Kubernetes集群并进行网络配置:

环境信息

准备工作

在所有节点(包括Master和Worker节点)上执行以下步骤:

  1. Linux基础配置
    • 关闭防火墙、swap、SELinux和设置时区。
    • 配置内核参数,将桥接的IPv4流量传递到iptables的链。
  2. 安装Docker
    • 添加镜像源并安装Docker。
  3. 安装kubeadm、kubelet和kubectl
    • 添加镜像源并安装kubeadm、kubelet和kubectl。
  4. 部署Kubernetes集群
    • 设置主机名。
    • 配置hosts文件。
    • 初始化Master节点:
      kubeadm init --kubernetes-version 1.18.0 --apiserver-advertise-address 192.168.0.51 --image-repository registry.aliyuncs.com/google_containers --service-cidr 10.0.0.0/16 --pod-network-cidr 10.244.0.0/16
      
    • 加入Worker节点:
      kubeadm join 192.168.0.51:6443 --token token --discovery-token-ca-cert-hash sha256: hash
      

通过以上步骤,你可以在CentOS上成功配置Kubernetes网络。确保每个步骤都正确执行,以保证集群的正常运行。

0
看了该问题的人还看了