Сетевая политика Kubernetes - разрешить определенный IP - PullRequest
0 голосов
/ 04 декабря 2018

Я использую Kubernetes в облаке IBM.

Я хочу создать сетевую политику, которая запрещает все входящие подключения к модулю (который предоставляет приложение через порт 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 голосов
/ 05 декабря 2018

В вашей политике, какой она является сейчас, вы разрешаете вход с этого CIDR, за исключением для всего трафика с вашего <MY_IP>.Поэтому он блокирует весь трафик с вашего IP-адреса.

PS: сохранение исходного IP-адреса отключено по умолчанию для Ingress в IBM Cloud Kubernetes Service.Убедитесь, что вы включили его для своей службы Ingress: https://console.bluemix.net/docs/containers/cs_ingress.html#preserve_source_ip

...