This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.5.8.5. 使用 OLM 管理的 Operator 运行 scorecard
可使用集群服务版本(CSV)运行 scorecard,提供测试集群就绪和非 SDK Operator 的方法。
流程
Scorecard 需要 Operator 部署 pod 中的代理容器来读取 Operator 日志。在使用 OLM 部署 Operator 之前,需要对 CSV 进行一些修改并创建一个额外的对象来运行代理。
这一步可以手动执行或使用 bash 功能自动执行。选择以下任一方法。
手动方法:
创建包含本地
kubeconfig
文件的代理服务器 secret。使用 scorecard 代理的命名空间所有者引用生成用户名。
echo '{"apiVersion":"","kind":"","name":"scorecard","uid":"","Namespace":"'<namespace>'"}' | base64 -w 0
$ echo '{"apiVersion":"","kind":"","name":"scorecard","uid":"","Namespace":"'<namespace>'"}' | base64 -w 0
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<namespace>
替换为 Operator 将部署到的命名空间。
使用以下模板编写
Config
清单scorecard-config.yaml
,将<username>
替换为上一步中生成的 base64 用户名:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
Config
编码为 base64:cat scorecard-config.yaml | base64 -w 0
$ cat scorecard-config.yaml | base64 -w 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
Secret
清单scorecard-secret.yaml
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用 secret:
oc apply -f scorecard-secret.yaml
$ oc apply -f scorecard-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将一个指向 secret 的卷插入到 Operator 的部署中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Scorecard
kubeconfig
卷。
在 Operator 部署中将卷挂载和
KUBECONFIG
环境变量插入到每个容器中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 scorecard 代理容器插入到 Operator 的部署中:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Scorecard 代理容器。
自动方法:
Community-operators
存储库有几个 bash 功能,可为您执行流程中的前面步骤。运行以下
curl
命令:curl -Lo csv-manifest-modifiers.sh \ https://raw.githubusercontent.com/operator-framework/community-operators/master/scripts/lib/file
$ curl -Lo csv-manifest-modifiers.sh \ https://raw.githubusercontent.com/operator-framework/community-operators/master/scripts/lib/file
Copy to Clipboard Copied! Toggle word wrap Toggle overflow source
csv-manifest-modifiers.sh
文件:. ./csv-manifest-modifiers.sh
$ . ./csv-manifest-modifiers.sh
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建
kubeconfig
secret 文件:create_kubeconfig_secret_file scorecard-secret.yaml "<namespace>"
$ create_kubeconfig_secret_file scorecard-secret.yaml "<namespace>"
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<namespace>
替换为 Operator 将部署到的命名空间。
应用 secret:
oc apply -f scorecard-secret.yaml
$ oc apply -f scorecard-secret.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 插入
kubeconfig
卷:insert_kubeconfig_volume "<csv_file>"
$ insert_kubeconfig_volume "<csv_file>"
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<csv_file>
替换为 CSV 清单的路径。
插入
kubeconfig
secret 挂载:insert_kubeconfig_secret_mount "<csv_file>"
$ insert_kubeconfig_secret_mount "<csv_file>"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 插入代理容器:
insert_proxy_container "<csv_file>" "quay.io/operator-framework/scorecard-proxy:master"
$ insert_proxy_container "<csv_file>" "quay.io/operator-framework/scorecard-proxy:master"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 插入代理容器后,按照 Operator SDK 入门指南中的步骤捆绑 CSV 和 CRD,并在 OLM 上部署 Operator。
-
在 OLM 上部署了 Operator 后,请在 Operator 项目中定义
.osdk-scorecard.yaml
配置文件,并确保csv-path: <csv_manifest_path>
和olm-deployed
选项都已设置。 在
csv-path: <csv_manifest_path>
和olm-deployed
均已在 scorecard 配置文件中设置的情况下运行 scorecard:operator-sdk scorecard
$ operator-sdk scorecard
Copy to Clipboard Copied! Toggle word wrap Toggle overflow