为什么运营商快递会核实抱怨版本不匹配?

时间:2019-10-29 16:18:53

标签: kubernetes

我正在尝试使用Operator Framework的operator-sdk验证为Kubernetes运营商构建的CSV。这样做时,我遇到了以下错误。

operator-courier verify中的此错误是什么意思?

ERROR: CRD.spec.version does not match CSV.spec.crd.owned.version

1 个答案:

答案 0 :(得分:1)

如果您的捆绑软件中仅包含一个CRD,而CSV中未提及该CRD,但是其spec.version与CSV不同,则可能会发生这种情况。

否则,您的CSV可能类似于以下内容:

apiVersion: operators.coreos.com/v1alpha1
kind: ClusterServiceVersion
spec:
  customeresourcedefinitions:
    owned:
    - name: something
    version: v1alpha1  <=================

和类似这样的CRD

apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: something
spec:
  version: v1alpha2  <===================

这两个版本需要对齐。

如果您走得很远,您可能还会在installPlan的status.conditions.message中看到此内容:

    CustomResourceDefinition.apiextensions.k8s.io
    "something.mycompany.com" is invalid: spec.version:
    Invalid value: "v1alpha2": must match the first version in spec.versions