1

我在 IBM 云上使用 Kubernetes。

我想创建一个网络策略,拒绝与 pod 的所有传入连接(在端口 3000 上公开应用程序),但它只允许来自特定 IP (MY_IP) 的传入连接。

我写了这个:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: <MY_POLICY_NAME>
namespace: <MY_NAMESPACE>
spec:
  podSelector:
    matchLabels:
      app: <MY_APP>
      env: <MY_ENV>
  policyTypes:
  - Ingress
  ingress:
  - from:
    - ipBlock:
        cidr: <MY_IP>/24
        except:
        - <MY_IP>/32
    ports:
    - protocol: TCP
    port: 3000

不幸的是,这不起作用,因为它阻止了所有连接。

我怎样才能解决这个问题?

4

1 回答 1

0

在您现在的策略中,您允许来自该 CIDR 的入口,来自您的<MY_IP>. 因此,它阻止了来自您 IP 的所有流量。

PS:默认情况下,IBM Cloud Kubernetes Service 中的 Ingress 禁用源 IP 保留。确保您已为您的 Ingress 服务启用它:https ://console.bluemix.net/docs/containers/cs_ingress.html#preserve_source_ip

于 2018-12-04T22:22:50.827 回答