第 21 章 本地运行认证测试套件
通过选择此选项,您可以在您自己的 OpenShift 集群上运行认证工具。
红帽建议您遵循此方法认证您的 Operator。
这个选项是合作伙伴的高级方法:
- 有兴趣将工具集成到自己的开发人员工作流中,以进行持续验证。
- 想要访问全面的日志以获得更快速的反馈循环,
- 或具有在默认 OpenShift 安装中没有的依赖项。
以下是该过程的概述:
图 21.1. 本地运行认证测试套件的概述
您可以使用基于 Tekton 的 OpenShift 管道来运行认证测试,从而实时查看全面的日志和调试信息。当您准备好认证并发布 Operator 捆绑包后,管道会代表您向 GitHub 提交拉取请求(PR)。如果一切都成功通过,您的 Operator 会自动合并并发布在 Red Hat Container Catalog 和 OpenShift 中的嵌入式 operatorHub 中。
按照说明在本地运行认证测试套件:
先决条件
要在 Red Hat OpenShift 测试环境中认证您的软件产品,请确保:
- 已安装 OpenShift 集群版本 4.8 或更高版本。
OpenShift Operator Pipeline 为 5GB 卷创建一个持久性卷声明。如果您 在裸机上运行 OpenShift 集群,请确保配置了 动态卷置备。如果您没有配置动态卷置备,请考虑设置 本地卷。要防止 Permission Denied
错误,请使用以下命令修改本地卷存储路径以使用 container_file_t
SELinux 标签:
chcon -Rv -t container_file_t "storage_path(/.*)?"
chcon -Rv -t container_file_t "storage_path(/.*)?"
- 您有具有集群管理员特权的 admin 用户的 kubeconfig 文件。
- 您有一个有效的 operator 捆绑包。
- 已安装 OpenShift CLI 工具(oc)版本 4.7.13 或更高版本。
- 已安装 Git CLI 工具(git)版本 2.32.0 或更高版本。
- 已安装 Tekton CLI 工具(tkn)版本 0.19.1 或更高版本。
21.1. 添加 Operator 捆绑包 复制链接链接已复制到粘贴板!
在 fork 的 operators 目录中,有一系列子目录。
21.1.1. 如果您在之前已认证了这个 operator - 复制链接链接已复制到粘贴板!
在 operators 目录中为您的 Operator 找到对应的文件夹。将 Operator Bundle 的内容放在这个目录中。
确保您的软件包名称与 Operator 的现有文件夹名称一致。对于 Red Hat Marketplace 捆绑包,您必须手动在软件包名称中添加后缀 "-rhmp"。在以前的版本中,这会自动完成,因此在手动更改时不会影响客户升级。
21.1.2. 如果您新认证这个 operator - 复制链接链接已复制到粘贴板!
如果新认证 Operator 没有 Operator 的父目录下的子目录,则必须创建一个子目录。
在 operators 下创建新目录。这个目录的名称应与 Operator 的软件包名称匹配。例如,my-operator
。
在这个 operator 目录中,使用 Operator 名称创建一个新子目录,如 <
my-operator>
;,并为 <V1.0
> 创建一个版本目录,并放置您的捆绑包。这些目录对于之前已通过认证的 operator 预加载。├── operators └── my-operator └── v1.0
├── operators └── my-operator └── v1.0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
在 version 目录下,添加一个
manifests
文件夹,其中包含所有 OpenShift 清单,包括clusterserviceversion.yaml
文件。
推荐的目录结构
以下示例演示了推荐的目录结构。
配置文件 | 描述 |
---|---|
config.yaml |
在这个文件中,包含 Operator 的组织。它可以是 注意
如果您要将 Operator for Red Hat Marketplace 发行版本作为目标,则必须在
|
ci.yaml | 在此文件中,包括您的 Red Hat 技术合作伙伴项目 ID 和此 operator 的组织目标。
例如, |
annotations.yaml |
在此文件中,包含 OpenShift 版本的注解,它引用 OpenShift 版本的范围。例如,
例如,NTT
请注意,在版本之前必须使用字母 'v',且不允许使用空格。语法如下:
|