首页主机资讯centos k8s安装网络设置方法

centos k8s安装网络设置方法

时间2025-10-02 22:44:03发布访客分类主机资讯浏览582
导读:CentOS环境下Kubernetes网络设置方法 一、前置准备:系统环境配置 在配置Kubernetes网络前,需完成以下基础环境设置,确保集群节点间网络互通: 关闭防火墙:systemctl stop firewalld &&...

CentOS环境下Kubernetes网络设置方法

一、前置准备:系统环境配置

在配置Kubernetes网络前,需完成以下基础环境设置,确保集群节点间网络互通:

  1. 关闭防火墙
    systemctl stop firewalld &
        &
         systemctl disable firewalld
    
  2. 禁用SELinux
    setenforce 0
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
    
  3. 关闭Swap分区
    swapoff -a
    sed -i '/swap/s/^/#/' /etc/fstab  # 永久禁用
    
  4. 配置静态IP
    编辑网络接口配置文件(如/etc/sysconfig/network-scripts/ifcfg-ens33),设置静态IP、子网掩码、网关和DNS:
    DEVICE=ens33
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.1.100  # 替换为节点实际IP
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=114.114.114.114
    
    重启网络服务使配置生效:
    systemctl restart network
    
  5. 配置主机名与hosts文件
    • 设置主机名:hostnamectl set-hostname k8s-master(Master节点)/k8s-node1(Worker节点)
    • 编辑/etc/hosts,添加节点IP与主机名映射:
      192.168.1.100 k8s-master
      192.168.1.101 k8s-node1
      192.168.1.102 k8s-node2
      

二、安装Kubernetes核心组件

  1. 安装kubeadm、kubelet、kubectl
    yum install -y kubeadm kubelet kubectl --disable-gpg-check
    systemctl enable kubelet &
        &
     systemctl start kubelet
    
  2. 初始化Master节点
    使用kubeadm init命令初始化集群,必须指定Pod网络CIDR(与后续网络插件网段一致,如10.244.0.0/16):
    kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.1.100
    
    初始化完成后,按提示配置kubectl
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    

三、安装网络插件(关键步骤)

Kubernetes需通过网络插件实现Pod间通信,常见插件及安装方法如下:

1. Calico(企业级,支持网络策略)

Calico是基于BGP的三层网络插件,适合中大规模生产环境,支持精细的网络策略控制。

  • 下载并应用配置
    curl -O https://docs.projectcalico.org/v3.26/manifests/calico.yaml
    kubectl apply -f calico.yaml
    
  • 验证安装
    查看Calico组件状态:
    kubectl get pods -n calico-system
    
    正常输出应显示所有Pod为Running状态。
2. Flannel(轻量Overlay,适合开发测试)

Flannel是Overlay网络插件,配置简单,资源消耗低,适合中小规模集群。

  • 下载并应用配置
    curl -O https://raw.githubusercontent.com/flannel-io/flannel/v0.22.0/Documentation/kube-flannel.yml
    kubectl apply -f kube-flannel.yml
    
  • 可选:切换为Host-GW后端(提升同局域网性能):
    编辑kube-flannel.yml,找到net-conf.json部分,将Backend.Type改为host-gw
    "net-conf.json": {
    
      "Network": "10.244.0.0/16",
      "Backend": {
    "Type": "host-gw"}
    
    }
    
    
3. Cilium(eBPF加速,高性能场景)

Cilium基于eBPF技术,性能远超传统插件,适合高频交易、大流量电商等场景,需内核≥5.4。

  • 安装Helm(简化配置):
    curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
    chmod 700 get_helm.sh
    ./get_helm.sh
    
  • 添加Cilium仓库并部署
    helm repo add cilium https://helm.cilium.io
    helm repo update
    helm install cilium cilium/cilium --namespace kube-system \
      --set k8sServiceHost=192.168.1.100 \  # 替换为API Server IP
      --set k8sServicePort=6443
    

四、验证网络功能

  1. 检查网络插件Pod状态
    确保所有网络插件组件运行正常:
    kubectl get pods -n kube-system | grep -E 'calico|flannel|cilium'
    
  2. 测试Pod跨节点通信
    • 创建测试Pod:
      kubectl run nginx --image=nginx --port=80
      kubectl run test-pod --image=busybox --rm -it --restart=Never -- sh
      
    • test-pod中访问nginx Pod的IP(通过kubectl get pod nginx -o jsonpath='{ .status.podIP} '获取):
      wget -qO- http://<
          nginx-pod-ip>
          
      
      若能访问,则说明网络配置成功。

注意事项

  • Pod网段一致性kubeadm init中的--pod-network-cidr必须与网络插件的Pod网段一致(如Calico的CALICO_IPV4POOL_CIDR)。
  • 节点加入集群:Worker节点需使用Master节点初始化输出的kubeadm join命令加入,确保节点状态为Ready
    kubectl get nodes
    
  • 生产环境建议:使用Calico或Cilium等企业级插件,开启网络策略控制,并定期备份配置。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos k8s安装网络设置方法
本文地址: https://pptw.com/jishu/717768.html
怎样优化centos分区性能 centos dopra缺点是什么

游客 回复需填写必要信息