第 22 章 在本地运行认证测试套件


选择这个选项,您可以在您自己的 OpenShift 集群上运行认证工具。

注意

红帽建议按照此方法认证您的 Operator。

这个选项是以下合作伙伴的高级方法:

  • 有兴趣将工具集成到自己的开发人员工作流中,以进行持续验证,
  • 想要访问全面日志以获得更快的反馈回路,
  • 或具有默认 OpenShift 安装中不可用的依赖项。

以下是进程概述:

图 22.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(/.*)?"
Copy to Clipboard Toggle word wrap
  • 您有具有集群管理员特权的 admin 用户的 kubeconfig 文件。
  • 有有效的 Operator 捆绑包。
  • OpenShift CLI 工具(oc)版本 4.7.13 或更高版本已安装。
  • Git CLI 工具(git)版本 2.32.0 或更高版本已安装。
  • Tekton CLI 工具(tkn)版本 0.19.1 或更高版本已安装。

22.1. 添加 Operator 捆绑包

在 fork 的 operators 目录中,有一系列子目录。

注意

如果要使用基于文件的目录(FBC)工作流提供 Operator,请参阅 基于文件的目录(FBC)

22.1.1. 如果您在 - 之前已认证此 Operator,

在 operators 目录中找到您的 operator 文件夹。将 Operator 捆绑包的内容放在此目录中。

注意

确保您的软件包名称与您的 Operator 的现有文件夹名称一致。

22.1.2. 如果您正在新认证此 operator -

如果新认证 Operator 没有位于 operator 的父目录下的子目录,则必须创建一个。

在 operators 下创建一个新目录。此目录的名称应与 Operator 的软件包名称匹配。例如,my-operator

  • 在这个 operator 目录中,创建一个带有 Operator 名称的新子目录,如 < my-operator>,并创建一个版本目录,如 < V1.0> 并放置您的捆绑包。认证过程为之前认证的 Operator 预安装这些目录。

    ├── operators
        └── my-operator
            └── v1.0
    Copy to Clipboard Toggle word wrap
  • 在 version 目录下,添加一个包含所有 OpenShift 清单的 manifests 文件夹,包括 clusterserviceversion.yaml 文件。

推荐的目录结构

以下示例演示了推荐的目录结构。

├── config.yaml
├── operators
    └── my-operator
        ├── v1.4.8
        │   ├── manifests
        │   │   ├── cache.example.com_my-operators.yaml
        │   │   ├── my-operator-controller-manager-metrics-service_v1_service.yaml
        │   │   ├── my-operator-manager-config_v1_configmap.yaml
        │   │   ├── my-operator-metrics-reader_rbac.authorization.k8s.io_v1_clusterrole.yaml
        │   │   └── my-operator.clusterserviceversion.yaml
        │   └── metadata
        │       └── annotations.yaml
        └── ci.yaml
Copy to Clipboard Toggle word wrap
Expand
配置文件描述

config.yaml

此文件包含 Operator 的机构。它可以是 certified-operators。例如,机构: certified-operators

ci.yaml

在这个文件中包括 operator 的 Red Hat Technology Partner 组件 PID。

例如,cert_project_id: <your component pid>。此文件存储成功认证过程所需的所有元数据。

annotations.yaml

此文件包括 OpenShift 版本注解,引用 OpenShift 版本的范围。例如,v4.8-v4.10 表示版本 4.8 到 4.10。将它添加到任何现有内容。

例如: # OpenShift annotations com.redhat.openshift.versions: v4.8-v4.10com.redhat.openshift.versions 字段是 Operator 捆绑包中元数据的一部分,用于确定 Operator 是否包含在给定 OpenShift 版本的认证目录中。您必须使用它来指明 Operator 支持的一个或多个 OpenShift 版本。

请注意,在版本之前必须使用字母 'v',并且不允许使用空格。语法如下:

  • 单个版本表示该版本的 OpenShift 或更高版本上支持 Operator。Operator 会自动添加到所有后续 OpenShift 版本的认证目录中。
  • 前面带有 '=' 的单个版本表示仅在该特定版本的 OpenShift 上支持 Operator。例如,使用 =v4.8 会将操作器添加到 OpenShift 4.8 认证目录中,但不适用于以后的 OpenShift 版本。
  • 范围可用于指明仅对该范围内的 OpenShift 版本提供支持。例如,使用 v4.8-v4.10 将 Operator 添加到 OpenShift 4.8 到 4.10 的认证目录中,但不适用于 OpenShift 4.11 或 4.12。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat