Рейтинг:1

Сетевая политика Calico в Kubernetes на основе доменного имени и подстановочного знака

флаг ar

У меня есть приложение, работающее с оркестратором kubernetes. Я хочу реализовать сетевую политику calico на основе имени домена или подстановочных знаков, чтобы доменные имена (полное доменное имя/DNS) можно использовать для разрешения доступа из модуля или набора модулей (через селектор меток).

я наткнулся ситцевый док который говорит то же самое, но не уверен, это бесплатно или платно? Кто-нибудь может это подтвердить? также, где я могу получить пример этого?

Рейтинг:1
флаг in

Политика DNS является платной функцией, поскольку она является частью Calico Enterprise и Calico Cloud. Вы можете проверить это здесь.

Полное сравнение функций между Calico с открытым исходным кодом, облаком и предприятием

Что касается примеров, то найти работающие примеры для платных продуктов зачастую бывает очень сложно, однако мне удалось найти простой пример того, как это будет выглядеть:

apiVersion: projectcalico.org/v3
тип: GlobalNetworkPolicy
метаданные:
  имя: security.allow-external-dns-egress
спецификация:
  уровень: безопасность
  селектор: 'projectcalico.org/namespace == "dev" && app == "centos"'
  заказ: 90
  типы:
    - Выход
  выход:
  - действие: Разрешить
    протокол: UDP
    источник: {}
    пункт назначения:
      порты:
      - '53'
      # openshift dns порт
      - '5353'
  - действие: Разрешить
    источник:
      селектор: приложение == 'centos'
    пункт назначения:
      домены:
      - '*.google.com'
      - 'google.com'
  # это правило необходимо только в том случае, если нет политики, которая пропускала бы весь непарный трафик на следующий уровень
  # - действие: Пропустить
  #   источник: {}
  #   пункт назначения: {}

Ссылка на этот пример выше в Calico github

Идея состоит в том, чтобы не разрешать исходящий трафик ни на какие домены, кроме google.com.

Показано, как это должно работать в пример.

solveit avatar
флаг ar
будет ли этот пример работать, так как он находится в корпоративном пакете? Я хочу внедрить сетевую политику на основе домена с помощью CIDR. Как вы думаете, Kubernetes DNSSelector [ https://github.com/kubernetes/kubernetes/issues/50453 ] может помочь?
moonkotte avatar
флаг in
Это будет работать, если вы используете Calico Enterprise, других вариантов, чтобы эта работа работала, нет. Также для последнего состояния они предложили использовать для этого `calico cni` - см. [этот комментарий] (https://github.com/kubernetes/kubernetes/issues/50453#issuecomment-368334028)
solveit avatar
флаг ar
Как насчет DNS-сервиса Kubernetes https://kubernetes.io/docs/concepts/services-networking/dns-pod-service/ для управления исходящими вызовами? С каким-нибудь DNS-сервером, который я могу интегрировать с k3s и использовать этот сервис?
moonkotte avatar
флаг in
Это другой вопрос, и вам следует подумать о том, чтобы задать его отдельно, чтобы соответствовать рекомендациям StackExchange. См. [Одно сообщение с несколькими вопросами или несколько сообщений?] (https://meta.stackexchange.com/questions/39223/one-post-with-multiple-questions-or-multiple-posts)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.