使用kops创建的K8S 1.8.10集群kube-apiserver报PriorityClasses错误
解决kube-apiserver中AdmissionRegistration API 404错误
这个404错误其实挺常见的,本质原因是你的kube-apiserver没有启用admissionregistration.k8s.io/v1alpha1这个API组,导致请求访问该API路径时找不到对应的资源。
为什么会触发这个错误?
在Kubernetes 1.8.x版本中,admissionregistration.k8s.io/v1alpha1 API组(包含InitializerConfigurations这类资源)默认是不启用的。如果集群里有组件(比如kube-apiserver自身或者第三方插件)尝试调用这个API,就会返回你看到的404错误日志。
具体解决步骤
你可以通过kops修改集群配置,手动开启这个API组:
编辑集群配置
运行以下命令打开集群的配置编辑器:kops edit cluster <你的集群名称>添加API组启用配置
在配置中找到spec.kubeAPIServer部分,添加runtimeConfig字段来启用目标API组:spec: kubeAPIServer: runtimeConfig: admissionregistration.k8s.io/v1alpha1: "true"更新集群配置
应用修改后的配置:kops update cluster <你的集群名称> --yes滚动更新apiserver组件
让kops重新部署kube-apiserver实例,使新配置生效:kops rolling-update cluster <你的集群名称> --yes
等apiserver滚动更新完成后,再查看日志,这个404错误应该就会消失了。如果后续还有问题,可以检查是否有第三方插件在尝试使用Initializer功能但配置有误,但绝大多数情况下,开启这个API组就能解决问题。
内容的提问来源于stack exchange,提问作者3h4x
相关产品推荐
相关产品推荐

