5.2. 安装 Operator SDK CLI
Operator SDK 提供了一个命令行界面(CLI)工具,Operator 开发人员可使用它来构建、测试和部署 Operator。您可以在工作站上安装 Operator SDK CLI,以便准备开始编写自己的 Operator。
OpenShift Container Platform 4.6 支持 Operator SDK v0.19.4,它们可以从上游源安装。
从 OpenShift Container Platform 4.7 开始,Operator SDK 被完全支持并可从官方红帽产品源获得。如需更多信息,请参阅 OpenShift Container Platform 4.7 发行注记。
5.2.1. 通过 GitHub 发行版本安装 Operator SDK CLI
您可以从 GitHub 上的项目下载并安装 Operator SDK CLI 的预构建发行版二进制文件。
先决条件
- Go v1.13+
-
docker
v17.03+、podman
v1.9.3+ 或buildah
v1.7+ -
已安装 OpenShift CLI(
oc
)v4.6+ - 访问基于 Kubernetes v1.12.0+ 的集群
- 访问容器 registry
流程
设置发行版本变量:
$ RELEASE_VERSION=v0.19.4
下载发行版二进制文件。
Linux:
$ curl -OJL https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu
macOS:
$ curl -OJL https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin
验证所下载的发行版本二进制文件。
下载提供的
.asc
文件。Linux:
$ curl -OJL https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu.asc
macOS:
$ curl -OJL https://github.com/operator-framework/operator-sdk/releases/download/${RELEASE_VERSION}/operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin.asc
将二进制文件和对应的
.asc
文件放在同一个目录中,并运行以下命令验证该二进制文件:Linux:
$ gpg --verify operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu.asc
macOS:
$ gpg --verify operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin.asc
如果您的工作站上没有维护人员的公钥,则会出现以下错误:
带有错误的输出示例
$ gpg: assuming signed data in 'operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin' $ gpg: Signature made Fri Apr 5 20:03:22 2019 CEST $ gpg: using RSA key <key_id> 1 $ gpg: Can't check signature: No public key
- 1
- RSA 密钥字符串。
要下载密钥,请运行以下命令,用上一条命令输出的 RSA 密钥字符串来替换
<key_id>
:$ gpg [--keyserver keys.gnupg.net] --recv-key "<key_id>" 1
- 1
- 如果您尚未配置密钥服务器,请使用
--keyserver
选项指定一个密钥服务器。
在您的
PATH
中安装发行版本二进制文件:Linux:
$ chmod +x operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu
$ sudo cp operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu /usr/local/bin/operator-sdk
$ rm operator-sdk-${RELEASE_VERSION}-x86_64-linux-gnu
macOS:
$ chmod +x operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin
$ sudo cp operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin /usr/local/bin/operator-sdk
$ rm operator-sdk-${RELEASE_VERSION}-x86_64-apple-darwin
验证是否已正确安装 CLI 工具:
$ operator-sdk version