同一Kubernetes命名空间中同名同类型PackageManifest资源问题咨询
同一命名空间下出现同名PackageManifest资源的疑问
我在Kubernetes集群的olm命名空间中发现多个同名的PackageManifest资源,集群里有两个CatalogSource,它们定义的组件存在重叠。
执行查询命令的结果如下:
$ kubectl get packagemanifest -n olm | grep rho | sort rhoas-operator Community Operators 20d rhods-operator Red Hat OpenShift Data Science 16h rhods-operator Red Hat Operators 20d rhods-prometheus-operator Red Hat OpenShift Data Science 16h rhods-prometheus-operator Red Hat Operators 20d
通过类型、名称和命名空间查询时,返回的结果是随机的:
$ kubectl get packagemanifest/rhods-operator -n olm NAME CATALOG AGE rhods-operator Red Hat OpenShift Data Science 16h $ kubectl get packagemanifest/rhods-operator -n olm NAME CATALOG AGE rhods-operator Red Hat Operators 20d
这完全颠覆了我的认知——Kubernetes文档明确说明:
集群中的每个对象的名称在同类型资源中是唯一的。每个Kubernetes对象还拥有一个在整个集群中唯一的UID。
例如,在同一命名空间中只能有一个名为myapp-1234的Pod,但可以有一个名为myapp-1234的Pod和一个同名的Deployment。
这是配置错误吗?为什么Kubernetes允许这种情况?是OLM在执行什么非常规操作吗?
调查Kind和apiVersion
$ kubectl get packagemanifest --namespace=olm --output=jsonpath="{range .items[*]}{.kind}{'\t'}{.apiVersion}{'\t'}{.metadata.name}{'\n'}{end}" | grep rho | sort PackageManifest packages.operators.coreos.com/v1 rhoas-operator PackageManifest packages.operators.coreos.com/v1 rhods-operator PackageManifest packages.operators.coreos.com/v1 rhods-operator PackageManifest packages.operators.coreos.com/v1 rhods-prometheus-operator PackageManifest packages.operators.coreos.com/v1 rhods-prometheus-operator
内容的提问来源于stack exchange,提问作者user7610
相关产品推荐
相关产品推荐

