5.3. 为较新的 Operator SDK 版本升级项目


OpenShift Container Platform 4.9 支持 Operator SDK v1.10.1。如果您已在工作站上安装了 v1.8.0 CLI,可以通过安装最新版本将 CLI 升级到 v1.10.1。

但是,要确保现有 Operator 项目保持与 Operator SDK v1.10.1 的兼容性,需要升级步骤才能进行 v1.8.0 以来引入的相关破坏更改。您必须在之前使用 v1.8.0 创建或维护的任何 Operator 项目中手动执行升级步骤。

5.3.1. 升级 Operator SDK v1.10.1 的项目

为了与 v1.10.1 兼容,必须执行以下升级步骤来升级现有的 Operator 项目。

先决条件

  • 已安装 operator SDK v1.10.1
  • 之前通过 Operator SDK v1.8.0 创建或维护的 operator 项目

流程

  • 对于基于 Ansible 的 Operator 项目,更新 molecule/default/prepare.yml 文件的 Set pull policy 部分中的 命令:

    例 5.1. molecule/default/prepare.yml 文件 diff

         - name: Set pull policy
    -      command: '{{ "{{ kustomize }}" }} edit add patch pull_policy/{{ "{{ operator_pull_policy }}" }}.yaml'
    +      command: '{{ "{{ kustomize }}" }} edit add patch --path pull_policy/{{ "{{ operator_pull_policy }}" }}.yaml'

    Ansible 项目现在与 Kustomize 版本 3.8.7 构建。这个版本的 Kustomize 要求在 add patch 命令中通过 --path 标志来提供补丁文件的路径。

您的 Operator 项目现在与 Operator SDK v1.10.1 兼容。

5.3.2. 已知问题

  • 如果服务器 URL 包含路径,ansible-operator 二进制文件将拒绝 kubeconfig 文件。目前,除了在集群中将 Operator 作为 pod 运行外,没有其它临时解决方案,在这种情况下,它使用内部端点。这个问题的修复目前被阻止等待 apimachinery 软件包的修复。如需了解更多详细信息,请参阅 operator-framework/operator-sdk#4925

5.3.3. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.