我有一个使用 kubernetes orchestrator 运行的应用程序。我想根据域名或通配符实现 calico 网络策略,以便可以使用域名 ( FQDN
/ DNS
) 允许从一个 pod 或一组 pod 进行访问(通过标签选择器)。
我碰到印花布文档说的是同样的事情,但不确定这是免费的还是付费的?有人可以证实这一点吗?我在哪里可以找到这样的例子?
答案1
DNS 策略DNS policy这是一项付费功能,因为它是 Calico Enterprise 和 Calico Cloud 的一部分。您可以查看此这里。
至于示例,通常很难找到付费产品的工作示例,但是我设法找到了简单的例子,如下所示:
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: {}
想法是不允许任何出站流量到任何域,但 google.com
它展示了它应该如何工作例子。