5.6.9.3. CRD 升级
如果自定义资源定义(CRD)属于单一集群服务版本(CSV),OLM 会立即对其升级。如果某个 CRD 被多个 CSV 拥有,则当该 CRD 满足以下所有向后兼容条件时才会升级:
- 所有已存在于当前 CRD 中的服务版本都包括在新 CRD 中。
- 在根据新 CRD 的验证模式(schema)进行验证后,与 CRD 的服务版本关联的所有现有实例或自定义资源均有效。
5.6.9.3.1. 添加新版 CRD
流程
将新版 CRD 添加到 Operator:
在 CSV 的
versions
部分的 CRD 资源中添加新条目。例如,如果当前 CRD 有一个
v1alpha1
版本,而您想要添加新的v1beta1
版本并 将其标记为新的存储版本,请为v1beta1
添加新条目:versions: - name: v1alpha1 served: true storage: false - name: v1beta1 1 served: true storage: true
- 1
- 新条目。
如果 CSV 打算使用新版本,请确保更新您的 CSV
owned
部分中的 CRD 引用版本:customresourcedefinitions: owned: - name: cluster.example.com version: v1beta1 1 kind: cluster displayName: Cluster
- 1
- 更新
version
。
- 将更新的 CRD 和 CSV 推送至您的捆绑包中。