Kubernetes CoreDNS 重写特定命名空间的 CNAME 记录规则
Kubernetes CoreDNS rewrite CNAME record rules for specific namespace
对于我的项目,我需要使用 CoreDNS 覆盖 CNAME DNS 记录以进行内部集群 DNS 解析。
我可以在全局范围内为这样的集群执行此操作:
apiVersion: v1
data:
Corefile: |
# Add your CoreDNS customizations as import files.
# Refer to https://cloud.ibm.com/docs/containers?topic=containers-cluster_dns for details.
.:53 {
rewrite name test.example.com example.namespace1.svc.cluster.local
...
}
...
因此在整个集群中,所有对 test.example.com
的请求都将发送到服务:example.namespace1.svc.cluster.local
.
是否可以只为特定命名空间定义重写规则?
例如,我只希望 namespace1
具有此重写规则。
谢谢!
不,不可能通过修改核心 DNS 的 configMap 为每个命名空间设置 DNS,因为 coreDNS 是集群范围的 DNS。如果您的用例是通过主机名公开服务,那么您可以探索 ingress
对于我的项目,我需要使用 CoreDNS 覆盖 CNAME DNS 记录以进行内部集群 DNS 解析。 我可以在全局范围内为这样的集群执行此操作:
apiVersion: v1
data:
Corefile: |
# Add your CoreDNS customizations as import files.
# Refer to https://cloud.ibm.com/docs/containers?topic=containers-cluster_dns for details.
.:53 {
rewrite name test.example.com example.namespace1.svc.cluster.local
...
}
...
因此在整个集群中,所有对 test.example.com
的请求都将发送到服务:example.namespace1.svc.cluster.local
.
是否可以只为特定命名空间定义重写规则?
例如,我只希望 namespace1
具有此重写规则。
谢谢!
不,不可能通过修改核心 DNS 的 configMap 为每个命名空间设置 DNS,因为 coreDNS 是集群范围的 DNS。如果您的用例是通过主机名公开服务,那么您可以探索 ingress