温馨提示×

CentOS上Kubernetes的网络配置有哪些要点

小樊
34
2025-03-23 22:59:51
栏目: 智能运维
Centos服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在CentOS上配置Kubernetes网络时,有几个关键要点需要注意:

  1. 关闭防火墙和SELinux

    • 关闭防火墙:systemctl stop firewalld && systemctl disable firewalld
    • 关闭SELinux:永久关闭需要修改 /etc/selinux/config 文件,临时关闭可以使用 setenforce 0 命令。
  2. 配置网络接口

    • 编辑网络配置文件,通常位于 /etc/sysconfig/network-scripts/ 目录下,文件名以 ifcfg- 开头。例如,编辑 ifcfg-ens33 文件设置静态IP地址、子网掩码、网关等信息。
    • 重启网络服务使配置生效:systemctl restart networknmcli networking off && nmcli networking on
  3. 启用内核参数

    • 编辑 /etc/sysctl.d/k8s.conf 文件,启用必要的内核参数,如:
      net.bridge.bridge-nf-call-ip6tables = 1
      net.bridge.bridge-nf-call-iptables = 1
      net.ipv4.ip_forward = 1
      
    • 加载配置:sysctl --system
  4. 选择并部署网络插件

    • Flannel

      • 下载并准备Flannel的二进制文件,放置在 /usr/local/bin 目录下。
      • 创建Flannel配置文件 /etc/kubernetes/flannel.yml,示例配置如下:
        {
            "Network": "10.244.0.0/16",
            "Backend": {
                "Type": "vxlan"
            }
        }
        
      • 启动Flannel服务:flanneld -etcd-endpoints=http://<etcd地址>:2379 -etcd-prefix=/kube-centos/network -iface=<节点网卡名称> -ip-masq=true -kube-subnet-mgr=true -logtostderr=true &
    • Calico

      • 下载并解压Calico的二进制文件包。
      • 创建Calico配置文件 /opt/calico/calico.yaml,示例配置如下:
        apiVersion: v1
        kind: ConfigMap
        metadata:
            name: calico-conf
            namespace: kube-system
        data:
            cni.conf: |
                {
                    "name": "k8s-pod-network",
                    "cniVersion": "0.3.1",
                    "plugins": [
                        {
                            "type": "calico",
                            "log_level": "info",
                            "etcd_endpoints": "http://<etcd地址>:2379",
                            "etcd_key_file": "/etc/kubernetes/pki/etcd/etcd-key.pem",
                            "etcd_cert_file": "/etc/kubernetes/pki/etcd/etcd.pem",
                            "etcd_ca_cert_file": "/etc/kubernetes/pki/etcd/etcd-ca.pem",
                            "mtu": 1440,
                            "ipam": {
                                "type": "calico-ipam"
                            },
                            "policy": {
                                "type": "k8s"
                            },
                            "kubernetes": {
                                "kubeconfig": "/etc/kubernetes/kubelet.conf"
                            }
                        },
                        {
                            "type": "portmap",
                            "snat": true,
                            "capab"
                        }
                    ]
                }
        
      • 启动Calico服务。
  5. 配置Service资源

    • 使用Service资源暴露Pod,并提供稳定的网络接口。根据需求选择不同类型的服务,如ClusterIP、NodePort、LoadBalancer等。。
  6. 配置Pod网络策略

    • 使用Network Policies控制Pod之间的网络通信,提高安全性。例如,限制Pod之间的流量,只允许特定的Pod相互通信。。

通过以上步骤,你可以在CentOS上成功配置Kubernetes网络,确保集群中的各个组件能够正常通信。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:GitLab在CentOS上的网络配置有哪些要点

0