×

Operator SDK 提供了一个命令行界面 (CLI) 工具,Operator 开发人员可以使用它来构建、测试和部署 Operator。您可以将 Operator SDK CLI 安装到您的工作站上,以便您可以开始编写自己的 Operator。

Red Hat 支持的 Operator SDK CLI 工具版本(包括与 Operator 项目相关的脚手架和测试工具)已弃用,并计划在未来版本的 OpenShift Dedicated 中移除。Red Hat 将在当前发行周期内为此功能提供错误修复和支持,但此功能将不再接收增强功能,并将从未来的 OpenShift Dedicated 发行版中移除。

不建议使用 Red Hat 支持的 Operator SDK 版本创建新的 Operator 项目。拥有现有 Operator 项目的 Operator 作者可以使用随 OpenShift Dedicated 发行的 Operator SDK CLI 工具版本来维护其项目并创建针对较新版本的 OpenShift Dedicated 的 Operator 发行版。

以下与 Operator 项目相关的基础镜像*未*被弃用。这些基础镜像的运行时功能和配置 API 仍受支持,用于错误修复和解决 CVE。

  • 基于 Ansible 的 Operator 项目的基础镜像

  • 基于 Helm 的 Operator 项目的基础镜像

有关不受支持的社区维护的 Operator SDK 版本的信息,请参阅 Operator SDK (Operator Framework)

拥有基于 Kubernetes 的集群(如 OpenShift Dedicated)的集群管理员访问权限的 Operator 作者可以使用 Operator SDK CLI 开发基于 Go、Ansible、Java 或 Helm 的自己的 Operator。 Kubebuilder 作为 Go 基于 Operator 的脚手架解决方案嵌入到 Operator SDK 中,这意味着现有 Kubebuilder 项目可以直接与 Operator SDK 一起使用并继续工作。

在 Linux 上安装 Operator SDK CLI

您可以在 Linux 上安装 OpenShift SDK CLI 工具。

先决条件
  • Go v1.19+

  • docker v17.03+、podman v1.9.3+ 或 buildah v1.7+

步骤
  1. 导航到 OpenShift 镜像站点

  2. 从最新目录下载 Linux 的最新版本 tar 包。

  3. 解压存档

    $ tar xvf operator-sdk-v1.36.1-ocp-linux-x86_64.tar.gz
  4. 使文件可执行

    $ chmod +x operator-sdk
  5. 将解压后的operator-sdk二进制文件移动到PATH上的目录。

    检查您的PATH

    $ echo $PATH
    $ sudo mv ./operator-sdk /usr/local/bin/operator-sdk
验证
  • 安装 Operator SDK CLI 后,验证其可用性

    $ operator-sdk version
    示例输出
    operator-sdk version: "v1.36.1-ocp", ...

在 macOS 上安装 Operator SDK CLI

您可以在 macOS 上安装 OpenShift SDK CLI 工具。

先决条件
  • Go v1.19+

  • docker v17.03+、podman v1.9.3+ 或 buildah v1.7+

步骤
  1. 对于amd64架构,请访问amd64架构的OpenShift镜像站点

  2. 从最新目录下载适用于macOS的最新版本tar包。

  3. 运行以下命令解压amd64架构的Operator SDK压缩包:

    $ tar xvf operator-sdk-v1.36.1-ocp-darwin-x86_64.tar.gz
  4. 运行以下命令使文件可执行:

    $ chmod +x operator-sdk
  5. 运行以下命令将解压后的operator-sdk二进制文件移动到您的PATH环境变量包含的目录下:

    运行以下命令检查您的PATH

    $ echo $PATH
    $ sudo mv ./operator-sdk /usr/local/bin/operator-sdk
验证
  • 安装Operator SDK CLI后,运行以下命令验证其是否可用:

    $ operator-sdk version
    示例输出
    operator-sdk version: "v1.36.1-ocp", ...