如何在网络方面进行隔离和联通?

如何在网络方面进行隔离和联通,比如容器平台上有多个用户,有的用户之间需要相互访问,有的需要相互隔离,这些策略应该在哪里进行限制与放行。显示全部

如何在网络方面进行隔离和联通,比如容器平台上有多个用户,有的用户之间需要相互访问,有的需要相互隔离,这些策略应该在哪里进行限制与放行。

收起
参与3

返回罗文江的回答

罗文江罗文江课题专家组云计算架构师某银行

1、根据选择好K8S集群的容器网络方案,启用相应K8S集群内的 NetworkPolicy特性,能够支持按Namespace级别的网络隔离。
2、每个用户分配不同的 Namespace 。

-- 譬如以 Calico 网络方案为例,安装 Calico 网络方案需要预先配置如下:

  • -- . kube-apiserver必须开启运行时_extensions/v1beta1/networkpolicies_,即设置启动参数:_--runtime-config=extensions/v1beta1/networkpolicies=true_
  • -- . kubelet必须启用cni网络插件,即设置启动参数:_--network-plugin=cni_
  • -- . kube-proxy必须启用iptables代理模式,这是默认模式,可以不用设置
  • --. kube-proxy不得启用--masquerade-all,这会跟calico冲突
    然后开启配置NetworkPolicy 特性。
    首先在K8S集群中,设置全局不可通
    然后设置同一个ns下的pod可以互通 ,不同ns之间的pod不可以访问*

    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
    name: isolate-namespace
    namespace: ns-calico1
    spec:
    podSelector: {}
    policyTypes:
    - Ingress
    - Egress
    ingress:
    - from:
      - namespaceSelector:
          matchLabels:
            nsname: ns-calico1
    egress:
    - to:
      - namespaceSelector:
          matchLabels:
            nsname: ns-calico1
银行 · 2022-06-26
浏览727

回答者

罗文江
云计算架构师某银行
擅长领域: 云计算容器容器云

罗文江 最近回答过的问题

回答状态

  • 发布时间:2022-06-26
  • 关注会员:2 人
  • 回答浏览:727
  • X社区推广