5.2. 安装 Operator SDK CLI
Operator SDK 提供了一个命令行界面(CLI)工具,Operator 开发人员可使用它来构建、测试和部署 Operator。您可以在工作站上安装 Operator SDK CLI,以便准备开始编写自己的 Operator。
红帽支持的 Operator SDK CLI 工具版本,包括 Operator 项目的相关构建和测试工具已被弃用,计划在以后的 OpenShift Dedicated 发行版本中删除。红帽将在当前发行生命周期中提供对这个功能的程序错误修复和支持,但此功能将不再获得改进,并将在以后的 OpenShift Dedicated 版本中删除。
对于创建新 Operator 项目,不建议使用红帽支持的 Operator SDK 版本。现有 Operator 项目的 Operator 作者可使用 OpenShift Dedicated 4 发布的 Operator SDK CLI 工具版本来维护其项目,并创建针对较新版本的 OpenShift Dedicated 的 Operator 发行版本。
以下与 Operator 项目相关的基础镜像 没有被弃用。这些基础镜像的运行时功能和配置 API 仍然会有程序错误修复和并提供对相关 CVE 的解决方案。
- 基于 Ansible 的 Operator 项目的基础镜像
- 基于 Helm 的 Operator 项目的基础镜像
有关 Operator SDK 不支持的、社区维护版本的信息,请参阅 Operator SDK (Operator Framework)。
具有 dedicated-admin 访问 OpenShift Dedicated 的 operator 作者,可以使用 Operator SDK CLI 根据 Go、Ansible、Java 或 Helm 开发自己的 Operator。Kubebuilder 作为基于 Go 的 Operator 的构建解决方案嵌入到 Operator SDK 中,这意味着现有的 Kubebuilder 项目可以象 Operator SDK 一样使用并继续工作。
OpenShift Dedicated 4 支持 Operator SDK 1.36.1。
5.2.1. 在 Linux 上安装 Operator SDK CLI
您可以在 Linux 上安装 OpenShift SDK CLI 工具。
先决条件
- Go v1.19+
-
docker
v17.03+、podman
v1.9.3+ 或buildah
v1.7+
流程
- 进入到 OpenShift 镜像站点。
- 从最新的 4 目录中,下载适用于 Linux 的 tarball 的最新版本。
解包存档:
$ tar xvf operator-sdk-v1.36.1-ocp-linux-x86_64.tar.gz
使文件可执行:
$ chmod +x operator-sdk
将提取的
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", ...
5.2.2. 在 macOS 上安装 Operator SDK CLI
您可以在 macOS 上安装 OpenShift SDK CLI 工具。
先决条件
- Go v1.19+
-
docker
v17.03+、podman
v1.9.3+ 或buildah
v1.7+
流程
-
对于
amd64
架构,进入到amd64
架构的 OpenShift 镜像站点。 - 从最新的 4 目录中,下载 macOS 的 tarball 的最新版本。
运行以下命令,为
amd64
架构解包 Operator SDK 归档:$ tar xvf operator-sdk-v1.36.1-ocp-darwin-x86_64.tar.gz
运行以下命令使文件可执行:
$ chmod +x operator-sdk
运行以下命令,将提取的
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", ...