在升级 CoreDNS 插件的过程中若是在冲突解决办法选了保留,会以集群上的配置为优先,如果版本号/镜像也是冲突项目,则有可能导致版本号/镜像不会跟着升级上去的情况。确认过 EKS 集群信息,先前 CoreDNS 确实有因为镜像配置发生冲突,当时是通过在 冲突解决方法 选择 "覆盖" 来解决问题的,这次如果同样是因为镜像配置发生冲突,且您选择了 "保留",则版本号没有跟着升上去是有可能发生的情况。
如果下次升级到 1.30 版本时还是选择 "保留",则可能一样因为镜像配置发生冲突,使版本号没有跟着升上去,如此情况下相当于没有完成完整的升级操作,未来是有可能发生不可用的情况,因为不确定 EKS 集群版本与 CoreDNS 插件版本的相容性会不会造成影响。
如果您选择 "覆盖" 的话,默认会把客制化的 ConfigMap coredns 也给覆盖了,因此在更新 CoreDNS 的配置时,在主控台上选版本为 v1.9.3-eksbuild.19 之后,接着选择并展开 Optional configuration settings(可选配置设置),并在 Configuration values(配置值)框中输入下面的内容作为值,最后再通过在 "冲突解决方法" 选择 "覆盖" 来解决问题:
corefile: |
.:53 {
errors
health
hosts {
10.30.xxx.143 xxx.aliyuncs.com
10.30.xxx.155 kafka01
10.30.xxx.156 kafka02
10.30.xxx.157 kafka03
xx.xxx.xxx.xxx admin.xxx.com
fallthrough
}
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
ready :8181
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
} |