CoreDNS在Kubernetes中的部署、配置与插件详解
1. ClusterRole权限分析
ClusterRole赋予了对Endpoints、Services、pods和namespaces进行列表和监视的能力,同时也能获取nodes。从DNS规范来看,监视和列出Endpoints与Services是合理的,因为需要这些资源来构建clusterIP和无头服务的记录。
访问namespaces的原因主要有两个:
- 当收到对namespace.svc.cluster.local的查询时,决定返回NXDOMAIN还是无数据的SUCCESS。
- 在使用通配符查询时,namespace记录是必要的。
对于是否需要访问pods和nodes,答案是“可能不需要”。Corefile中可能启用一些需要此访问权限的可选功能,但默认的Corefile并未启用这些功能。如果未使用这些功能,可以移除额外的权限。只有在启用“pods verified”选项时,CoreDNS才需要监视pods。
2. CoreDNS服务配置
CoreDNS使用标准的Cluster IP服务,以下是其服务定义示例:
apiVersion: v1
kind: Service
metadata:
name: coredns
labels:
app: coredns
spec:
selector:
app: coredns
clusterIP: 10.7.240.10
ports:
- name: dns
port: 53
p
超级会员免费看
订阅专栏 解锁全文
106

被折叠的 条评论
为什么被折叠?



