У меня есть приложение, работающее с kubernetes orchestrator. Я хочу реализовать сетевую политику calico на основе имени домена или подстановочных знаков, чтобы доменные имена ( FQDN
/ DNS
) могли использоваться для разрешения доступа из модуля или набора модулей (через селектор меток).
Я наткнулся на calico doc , в котором говорится то же самое, но я не уверен, платный или бесплатный? Может кто-нибудь это подтвердить? также где я могу получить пример этого?
Политика DNS является платной функцией, так как она является частью Calico Enterprise и Calico Cloud. Вы можете проверить это здесь .
Полное сравнение функций Calico с открытым исходным кодом, облака и предприятия
Что касается примеров, часто очень сложно найти рабочие примеры для платных продуктов, однако мне удалось найти простой пример того, как это будет выглядеть:
apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
name: security.allow-external-dns-egress
spec:
tier: security
selector: 'projectcalico.org/namespace == "dev" && app == "centos"'
order: 90
types:
- Egress
egress:
- action: Allow
protocol: UDP
source: {}
destination:
ports:
- '53'
# openshift dns port
- '5353'
- action: Allow
source:
selector: app == 'centos'
destination:
domains:
- '*.google.com'
- 'google.com'
# this rule only necessary if there is no policy that would pass all unmatched traffic to the following tier
# - action: Pass
# source: {}
# destination: {}
Ссылка на этот пример выше в Calico github
Идея состоит в том, чтобы не разрешить любой исходящий трафик на любые домены, кроме google.com