Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建与Kubernetes API匹配的网络策略_Kubernetes_Kubernetes Networkpolicy - Fatal编程技术网

如何创建与Kubernetes API匹配的网络策略

如何创建与Kubernetes API匹配的网络策略,kubernetes,kubernetes-networkpolicy,Kubernetes,Kubernetes Networkpolicy,在我们的EKS Kubernetes集群中,我们有一个通用的印花布网络策略,禁止所有流量。然后我们添加网络策略以允许所有流量 我们的一个pod需要与kubernetesapi通信,但我似乎无法将该通信量与非常广泛的ipBlock选择器相匹配。还有别的办法吗 这目前有效,但访问范围太广: apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: test-network-policy spec: podSele

在我们的EKS Kubernetes集群中,我们有一个通用的印花布网络策略,禁止所有流量。然后我们添加网络策略以允许所有流量

我们的一个pod需要与kubernetesapi通信,但我似乎无法将该通信量与非常广泛的ipBlock选择器相匹配。还有别的办法吗

这目前有效,但访问范围太广:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
spec:
  podSelector:
    matchLabels:
      run: my-test-pod
  policyTypes:
    - Egress
  egress:
    - to:                 # To access the actual kubernetes API
        - ipBlock:
            cidr: 192.168.0.0/16
      ports:
        - protocol: TCP
          port: 443
在AWS EKS中,我看不到控制平面吊舱,但在我的RPI集群中,我可以看到。在RPI集群中,API POD具有标签“component=kube apiserver,tier=control plane”,因此我也尝试使用带有这些标签的podSelector,但在EKS或RPI集群中都不匹配:

    - to:
        - namespaceSelector:
            matchLabels:
              name: kube-system
        - podSelector:
            matchLabels:
              component: kube-apiserver
任何帮助都将不胜感激。

如果您:

  • 通过运行
    kubectl cluster info

  • 看smth的样子

库伯内特斯大师正在。。。让我们从这个例子中说

  • 将其转换为ip地址,假设它是
    a.b.c.d
最后使用
a.b.c.d/32
内部网络策略,例如

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
spec:
  podSelector: {}
  policyTypes:
  - Egress
  egress:
  - to:
    - ipBlock:
        cidr: a.b.c.d/32
    ports:
    - protocol: TCP
      port: 443

如果我理解smth错误,请纠正我

对于EKS,您还需要将主节点安全组中的工作节点IP列入白名单。我正在使用专用通信运行EKS访问,并且节点没有公共IP,因此不需要列入白名单。这也意味着,如果我允许来自192.168.0.0/16的pod的所有流量,那么它就可以工作了,但这是一个太宽的范围。