linux

K8S安装后如何配置网络

小樊
41
2025-09-12 16:07:15
栏目: 编程语言

K8S安装后配置网络的核心步骤如下:

  1. 安装网络插件:选择并部署网络插件(如Calico、Flannel),例如:

    # 安装Calico  
    kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml  
    # 安装Flannel  
    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml  
    
  2. 配置网络插件参数

    • 通过修改插件配置文件(如Flannel的/etc/sysconfig/flanneld)设置Pod网段、后端模式等。
    • 部分插件需在节点上配置网络接口(如设置静态IP、关闭Swap)。
  3. 部署网络策略(可选)
    使用NetworkPolicy资源控制Pod间流量,例如限制特定标签的Pod访问:

    apiVersion: networking.k8s.io/v1  
    kind: NetworkPolicy  
    metadata:  
      name: deny-external-access  
    spec:  
      podSelector: {}  
      policyTypes:  
      - Ingress  
      ingress:  
      - from:  
        - ipBlock:  
            cidr: 0.0.0.0/0  
          except:  
          - cidr: 10.0.0.0/24  # 允许集群内部通信  
    

    应用策略:kubectl apply -f network-policy.yaml

  4. 验证网络连通性

    • 创建测试Pod并检查Pod间通信:
      kubectl run test-pod --image=nginx  
      kubectl exec -it test-pod -- ping <其他Pod的IP>  
      
    • 查看网络插件状态:kubectl get pods -n kube-system,确保相关Pod正常运行。
  5. 暴露服务(可选)
    通过ServiceIngress将服务暴露给外部,例如:

    apiVersion: v1  
    kind: Service  
    metadata:  
      name: nginx-service  
    spec:  
      selector:  
        app: nginx  
      ports:  
      - protocol: TCP  
        port: 80  
        targetPort: 80  
      type: NodePort  
    

    应用后可通过NodeIP:NodePort访问服务。

注意:不同插件(如Calico/Flannel)的配置细节差异较大,建议参考官方文档选择适配方案,并确保节点网络配置(IP、路由、防火墙)与插件要求一致。

0
看了该问题的人还看了