Могу ли я заблокировать соединение между модулем и ElastiCache в AWS - PullRequest
0 голосов
/ 23 апреля 2020

У меня есть настройки K8s (модули A, B и C) и Elasti c кеш ("xxx.xxxx.xx.cache.amazon aws .com") в AWS. Сейчас все мои модули имеют доступ к кэшу elasti c.

Я ищу решение, с помощью которого я могу ограничить связь. Я читал о ситце, но понимаю, что могу заблокировать связь между двумя модулями. Можно ли как-нибудь разрешить А связаться с xxx.xxxx.xx.cache.amazon aws .com, но заблокировать блоки B и C.

PS: Кэш Elastice не находится внутри кластер к8с.

1 Ответ

2 голосов
/ 23 апреля 2020

Вы можете использовать Kubernetes сетевую политику , где вы можете определить выходную политику, чтобы разрешить / запретить исходящий трафик c для блоков CIDR или IP-адресов из блоков, выбранных меткой.

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: test-network-policy
  namespace: default
spec:
  podSelector:
    matchLabels:
      role: db
  policyTypes:
  - Egress
  egress:
  - to:
    - ipBlock:
        cidr: 10.0.0.0/24
        except: 10.0.0.0/24
    ports:
    - protocol: TCP
      port: 5978

Приведенный выше пример блокирует трафик c до 10.0.0.0/24 на порту 5978 от модулей с меткой role: db

Для его работы необходим сетевой плагин, такой как calico. Выполните команду docs для установки ситца в кластере EKS.

...