第 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(/.*)?"
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 或更高版本。

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&gt;,并为 < V1.0 > 创建一个版本目录,并放置您的捆绑包。这些目录对于之前已通过认证的 operator 预加载。

    ├── operators
        └── my-operator
            └── v1.0
    Copy to Clipboard Toggle word wrap
  • 在 version 目录下,添加一个 manifests 文件夹,其中包含所有 OpenShift 清单,包括 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-operatorsredhat-marketplace。例如,机构: certified-operators

注意

如果您要将 Operator for Red Hat Marketplace 发行版本作为目标,则必须在 clusterserviceversion.yaml 中包含以下注解:

marketplace.openshift.io/remote-workflow: https://marketplace.redhat.com/en-us/operators/ {package_name}/pricing?utm_source=openshift_console

marketplace.openshift.io/support-workflow:https://marketplace.redhat.com/en-us/operators/{package_name}/support?utm_source=openshift_console

ci.yaml

在此文件中,包括您的 Red Hat 技术合作伙伴项目 ID 和此 operator 的组织目标。

例如,cert_project_id: <your partner project id>。此文件存储成功认证流程所需的所有元数据。

annotations.yaml

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

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

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

  • 单一版本表示该 Operator 在 OpenShift 或更高版本上被支持。Operator 会自动添加到后续 OpenShift 版本的已认证目录中。
  • 前面带有 '=' 的单个版本表示 Operator 只在该特定版本的 OpenShift 上被支持。例如,使用 =v4.8 会将 Operator 添加到 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