我正在尝试使用Operator Framework的operator-sdk验证为Kubernetes运营商构建的CSV。这样做时,我遇到了以下错误。
operator-courier verify
中的此错误是什么意思?
ERROR: CRD.spec.version does not match CSV.spec.crd.owned.version
答案 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