Kubernetes网络策略-允许特定IP

时间:2018-12-04 16:32:15

标签: kubernetes ibm-cloud kubernetes-ingress

我在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

不幸的是,这无法正常工作,因为它阻止了所有连接。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

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

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