本文介绍阿里云容器计算服务ACS集群中与DNS相关的常见问题。
为什么CoreDNS正在使用废弃的API?
问题现象
执行集群升级前置检查时,发现用户代理(UserAgent)为coredns的客户端正在访问已弃用的discovery.k8s.io/v1beta1
Kubernetes API,其API路径为/apis/discovery.k8s.io/v1beta1
。
问题原因
CoreDNS使用discovery.k8s.io/v1beta1
API连接到APIServer,但该API在您当前集群版本中即将弃用或已弃用。产生这种现象的原因有两种:
CoreDNS版本较低:当前集群安装的CoreDNS版本较低,不支持调用
discovery.k8s.io/v1
API,只能使用discovery.k8s.io/v1beta1
API。CoreDNS是在较早版本的Kubernetes中启动的:尽管Kubernetes和CoreDNS的版本都是最新的,但CoreDNS是在较早的Kubernetes版本(例如1.20版本)中启动,并在容器启动阶段选择了
discovery.k8s.io/v1beta1
API版本。然而,随着Kubernetes集群逐渐升级,discovery.k8s.io/v1beta1
API被弃用,但CoreDNS仍然在使用它。
解决方案
登录容器计算服务控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 组件管理。
在组件管理页面的网络页签中,对CoreDNS组件进行升级操作。
该文章对您有帮助吗?
- 本页导读 (0)
- 为什么CoreDNS正在使用废弃的API?
- 问题现象
- 问题原因
- 解决方案