为何APIService名称含v1beta1,但apiVersion为apiregistration.k8s.io/v1?
原因分析
这个现象是完全正常的,核心要区分APIService资源自身的API版本和它所注册的目标API版本这两个独立概念:
- apiregistration.k8s.io/v1是Kubernetes集群用来管理
APIService这类资源的稳定API版本,和该APIService要注册的第三方API版本没有关联。不管注册的是v1beta1还是稳定版v1的第三方API,APIService资源本身都可以用apiregistration.k8s.io/v1这个版本来定义。 - 该APIService的名称
v1beta1.vpcresources.k8s.aws和spec.version: v1beta1,是因为它的作用是注册vpcresources.k8s.aws这个API组下的v1beta1版本API,名称遵循Kubernetes的命名规则:<API版本>.<API组>。 - 标签
kube-aggregator.kubernetes.io/automanaged: "true"表明这个APIService是由kube-aggregator自动创建的,对应集群中运行的AWS VPC资源控制器(提供vpcresources.k8s.aws API)目前只提供v1beta1版本的API,因此自动生成了这个APIService条目来对外暴露该版本的API。
简单来说,这是"管理API的API版本是稳定版,但被管理的API是旧beta版"的正常场景,并非异常。
内容的提问来源于stack exchange,提问作者Mick8695
相关产品推荐
相关产品推荐

