Red Hat Software Certification Workflow Guide


Red Hat Software Certification 2025

用于 Red Hat Enterprise Linux 和 Red Hat OpenShift

Red Hat Customer Content Services

摘要

Red Hat Software Certification Workflow 指南概述了希望在 Red Hat OpenShift Platform 上部署自己的应用程序、管理应用程序或软件在 Red Hat OpenShift Platform 上的认证流程。
版本 9.22 在 2025 年 8 月 27 日更新。

使开源包含更多

红帽承诺替换我们的代码和文档中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于这一努力的精力,这些更改将在即将发布的版本中逐渐实施。有关让我们的语言更加包含的更多详情,请参阅我们的CTO Chris Wright 信息

第 1 章 Red Hat 软件认证计划简介

使用本指南在 Red Hat Enterprise Linux 和 Red Hat OpenShift 平台上认证和发布您的软件应用程序产品。

1.1. 红帽认证计划概述

Red Hat 软件认证计划确保将 Red Hat Enterprise Linux 和 Red Hat OpenShift 作为部署平台的软件应用程序产品的兼容性。

程序有五个主要元素:

  • 产品列表 :客户在使用产品之前查找的所有基本产品信息的来源。
  • 组件 :它包括附加到产品列表中的容器、Operator、helm chart 和各种其它基础架构服务。另外,它包括跟踪和报告认证请求的进度和状态的在线工作流。
  • 测试套件 :测试作为软件应用程序产品的集成管道实施。
  • 出版物

    • 非容器化产品 :经过认证的传统非容器化产品发布在红帽生态系统目录中。
    • 容器化应用程序 :它有以下产品类别:

      • 容器 :经过认证的容器在红帽生态系统目录中发布。
      • Operator :经过认证的 Operator 在 Red Hat Ecosystem Catalog 和嵌入的 OperatorHub 中发布。
      • Helm Charts :认证的 Helm Chart 在红帽生态系统目录中发布。
      • OpenShift badge 的功能认证:

        • Cloud-native Network Function (CNF): Partner Validated and certified CNFs 附加到产品列表中,并在红帽生态系统目录中发布。
        • Container Network Interface (CNI): Certified CNIs 在 Red Hat Ecosystem Catalog 中发布。
        • Container Storage Interface (CSI): 认证的 CSI 在 Red Hat Ecosystem Catalog 中发布。
        • 满足最佳实践 :工作负载遵循红帽的最佳实践。
      • OpenStack 基础架构上的应用: 非容器化、容器化和 VNF 应用在 OpenStack 基础架构上认证,并在红帽生态系统目录上发布。
  • 支持 :您和红帽之间的联合支持关系,在部署认证软件应用程序产品时确保客户成功。

    这个表总结了产品列表和组件之间的基本区别:

Expand
产品列表组件 (项目)

包含有关您产品的详细信息。

您测试、认证的单个容器、Operator、helm chart 和基础架构服务,然后添加到产品列表中。

产品由一个或多个组件组成。

组件添加到产品列表中。

您可以将组件添加到产品中以继续认证。

通过将组件添加到每个产品列表中,可以在多个产品中使用它。

没有认证组件无法发布产品。

认证组件作为产品列表的一部分发布。

1.2. 认证工作流

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

下图显示了软件认证流程的概述。

图 1.1. 认证工作流

1.3. 获得帮助并提供反馈

有关本文档中描述的红帽认证工具集、认证流程或流程的任何问题,请参阅 KB 文章红帽客户门户网站、Red Hat Partner Connect

注意

要获得红帽产品帮助,需要具有所需的产品权利或订阅,这些订阅可能与合作伙伴的计划和认证计划成员资格分开。

创建支持问题单

要创建一个支持问题单 ,请参阅如何打开和管理支持问题单

要为任何认证问题创建一个支持问题单,请特别注意以下字段: https://connect.redhat.com/support/technology-partner/#/case/new

  • 从 Issue Category,选择 Product Certification
  • 从 Product 字段中,选择所需的产品。
  • Product Version 字段中,选择要认证的产品或应用程序的版本。
  • Problem Statement 字段中,使用以下格式输入问题声明或问题或反馈:

{partner Certification}(问题/建议或反馈)

  • 问题或问题 替换为认证流程或红帽产品或认证工具集或文档的反馈。

    For example: {Partner Certification} Error occurred while submitting certification test results using the Red Hat Certification application.
    Copy to Clipboard Toggle word wrap
注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

第 2 章 加入认证合作伙伴

如果您是新合作伙伴,请使用 Red Hat Partner Connect Portal (Red Hat Partner Connect Portal)创建新帐户,如果您是当前红帽合作伙伴,请登录红帽以认证您的产品。

2.1. 加入现有认证合作伙伴

作为现有合作伙伴,您可以:

  • 对 EPM 团队具有一定程度的 A-to-many EPM 程序的成员,但并没有对认证流程的任何帮助。

    或者

  • 通过分配给管理合作伙伴的专用 EPM 团队成员以传统方式完全管理 EPM 团队,包括有关认证请求的问题。
注意

如果您认为您的公司已有红帽帐户,但不确定谁是贵公司的机构管理员,请发送电子邮件 connect@redhat.com 以将您添加到公司的现有帐户中。

前提条件

您有一个现有的红帽帐户。

流程

  1. 访问 Red Hat Partner Connect 并点 登录
  2. 输入您的 Red Hat 登录或电子邮件地址并点 Next

    然后,使用以下选项之一:

    1. 使用公司单点登录登录
    2. 使用红帽帐户登录
  3. 在标头的菜单栏中点击您的 avatar 来查看帐户详情。

    1. 如果帐户号与您的账户相关联,请登录 Red Hat Partner Connect 以便继续认证流程。
    2. 如果帐户号没有与您的帐户关联,请首先 联系红帽全局客户服务团队,以提出创建新帐号的请求。

      之后,登录到 Red Hat Partner Connect 以继续认证过程。

2.2. 加入新的认证合作伙伴

创建新红帽帐户是加入新认证合作伙伴的第一步。

  1. 访问 Red Hat Partner Connect 并点 登录
  2. Register for a Red Hat account
  3. 输入以下详情来创建新红帽帐户:

    1. 选择 Red Hat 登录名和密码
重要

如果您的登录 ID 与多个帐户相关联,请不要使用您的联系电子邮件作为登录 ID,因为这可能会在登录过程中造成问题。另外,创建后您无法更改您的登录 ID。

  1. 输入 您的个人信息公司信息
  2. Account Type 字段选择 Corporate

    如果您创建了公司类型帐户并需要帐户号,请联络 Red Hat 全球客户服务团队

注意

确保您创建一个公司帐户,而不是个人帐户。此步骤中创建的帐户也用于在使用认证请求时登录到红帽生态系统目录。

  1. 输入您的 联系信息
  2. 单击 Create My Account

    创建一个新的红帽帐户。登录到 Red Hat Partner Connect 以便继续认证流程。

2.3. 访问合作伙伴登录页面

登录 Red Hat Partner Connect 后,将打开合作伙伴登录页面。本页充当集中式 hub,可访问各种合作伙伴服务和功能,以便您开始参与机会。

合作伙伴登录页面提供以下服务:

  • 认证技术门户
  • 商机
  • 红帽合作伙伴培训门户
  • 访问我们的营销、销售和技术内容的库
  • 帮助和支持
  • 电子邮件首选项中心
  • 合作伙伴订阅
  • 用户帐户

作为红帽合作的一部分,合作伙伴可以访问各种红帽系统和服务,使他们能够为我们共同的客户创建与红帽的共享价值。

选择 认证技术门户 标题以开始您的产品认证之旅。个性化认证技术合作伙伴仪表板将打开。

第 3 章 生成 API 密钥以自动化功能认证过程

有效的 Pyxis API 密钥是用于通过 REST API 访问特定于合作伙伴的证书数据的令牌。使用这个密钥,您可以直接访问 Red Hat 合作伙伴认证工具中提供的认证组件,并无缝上传认证结果,而无需重复身份验证。

注意

API 密钥与特定的机构 ID 关联,仅允许访问与该特定机构关联的产品列表。

先决条件

流程

按照以下步骤生成 API 密钥:

  1. 登录 Red Hat 合作伙伴认证工具后,转至 认证管理 选项卡。
  2. Resources 列表中,点 API keysAPI Keys 页面将打开。
  3. 单击 Add API key。此时会打开 Add API Keys 对话框。
  4. Name 文本框中输入唯一键。
  5. Description 文本框中输入有关新创建的密钥(包括其用途)的简单描述。
  6. 单击 Confirm

    生成新令牌。此时会打开 Copy Token 向导,允许您复制生成的 API 密钥。

  7. 单击生成的 API 密钥旁边的复制图标,将它保存到安全的位置。
重要

红帽不存储您的 API 密钥。如果您现在没有保存密钥,则在关闭此向导后无法检索它。

验证

新的 API 密钥在 API Keys 页面中列出,包括以下详情:

  • Name
  • 描述
  • 用户名
  • 创建的时间
  • Actions - 单击 Revoke 以删除该密钥。

部分 I. 认证或验证独立应用程序

第 4 章 非容器化产品认证简介

传统的非容器化产品的红帽软件认证计划可帮助独立软件供应商(ISV)在共同支持的客户环境中运行 Red Hat Enterprise Linux (RHEL)的系统和服务器环境构建、认证和分发其应用程序软件。需要非常了解 RHEL。

合作伙伴 Validation - 如果您要使用您自己的标准和测试套件来验证您的产品类型,请选择此类型的认证。通过此合作伙伴验证,您可以更快地在红帽生态系统目录上发布您的软件产品。但是,经过验证的工作负载可能无法纳入所有红帽集成要求和最佳实践。我们鼓励您继续努力获得红帽认证。

认证 - 如果您希望产品使用红帽测试套件进行全面的测试,请从协作支持中受益。您的产品将满足您的标准与红帽的标准,包括互操作性、生命周期管理、安全性和支持要求。

满足要求并完成认证工作流的产品在红帽生态系统目录中列出。合作伙伴将收到用于推广其产品认证的徽标。

第 5 章 非容器化应用程序的认证工作流

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

任务摘要

认证工作流包括三个主要阶段 -

5.1. 认证加入

执行认证载入概述的步骤:

  1. 加入 Red Hat Connect for Technology 计划。
  2. 同意计划条款和条件。
  3. 选择您需要的产品类别来创建您的产品列表。您可以从可用产品类别中选择:

    1. 容器化应用程序
    2. 独立应用程序
    3. OpenStack Infrastructure
  4. 完成您的公司简介。
  5. 将组件添加到产品列表中。
  6. 为您的产品列表认证组件。

5.2. 认证测试

按照以下高级步骤运行认证测试:

  • 登录红帽客户门户。
  • 下载测试计划。
  • 配置测试下的系统(SUT)以运行测试。
  • 将测试计划下载到我们的 SUT。
  • 在您的系统中运行认证测试。
  • 查看并上传测试结果到认证门户。

5.3. 发布认证或验证的应用程序

合作伙伴 验证或认证应用程序必须添加到 Red Hat Partner Connect 门户上的产品列表页面中。 发布后,您的产品列表会显示在 红帽生态系统目录 上,方法是使用您提供的产品信息。您可以使用相应的标签在 Red Hat Ecosystem Catalog 上发布合作伙伴验证和认证的应用程序。

第 6 章 创建产品

产品列表提供了营销和技术信息,向潜在客户展示您的产品功能和优势。它为您的产品添加所有必要的组件打下基础。

先决条件

除了特定的认证测试要求外,在目标红帽平台上验证您的产品功能。如果在目标红帽平台上运行您的产品会产生细微的体验,那么您必须在认证前解决这个问题。

流程

红帽建议为全面的产品列表填写列表选项卡中的所有可选字段。更多信息可帮助相互客户做出明智的选择。

在为您的产品列表输入信息时,红帽鼓励与您的产品经理、营销代表或其他产品专家进行协作。

标有星号 integrity 的字段是必需的。

流程

  1. 登录到 Red Hat Partner Connect Portal
  2. 进入认证技术门户选项卡,然后单击访问门户
  3. 在标题栏中,单击 Product management
  4. 列表和认证 选项卡中,单击 管理产品
  5. My Products 页面中,单击 Create Product

    此时会打开 Create New Product 对话框。

  6. 输入 产品名称
  7. 您要认证的产品是什么类? 下拉菜单中选择所需的产品类别,然后单击 Create product。例如,选择 Standalone Application 来创建非容器化产品列表。

    此时会打开 Product name 的新页面。它包含以下标签页:

  8. 提供产品列表详细信息后,单击 Save,然后转到下一部分。

6.1. 概述

此选项卡由您必须完成的一系列任务组成,才能发布您的产品:

6.1.1. 完整的产品列表详情

  1. 要完成您的产品列表详情,请点击 Start

    此时会打开 Product Information 选项卡。

  2. 输入所有基本产品详情,然后单击保存

6.1.2. 完整的公司概况信息

  1. 要完成您的公司概况信息,请单击 Start。输入所有详细信息后,单击 Submit
  2. 要修改现有详情,请点击 Review。此时会打开 Account Details 页面。
  3. 检查并修改 Company 配置文件信息,然后单击提交

6.1.3. 认证或验证您的产品

无法验证已经具有认证组件的产品。无需认证组件才能验证产品。

  1. 要为您的产品选择验证或认证,请单击 Validate 或 Certify 产品。阅读 公共和测试指南

    1. 要认证,点 Add Component,然后进入 第 6.1.5 节 “至少添加一个产品组件”
    2. 若要验证,请单击 Start validation

提交应用程序进行验证后,红帽认证团队将审核并验证合作伙伴验证问卷的详细信息。如果稍后您要认证合作伙伴验证的应用程序,请完成认证详情。

6.1.4. 验证您的产品

  1. 请选择您要验证哪些红帽产品?Red Hat Open Shift 或 Red Hat Enterprise Linux。
  2. 选择您要为其验证产品的 Red Hat Open ShiftRed Hat Enterprise Linux 版本和子版本。
  3. 单击 Start Validation
  4. 在合作伙伴验证 问题中输入并完成所需的信息,包括文档、产品测试以及已测试过的 Red Hat Open Shift 或 Red Hat 集群。

红帽将使用问卷中的输入详情来确定是否可验证产品以及是否可以发布。

6.1.5. 至少添加一个产品组件

  1. 单击 Start。您将被重定向到 Components 选项卡。

    要添加新的或现有的产品组件,请点 Add component

  2. 用于添加新组件,

    1. Component Name 文本框中,输入组件名称。
    2. 您正在创建什么独立组件? 选择您要认证的组件。例如,若要认证非容器化组件,请选择 Non-containerized Application
    3. 对于 Red Hat Enterprise Linux 版本,请选择您要认证组件的主 RHEL 版本。

      注意

      创建产品列表后,您无法修改版本。

    4. Create new component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

6.1.6. 为您的列表认证组件

  1. 要为您的列表认证组件,请点击 Start。如果您有现有的产品组件,您可以查看附加组件 列表 及其详情:

    1. Name
    2. 认证
    3. 安全性
    4. 类型
    5. Created
    6. 点击更多选项归档或删除组件
  2. 选择认证组件。

完成上述所有任务后,您将看到与所有选项对应的绿色勾号标记。

Overview 选项卡还提供以下信息:

  1. 产品联系人 - 提供产品营销和技术联系信息。

    1. 单击 Add contacts to product 以提供联系信息
    2. Edit 以更新信息。
  2. 中的组件 - 提供附加到该产品的组件列表及其最后更新的信息。

    1. Add components to product 将新的或现有组件添加到您的产品中。
    2. Edit components 更新现有组件信息。

发布产品列表后,您可以查看您的产品 就绪情况和 方式,以便在 Overview 选项卡上提高分数

6.2. 产品信息

在此选项卡中,您可以提供有关您产品的所有必要信息。产品详情会与您的产品在红帽生态系统目录中发布。

常规 标签页:

提供产品的基本详情,包括产品名称和描述。

  1. 输入 产品名称
  2. 可选:根据 定义的准则上传产品徽标
  3. 输入 Brief 描述 和长 描述
  4. 点击 Save

功能和好处 选项卡:

提供您产品的重要特性。

  1. 可选: 输入 标题和描述
  2. 可选: 要为您的产品添加额外的功能,请点 + Add new feature
  3. 点击 Save

快速启动和配置标签页

向任何快速开始指南或配置文档添加链接,以帮助客户部署和开始使用您的产品。

  1. 可选:输入 快速启动和配置说明
  2. 点击 Save
  3. 如果您不想显示它们,请选择 Hide default instructions 复选框。

链接的资源 标签页:

添加支持文档的链接,以帮助我们的客户使用您的产品。该信息映射到,显示在产品目录页面的 Documentation 部分中。

注意

必须至少添加三个资源。如果可用,红帽建议您添加更多资源。

  1. 选择 Type 下拉菜单,并输入资源的 TitleDescription
  2. 输入 Resource URL
  3. 可选: 要为您的产品添加其他资源,请点 + Add new Resource
  4. 点击 Save

常见问题 选项卡:

添加常见问题,并回答产品的用途、操作、安装或其他属性详细信息。您可以包括有关您的产品和服务的常见客户查询。

  1. 输入 问题和答案
  2. 可选: 要为您的产品添加额外的常见问题解答,请点 + Add new FAQ
  3. 点击 Save

支持 标签页:

这个标签可让您提供支持团队的联系信息。

  1. 输入 支持 说明支持网站支持电话号码支持电子邮件地址
  2. 点击 Save

Contacts 选项卡:

提供营销和技术团队的联系信息。

  1. 输入 市场营销联系人 电子邮件地址 和技术联系电子邮件地址
  2. 可选: 要添加其他联系人,请单击 + 添加另一个 联系人。
  3. 点击 Save

法律 标签页:

提供与产品相关的许可证和策略信息。

  1. 输入 产品和隐私策略 URL许可证协议 URL
  2. 点击 Save

SEO 标签页:

使用此选项卡提高我们相互客户的可发现性,提高红帽生态系统目录搜索和互联网搜索引擎中的可见性。提供大量搜索别名(键值对)将提高您产品的可发现性。

  1. 选择 Product Category
  2. 输入 KeyValue 以设置搜索别名。
  3. 点击 Save
  4. 可选: 要添加额外的键值对,请点 + Add new key-value 对
注意

为您的产品至少添加一个搜索别名。如果可用,红帽建议您添加更多别名。

6.3. 组件

使用此标签页将组件添加到您的产品列表中。通过此选项卡,您还可以查看链接到产品列表的附加组件列表。

另外,要将组件附加到产品列表中,您可以完成 Container、Operator 或 Helm Chart 产品列表的 Overview 选项卡中 至少可用的 Add least one product component 选项。

  1. 要添加新的或现有的产品组件,请点 Add component
  2. 要添加新组件,在 Component Name 文本框中输入组件名称。

    1. 您正在创建什么独立组件? 选择您要认证的组件。例如,若要认证非容器化组件,请选择 Non-containerized Application
    2. 对于 Red Hat Enterprise Linux 版本,请选择您要认证非容器化组件的 RHEL 版本。

      注意

      创建产品列表后,您无法修改 RHEL 版本。

    3. Next
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

      注意

      您可以将相同的组件添加到多个产品列表中。在发布产品列表前,必须发布所有附加的组件。

      附加组件后,您可以查看 附加组件列表 及其详情:

      1. Name
      2. 认证
      3. 安全性
      4. 类型
      5. Created
      6. 点击更多选项归档或删除附加的组件

或者,要搜索特定组件,请在 Search by component Name 文本框中输入组件的名称。

6.4. 支持

Red Hat Acceleration Desk (PAD)是一个产品与技术级别的合作伙伴帮助台服务,允许当前和潜在合作伙伴向中心位置提出与红帽产品、合作伙伴项目、产品认证、服务流程等相关的非技术问题。

您还可以联系 Red Hat 合作伙伴加速台有关认证的技术问题。技术帮助请求将重定向到认证运营团队。

通过合作伙伴订阅计划,红帽提供了免费的、非转售的软件订阅,可用于验证您目标红帽平台上的产品。要请求访问计划,请按照 合作伙伴订阅 网站上的说明进行操作。

  1. 要请求支持,请点击 Open a 支持问题单。请参阅 PAD - 如何打开和管理 PAD 问题单,以创建一个 PAD 票据。
  2. 要查看现有支持问题单的列表,请点 View 支持问题单

6.5. 删除产品

在创建了产品列表后,如果要删除它,转至 Overview 选项卡,然后单击 Delete

先取消发布一个已发布的产品,然后才能将它删除。即使删除该产品后,红帽仍保留与已删除产品相关的信息。

第 7 章 添加认证组件

在创建新产品列表后,为新创建的产品列表添加认证组件。您可以为新添加的组件配置以下选项:

注意

组件配置因不同的产品类别而异。

要配置组件选项,请转至 Components 选项卡,然后点击任何现有组件。

7.1. 认证

在 Red Hat Enterprise Linux 中验证您的产品的功能

使用 Certification 选项卡验证您在 Red Hat Enterprise Linux 上您的产品的功能。您可以执行以下功能:

此功能允许您执行以下功能:在本地运行红帽认证工具。下载测试计划。与红帽认证团队一起分享测试结果。如果需要,与认证团队交互。

要验证产品的功能,请执行以下步骤:

  1. 如果您是新合作伙伴,请单击 Request a partner subscription。当您的请求被批准后,您将获得添加到您的帐户中的有效订阅。
  2. 当您有有效的合作伙伴订阅时,请单击 Start Certification
  3. Go to Red Hat 认证工具

在红帽客户门户上创建了新的认证案例,您会被重定向到适当的组件门户页面。https://rhcert.connect.redhat.com/#/home

认证团队将与您联系以开始认证测试过程,并在遇到问题时跟进。验证成功后,会以 validate 完成消息显示绿色勾号。

要查看产品详情,请点 Review

7.2. 组件详情

在以下字段中输入所需组件详情:

  1. 组件名称 - 输入组件名称。此名称不会被发布,且仅适用于内部使用。
  2. Red Hat Enterprise Linux (RHEL) 版本 - 指定您要认证非容器化产品组件的 RHEL 版本。
注意

创建组件后,您无法更改 RHEL 版本。

7.3. 联系信息

注意

提供此选项卡的信息是可选的。

联系信息 选项卡中,输入您的产品组件的主要技术联系详情。

  1. 可选:在 技术联系电子邮件地址 字段中,输入镜像维护人员的电子邮件地址。
  2. 可选: 要为您的组件添加额外的联系人,请点 + Add new contact
  3. 点击 Save

7.4. 相关产品

相关产品选项卡提供与您的产品组件关联的产品列表以及以下信息:

  • 产品名称
  • 类型 - 传统应用程序
  • 可见性 - 发布或未发布
  • 最后活动 - 运行测试前的天数

要在您的组件中添加产品,请执行以下操作:

  • 如果要按名称查找产品,请在 Search by name 文本框中输入产品名称并点搜索图标。
  • 如果您不确定产品名称,请点 查找产品。在 Add product 对话框中,从 Available products 列表中选择所需的产品,然后点转发箭头。所选产品被添加到 Chosen 产品列表中。单击 Update attached products。添加的产品列在关联的产品列表中。
注意

所有标有星号 * 的字段都是必需的,您必须先完成,然后才能进行认证。

认证产品的第一步是设置可运行测试的环境。

测试环境由运行所有认证测试的系统组成。

8.1. 设置作为测试系统的系统

安装或配置需要认证的产品的系统称为测试(SUT)下的系统。

先决条件

  • SUT 已安装 RHEL 8 或更高版本。为方便起见,红帽提供了 kickstart 文件来安装 SUT 的操作系统。在启动安装过程前,按照适合您系统的说明进行操作。

流程

  1. 配置 红帽认证 存储库:

    1. 使用您的 RHN 凭证,通过红帽订阅管理注册您的系统:

      $ subscription-manager register
      Copy to Clipboard Toggle word wrap
    2. 显示您的系统可用订阅列表:

      $ subscription-manager list --available*
      Copy to Clipboard Toggle word wrap
    3. 搜索提供红帽认证(用于 RHEL 服务器)存储库的订阅,并记录订阅及其池 ID。
    4. 将订阅附加到您的系统:

      $ subscription-manager attach --pool=<pool_ID>
      Copy to Clipboard Toggle word wrap

      将 pool_ID 替换为订阅的池 ID。

注意

如果您启用了 Red Hat Subscription Management 的简单内容访问,则不必将订阅附加到您的系统。如需了解更多详细信息,请参阅如何为红帽订阅管理启用简单内容访问?

  1. 订阅红帽认证频道:

    $ subscription-manager repos --enable=cert-1-for-rhel-<VERSION>-<HOSTTYPE>-rpms
    Copy to Clipboard Toggle word wrap

    将 VERSION 替换为 SUT 上的 RHEL 版本号

    subscription-manager repos --enable=cert-1-for-rhel-9-<HOSTTYPE>-rpms
    Copy to Clipboard Toggle word wrap

    要查找系统架构,请运行

    $ uname -m
    Copy to Clipboard Toggle word wrap

    将 HOSTTYPE 替换为系统架构。

    $ subscription-manager repos --enable=cert-1-for-rhel-<VERSION>-x86_64-rpms
    Copy to Clipboard Toggle word wrap
  2. 安装软件测试套件软件包:

    注意

    此步骤仅适用于 RHEL 版本 9 或更高版本。

    $ dnf install redhat-certification-software
    Copy to Clipboard Toggle word wrap

第 9 章 从红帽客户门户网站下载测试计划

流程

  1. 登录红帽客户门户。
  2. 搜索与您的产品认证相关的问题单号,并复制它。
  3. Cases → 输入产品问题单号。
  4. 可选:点 Test Plans

    测试计划显示测试运行期间要测试的组件列表。

  5. Download Test Plan

要使用 CLI 运行认证测试,您必须准备主机并将测试计划下载到 SUT。运行测试后,下载结果并查看它们。

10.1. 使用测试计划准备测试的主机

运行 provision 命令执行很多操作,如设置与测试服务器的免密码 SSH 通信,基于认证类型安装所需的软件包,并创建要运行的最终测试计划,这是由红帽提供的测试计划以及发现系统要求时生成的测试列表。

例如,如果测试计划设计认证硬件或软件产品,则会安装所需的硬件或软件包。

先决条件

  • 您有测试服务器的主机名或 IP 地址。

流程

  1. 以任一方式运行 provision 命令。测试计划将自动下载到您的系统。

    • 如果您已经下载了测试计划:

      # rhcert-provision <path_to_test_plan_document>
      Copy to Clipboard Toggle word wrap

      将 <path_to_test_plan_document> 替换为您系统上保存的测试计划文件。

      按照屏幕的说明进行操作。

    • 如果您还没有下载测试计划:

      # rhcert-provision
      Copy to Clipboard Toggle word wrap

      按照屏幕说明进行操作,并在出现提示时输入您的 认证 ID

  2. 出现提示时,提供测试服务器的主机名或 IP 地址来设置免密码 SSH。只有在第一次添加新系统时,才会提示您。

10.2. 使用 CLI 运行认证测试

流程

  1. 运行以下命令:

    # rhcert-run
    Copy to Clipboard Toggle word wrap
  2. 提示时,选择是否通过输入 yesno 运行每个测试。

    您还可以通过键入,从列表中选择特定的测试。

注意

测试重启后,rhcert 会在后台运行,以验证镜像。使用 tail -f /var/log/rhcert/RedHatCertDaemon.log 来查看验证的当前进度和状态。

10.3. 检查并下载已执行测试计划的结果文件

步骤

  1. 下载测试结果文件:

    # rhcert-save
    Copy to Clipboard Toggle word wrap
  2. 使用 rhcert-save 命令将结果文件下载到本地系统。

先决条件

  • 您已从 SUT 或 Cockpit 下载测试结果文件。

步骤

  1. 登录红帽客户门户。
  2. 在主页上,在搜索栏中输入产品问题单号。

    从显示的列表中选择问题单号。

  3. Summary 选项卡中,在 Files 部分下点 Upload

红帽将审查提交的测试结果文件并建议后续步骤。

第 12 章 重新认证

作为现有合作伙伴,您必须重新认证应用程序:

  • 在 Red Hat Enterprise Linux 的每个主版本和次发行版本中
  • 在应用程序的每个主版本和次版本中
注意

要重新认证您的应用程序,必须为重新认证创建新认证请求。

要重新认证您的应用程序,请通过红帽认证 工具提交一个新的认证 请求,或者在 Red Hat Partner Connect 中创建新组件。对 SUT 运行认证测试,并像新证书一样进行常规认证工作流。

第 13 章 发布认证或验证的应用程序

13.1. 发布认证应用程序

在通过 Red Hat 认证门户提交认证 结果后,会扫描您的应用程序以了解漏洞。

扫描完成后,将在产品列表页面上为您的应用程序启用发布按钮。https://connect.redhat.com/manage/products提供所有必要的信息后,单击 publish 按钮。您的应用程序将在 红帽生态系统目录 上提供。

13.2. 发布验证的应用程序

提交应用程序进行验证后,红帽认证团队将审核并验证验证问卷的详细信息。如果稍后您要认证合作伙伴验证的应用程序,请完成认证详情。

红帽认证团队将审查提交的测试结果。验证成功后,若要在 红帽生态系统目录 上发布您的产品,请转至 产品列表页面 以附加合作伙伴验证或认证应用程序。

重要

Red Hat 软件认证或验证不会测试合作伙伴的产品在其功能或在所选平台上执行的方式。认证候选产品质量保证的所有方面都保持了合作伙伴独有责任。

附录 A. 使用 cockpit 运行认证测试

注意

使用 cockpit 运行认证测试 是可选的

使用以下步骤,使用 cockpit 设置并运行认证测试。

A.1. 使用 Cockpit 配置系统并运行测试

要使用 Cockpit 运行认证测试,您需要首先将测试计划上传到 SUT。运行测试后,下载结果并查看它们。

注意

虽然这不是强制要求,但红帽建议您配置和使用 Cockpit 进行认证过程。配置 cockpit 有助于您在 SUT 上管理和监控认证流程。

A.1.1. 设置 Cockpit 服务器

Cockpit 是一个 RHEL 工具,可让您更改系统的配置,并通过用户友好的 Web 界面监控其资源。

注意
  • 您必须在 SUT 或新系统上设置 Cockpit。
  • 确保 Cockpit 能够访问 SUT。

先决条件

  • Cockpit 服务器安装了 RHEL 版本 8 或更高版本。
  • 您已在系统上安装了 Cockpit 插件。
  • 您已启用了 Cockpit 服务。

流程

  1. 登录到安装 Cockpit 的系统。
  2. 安装由红帽认证团队提供的 Cockpit RPM。

    # dnf install redhat-certification-cockpit
    Copy to Clipboard Toggle word wrap

默认情况下,Cockpit 在端口 9090 上运行。

A.1.2. 在 Cockpit 中添加系统测试

将测试下的系统(SUT)添加到 Cockpit 可让它们使用免密码 SSH 进行通信。

先决条件

  • 您有 SUT 的 IP 地址或主机名。

步骤

  1. 在浏览器中输入 http://<Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 点登录的 cockpit 用户名→添加新主机上的 向下箭头。

    此时会显示对话框。

  4. Host 字段中,输入系统的 IP 地址或主机名。
  5. User name 字段中输入您要分配给这个系统的名称。
  6. 可选:选择预定义的颜色,或为添加主机选择的新颜色。
  7. 点击 Add
  8. 单击 Accept key 并连接,让 Cockpit 通过免密码 SSH 与 SUT 通信。
  9. 输入密码
  10. 选择 Authorize SSH Key 复选框。
  11. 登录

验证

在左侧面板中,点击 ToolsRed Hat Certification
验证您刚刚添加的 SUT 是否显示在右侧的 Hosts 部分下。

A.1.3. 在 Red Hat SSO 网络中获取授权

步骤

  1. 浏览器的地址栏中输入 http://<Cockpit_system_IP>:9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 Tools → Red Hat Certification
  4. 在 Cockpit 主页上,单击 Authorize,以与红帽系统建立连接。

    此时会显示 Log in your your Red Hat account 页面。

  5. 输入您的凭证并点 Next

    显示 对 rhcert-cwe 页面的 Grant 访问权限

  6. Grant access。确认消息会显示成功的设备登录。您现在已连接到 Cockpit Web 应用。

对于非授权或有限的访问用户:

对于授权用户:

步骤

  1. 浏览器的地址栏中输入 http://<Cockpit_system_IP>:9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 Tools → Red Hat Certification
  4. Test Plans 选项卡。这时将显示 Recent 认证支持问题单 的列表。
  5. Download Test Plan。这时将显示一条消息,确认成功添加 test 计划。
  6. 下载的测试计划将列在 Test Plan Files 部分的 File Name 下。

在测试下置备系统(SUT)包括以下操作:

  • 设置与 cockpit 的免密码 SSH 通信
  • 根据认证类型,在您的系统中安装所需的软件包
  • 创建要运行的最终测试计划,这是由红帽提供的测试计划获取的常见测试列表,并在发现系统要求时生成的测试。

例如,如果测试计划设计认证了软件产品,则会安装所需的软件包。

流程

  1. 在浏览器地址栏中输入 http:// <Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 ToolsRed Hat Certification
  4. 单击 Hosts 选项卡,然后单击您要在其上运行测试的主机。
  5. 单击 Provision

    此时会出现一个对话框。

    1. 单击 Upload, 然后选择新的 test plan .xml 文件。然后,单击 Next。此时会显示成功上传信息。

      (可选)如果要重复使用之前上传的测试计划,请再次选择它来重新上传。

      注意

      在认证过程中,如果您收到用于持续产品认证的重新设计测试计划,则可以按照上一步进行上传。但是,在继续操作前,您必须在 Terminal 选项卡中运行 rhcert-clean

    2. Role 字段中,选择 test 下的系统,再单击 Submit。默认情况下,该文件被上传到 path:/var/rhcert/plans/<testplanfile.xml>

A.1.6. 使用 Cockpit 运行认证测试

先决条件

  • 您已在测试下准备好了系统。

步骤

  1. 在浏览器地址栏中输入 http:// <Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 ToolsRed Hat Certification
  4. 单击 Hosts 选项卡,再单击要在其上运行测试的主机。
  5. Terminal 选项卡,然后选择 Run。

    此时会显示基于测试计划上传的推荐测试列表。要运行的最终测试计划是红帽所提供的测试计划以及发现系统要求时生成的测试。

  6. 提示时,选择是否通过输入 yesno 运行每个测试。

    您还可以通过键入,从列表中选择特定的测试。

A.1.7. 检查并下载已执行测试计划的结果文件

流程

  1. 在浏览器地址栏中输入 http:// <Cockpit_system_IP > :9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 ToolsRed Hat Certification
  4. Result Files 选项卡查看生成的测试结果。

    1. 可选:点击 Preview 来查看每个测试的结果。
    2. 点结果文件旁的 Download。默认情况下,结果文件保存为 /var/rhcert/save/hostname-date-time.xml

步骤

  1. 浏览器的地址栏中输入 http://<Cockpit_system_IP>:9090/ 来启动 Cockpit Web 应用程序。
  2. 输入用户名和密码,然后单击 登录
  3. 在左侧面板中选择 Tools → Red Hat Certification
  4. Result Files 选项卡,然后从显示的列表中选择问题单号。

    1. 对于授权用户,请单击 Submit。这时将显示一条信息,确认测试结果文件的成功上传。
    2. 有关非授权用户,请参阅将已执行测试计划的结果文件上传到红帽客户门户。

已执行测试计划的测试结果文件将上传到红帽客户门户中。

部分 II. 认证或验证容器化应用程序

第 14 章 操作容器

14.1. 容器简介

容器包括所有必要的组件,如库、框架和其他在其自己的 可执行文件中被隔离 和自我影响的额外依赖项。红帽容器认证可确保操作系统和应用程序层的支持性。它通过红帽组件更新或合作伙伴组件,通过漏洞扫描和健康评分提供增强的安全性,以及更新红帽或合作伙伴的组件时的生命周期承诺。

但是,以 特权模式 运行的容器或特权容器,扩展其边界并与其主机交互,以运行命令或访问主机的资源。例如,对主机上挂载的文件系统的读取或写入的容器必须以特权模式运行。

特权容器可能会造成安全风险。被破坏的特权容器也会破坏其主机和整个环境的完整性。

此外,特权容器容易与主机不兼容,因为操作系统接口,如命令、库、ABI 和 API 可能会随时间而改变或弃用。这可能会使特权容器面临以不受支持的方式与主机交互的风险。

您必须确保您的容器可以在客户环境的任何支持主机上运行。红帽建议您采用持续集成模型,允许您使用公共 beta 版或较早版本的红帽产品测试您的容器,以最大程度提高兼容性。

合作伙伴 Validation - 如果您要使用您自己的标准和测试套件来验证您的产品类型,请选择此类型的认证。通过此合作伙伴验证,您可以更快地在红帽生态系统目录上发布您的软件产品。但是,经过验证的工作负载可能无法纳入所有红帽集成要求和最佳实践。我们鼓励您继续努力获得红帽认证。

认证 - 如果您希望产品使用红帽测试套件进行全面的测试,请从协作支持中受益。您的产品将满足您的标准与红帽的标准,包括互操作性、生命周期管理、安全性和支持要求。

满足要求并完成认证工作流的产品在红帽生态系统目录中列出。合作伙伴将收到用于推广其产品认证的徽标。

14.2. 容器认证工作流

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

任务摘要

认证工作流包括三个主要阶段,

14.2.1. 证书加入

执行认证载入概述的步骤:

  1. 加入 Red Hat Connect for Technology 计划。
  2. 同意计划条款和条件。
  3. 选择您需要的产品类别来创建您的产品列表。您可以从可用产品类别中选择:

    1. 容器化应用程序
    2. 独立应用程序
    3. OpenStack 基础架构
  4. 完成您的公司简介。
  5. 将组件添加到产品列表中。
  6. 为您的产品列表认证组件。

14.2.2. 容器化应用程序的认证测试

按照以下高级步骤运行认证测试:

  1. 构建容器镜像。
  2. 将容器镜像上传到所选 registry。您可以选择任何您选择的 registry。
注意

您可以使用自定义容器 registry 执行红帽容器认证。这可让您向 registry 提供访问令牌,这有助于验证用户的容器镜像的可用性。另外,它还确保容器镜像可以被安全扫描程序扫描,并可在红帽生态系统目录中发布。自定义 registry 使用不同身份验证方法,红帽软件认证计划支持以下验证方法以及标准的 OCI registry API:

  • bearer 身份验证
  • OAuth2
  • 基本身份验证

有关身份验证方法的详情,请参阅支持的 auth 方法

另外,如果您使用公共 registry (如 DockerHubGitLabGitHub 或类似)对未经身份验证的或匿名访问强制实施速率限制,请为指定 registry 提供了一个具有有效身份验证凭证的 Docker 配置文件。如果没有此配置,红帽认证系统可能会超过允许的请求限制,防止其认证或为您的容器提供服务。

  1. 下载 演示认证工具.
  2. 使用容器镜像运行 Preflight。
  3. Red Hat Partner Connect 上提交结果。

合作伙伴 验证或认证容器必须添加到 Red Hat Partner Connect 门户的产品列表页面中。 发布后,您的产品列表会显示在 红帽生态系统目录 上,方法是使用您提供的产品信息。您可以使用相应的标签在 Red Hat Ecosystem Catalog 上发布合作伙伴验证和认证的应用程序。

14.3. 使用 preflight 测试多架构容器认证

按照以下步骤执行多架构容器认证测试:

步骤

  1. 构建多架构容器镜像。如需更多信息,请参阅使用 Podman 构建和推送多架构容器镜像
  2. 将容器镜像上传到所选 registry。您可以选择任何您选择的 OCI registry。
注意

您可以使用自定义容器 registry 执行红帽容器认证。这可让您向 registry 提供访问令牌,这有助于验证用户的容器镜像的可用性。另外,它还确保容器镜像可以被安全扫描程序扫描,并在 红帽生态系统目录 上发布。自定义 registry 使用不同身份验证方法,红帽软件认证计划支持以下验证方法以及标准的 OCI registry API:

  • bearer 身份验证
  • OAuth2
  • 基本身份验证

有关身份验证方法的详情,请参阅支持的 auth 方法

另外,如果您使用公共 registry (如 DockerHubGitLabGitHub 或类似)对未经身份验证的或匿名访问强制实施速率限制,请为指定 registry 提供了一个具有有效身份验证凭证的 Docker 配置文件。如果没有此配置,红帽认证系统可能会超过允许的请求限制,防止其认证或为您的容器提供服务。

  1. 下载 演示认证工具.确保您有最新版本可从任何更新或改进中受益。
  2. 使用多架构容器镜像运行 preflight。如果所提供的镜像是清单列表,preflight 将自动运行并提交所有架构的结果。
  3. 检查并解决 preflight 认证结果。
  4. Red Hat Partner Connect 上提交结果。

14.3.1. 使用 Podman 构建和推送多架构容器镜像

按照说明使用 Podman 构建和推送多架构镜像:

先决条件

  1. Podman 已安装在您的系统上。
  2. 您有一个 Dockerfile,用于定义您要为多个架构构建的镜像。
  3. 您有一个 Quay.io 帐户或任何其他容器 registry 帐户。

步骤

  1. 准备 Dockerfile。
  2. 构建和推送多架构容器镜像。有关构建和推送多架构容器镜像的说明,请参阅 podman-manifest 文档。

第 15 章 创建产品

产品列表提供了营销和技术信息,向潜在客户展示您的产品功能和优势。它为您的产品添加所有必要的组件打下基础。

先决条件

除了特定的认证测试要求外,在目标红帽平台上验证您的产品功能。如果在目标红帽平台上运行您的产品会产生细微的体验,那么您必须在认证前解决这个问题。

您必须构建容器镜像,以便它们满足认证标准和策略。如需了解更多详细信息,请参阅 镜像内容要求。您还可以使用 红帽基础镜像 来构建容器镜像。在将容器镜像与容器主机匹配前,请参阅 Red Hat Enterprise Linux Container Compatibility Matrix

步骤

红帽建议为全面的产品列表填写列表选项卡中的所有可选字段。更多信息可帮助相互客户做出明智的选择。

在为您的产品列表输入信息时,红帽鼓励与您的产品经理、营销代表或其他产品专家进行协作。

标有星号 integrity 的字段是必需的。

步骤

  1. 登录到 Red Hat Partner Connect Portal
  2. 进入认证技术门户选项卡,然后单击访问门户
  3. 在标题栏中,单击 Product management
  4. 列表和认证 选项卡中,单击 管理产品
  5. My Products 页面中,单击 Create Product

    此时会打开 Create New Product 对话框。

  6. 输入 产品名称
  7. 您要认证的产品是什么类? 下拉菜单中选择所需的产品类别,然后单击 Create product。例如,选择 Containerized Application 来创建容器化产品列表。

    此时会打开 Product name 的新页面。它包含以下标签页:

    除了以下标签页外,页面标头提供 Product Score 详情。产品分数评估您的产品信息并显示分数。它可以是:

    • Fair
    • good
    • 卓越的
    • best
  8. How do I improve my score? 以提高您的产品分数。
  9. 提供产品列表详细信息后,单击 Save,然后转到下一部分。

15.1. 概述

此选项卡由您必须完成的一系列任务组成,才能发布您的产品:

15.1.1. 容器化应用程序的完整产品列表详情

  1. 要完成您的产品列表详情,请点击 Start

    此时会打开 Product Information 选项卡。

  2. 输入所有基本产品详情,然后单击保存
  1. 要完成您的公司概况信息,请单击 Start。输入所有详细信息后,单击 Submit
  2. 要修改现有详情,请点击 Review。此时会打开 Account Details 页面。
  3. 检查并修改 Company 配置文件信息,然后单击提交

15.1.4. 认证或验证您的容器化应用程序

无法验证已经具有认证组件的产品。无需认证组件才能验证产品。

  1. 要为您的产品选择验证或认证,请单击 Validate 或 Certify 产品。阅读 公共和测试指南

    1. 要认证,点 Add Component,然后进入 第 15.1.6 节 “为容器化应用程序至少添加一个产品组件”
    2. 若要验证,请单击 Start validation

提交应用程序进行验证后,红帽认证团队将审核并验证合作伙伴验证问卷的详细信息。如果稍后您要认证合作伙伴验证的应用程序,请完成认证详情。

15.1.5. 验证容器化应用程序

  1. 请选择您要验证哪些红帽产品?Red Hat Open Shift 或 Red Hat Enterprise Linux。
  2. 选择您要为其验证产品的 Red Hat Open ShiftRed Hat Enterprise Linux 版本和子版本。
  3. 单击 Start Validation
  4. 在合作伙伴验证 问题中输入并完成所需的信息,包括文档、产品测试以及已测试过的 Red Hat Open Shift 或 Red Hat 集群。

红帽将使用问卷中的输入详情来确定是否可验证产品以及是否可以发布。

  1. 单击 Start。您将被重定向到 Components 选项卡。

    要添加新的或现有的产品组件,请点 Add component

  2. 用于添加新组件,

    1. Component Name 文本框中,输入组件名称。
    2. 您正在创建什么独立组件? 选择您要认证的组件。例如,要根据您的要求认证容器,请从以下选项中选择:

      1. 容器镜像
      2. RHEL 的容器化应用程序
      3. OpenStack 的容器化应用程序
    3. 点击 Next
    4. 对于 Red Hat Enterprise Linux 版本,请选择您要认证组件的主 RHEL 版本。

      注意

      创建产品列表后,您无法修改版本。

    5. Create new component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

15.1.7. 为您的容器化应用程序列表认证组件

  1. 要为您的列表认证组件,请点击 Start。如果您有现有的产品组件,您可以查看附加组件 列表 及其详情:

    1. Name
    2. 认证
    3. 安全性
    4. 类型
    5. Created
    6. 点击更多选项归档或删除组件
  2. 选择认证组件。

完成上述所有任务后,您将看到与所有选项对应的绿色勾号标记。

Overview 选项卡还提供以下信息:

  1. 产品联系人 - 提供产品营销和技术联系信息。

    1. 单击 Add contacts to product 以提供联系信息
    2. Edit 以更新信息。
  2. 中的组件 - 提供附加到该产品的组件列表及其最后更新的信息。

    1. Add components to product 将新的或现有组件添加到您的产品中。
    2. Edit components 更新现有组件信息。

发布产品列表后,您可以查看您的产品 就绪情况和 方式,以便在 Overview 选项卡上提高分数

15.2. 产品信息

在此选项卡中,您可以提供有关您产品的所有必要信息。产品详情会与您的产品在红帽生态系统目录中发布。

常规 标签页:

提供产品的基本详情,包括产品名称和描述。

  1. 输入 产品名称
  2. 可选:根据 定义的准则上传产品徽标
  3. 输入 Brief 描述 和长 描述
  4. 点击 Save

功能和好处 选项卡:

提供您产品的重要特性。

  1. 可选: 输入 标题和描述
  2. 可选: 要为您的产品添加额外的功能,请点 + Add new feature
  3. 点击 Save

快速启动和配置标签页

向任何快速开始指南或配置文档添加链接,以帮助客户部署和开始使用您的产品。

  1. 可选:输入 快速启动和配置说明
  2. 点击 Save
  3. 如果您不想显示它们,请选择 Hide default instructions 复选框。

链接的资源 标签页:

添加支持文档的链接,以帮助我们的客户使用您的产品。该信息映射到,显示在产品目录页面的 Documentation 部分中。

注意

必须至少添加三个资源。如果可用,红帽建议您添加更多资源。

  1. 选择 Type 下拉菜单,并输入资源的 TitleDescription
  2. 输入 Resource URL
  3. 可选: 要为您的产品添加其他资源,请点 + Add new Resource
  4. 点击 Save

常见问题 选项卡:

添加常见问题,并回答产品的用途、操作、安装或其他属性详细信息。您可以包括有关您的产品和服务的常见客户查询。

  1. 输入 问题和答案
  2. 可选: 要为您的产品添加额外的常见问题解答,请点 + Add new FAQ
  3. 点击 Save

支持 标签页:

这个标签可让您提供支持团队的联系信息。

  1. 输入 支持 说明支持网站支持电话号码支持电子邮件地址
  2. 点击 Save

Contacts 选项卡:

提供营销和技术团队的联系信息。

  1. 输入 市场营销联系人 电子邮件地址 和技术联系电子邮件地址
  2. 可选: 要添加其他联系人,请单击 + 添加另一个 联系人。
  3. 点击 Save

法律 标签页:

提供与产品相关的许可证和策略信息。

  1. 输入 产品和隐私策略 URL许可证协议 URL
  2. 点击 Save

SEO 标签页:

使用此选项卡提高我们相互客户的可发现性,提高红帽生态系统目录搜索和互联网搜索引擎中的可见性。提供大量搜索别名(键值对)将提高您产品的可发现性。

  1. 选择 Product Category
  2. 输入 KeyValue 以设置搜索别名。
  3. 点击 Save
  4. 可选: 要添加额外的键值对,请点 + Add new key-value 对
注意

为您的产品至少添加一个搜索别名。如果可用,红帽建议您添加更多别名。

15.3. 容器的组件标签页

使用此标签页将组件添加到您的产品列表中。另外,您可以查看链接到产品列表的附加组件列表。

从以下选项中选择:

另外,要将组件附加到产品列表中,您可以完成 Container、Operator 或 Helm Chart 产品列表的 Overview 选项卡中 至少可用的 Add least one product component 选项。

15.3.1. 容器镜像

  1. 要添加新的或现有的产品组件,请点 Add component
  2. 要添加新组件,请执行这些步骤,

    1. Component Name 文本框中,输入组件名称。
    2. 您正在创建什么独立组件? 选择您要认证的组件。例如,要认证容器,请选择 Container Image
    3. 点击 Next
    4. Create and Add 组件页面中,为组件选择首选的 OS Content-Type 和 Distribution Method :

      1. 对于容器 使用什么基础镜像?,请选择您要用于您的组件的镜像类型:

        1. Red Hat Universal Base Image - 您可以通过 Red Hat Container registry 或任何其他第三方 registry 发布基于 UBI 的容器镜像。
        2. Red Hat Enterprise Linux - 您只能通过 Red Hat Container registry 发布基于 RHEL 的容器镜像。
      2. 对于 选择您首选的分发方法,请选择您要用来分发容器镜像的容器 registry。客户将从此位置拉取容器镜像,并遵循以下所有方式将容器镜像托管在您管理的 registry 中。红帽建议 Quay.io 托管镜像,但您可以使用任何兼容 Kubernetes 的 registry。

        1. Red Hat Container Registry - 如果您希望红帽通过红帽容器 registry 发布您的容器,请选择这个选项。如果选择这个选项,则使用此发布方法的镜像托管在容器 registry 上,但通过 Red Hat registry 代理地址提供给客户。客户可以在不向其配置中添加 registry 即可访问容器,但您对特定于客户的下载指标或其他使用情况数据没有可见性。

          注意

          如果您是选择 Red Hat Container Registry 选项的 grandfathered 合作伙伴,您会看到一个名为 我需要红帽托管我的 registry 的额外复选框。此复选框会触发红帽管理的 quay.io registry 创建以用于此组件。

        2. 您自己的容器 Registry - 选择此选项在 registry 中发布您的认证容器。在使用您自己的第三方 registry 时,您的客户需要向 registry 进行身份验证,以拉取您的认证容器并使用您的产品。在断开连接的环境中,客户必须将 registry 添加到其红帽平台中,才能安装您的认证容器。

          注意

          红帽建议在您自己的 registry 上进行自我托管,因为您可以访问整个容器指标,并完全控制您的产品访问权限。红帽建议将 Quay.io 用于此目的,但您可以使用任何兼容 Kubernetes 的 registry。

    5. Add Component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

15.3.2. RHEL 的容器化应用程序

  1. 要添加新的或现有的产品组件,请点 Add component
  2. 要添加新组件,请执行这些步骤,

    1. Component Name 文本框中,输入组件名称。
    2. 您正在创建什么独立组件? 选择您要认证的组件。例如,为 RHEL 选择 Containerized 应用程序。
    3. 点击 Next
    4. Create and Add component 页面中,为组件选择首选的 RHEL 版本和分发方法:

      1. 对于要认证您的镜像的哪个 RHEL 主版本,请选择首选的 RHEL 版本。

        注意

        您无法在创建产品组件后修改版本。

      2. 对于 分发方法,请选择您要用来分发容器镜像的容器注册表。客户将从此位置拉取容器镜像,并遵循以下所有方式将容器镜像托管在您管理的 registry 中。红帽建议 Quay.io 托管镜像,但您可以使用任何兼容 Kubernetes 的 registry。

        1. Red Hat Container Registry - 如果您希望红帽通过红帽容器 registry 发布您的容器,请选择这个选项。选中 I need Red Hat to host my registry 复选框。当您选择这个选项时,使用此发布方法的镜像托管在容器 registry 上,但通过 Red Hat registry 代理地址分发到客户。客户可以在不向其配置中添加 registry 的情况下访问容器,但您无法了解特定于客户的下载指标或其他代理使用数据。

          注意

          如果您是选择 Red Hat Container Registry 选项的 grandfathered 合作伙伴,您会看到一个名为 我需要红帽托管我的 registry 的额外复选框。此复选框会触发红帽管理的 quay.io registry 创建以用于此组件。

        2. 您自己的容器 Registry - 选择此选项在 registry 中发布您的认证容器。在使用您自己的第三方 registry 时,您的客户需要向 registry 进行身份验证,以拉取您的认证容器并使用您的产品。在断开连接的环境中,客户必须将 registry 添加到其红帽平台中,才能安装您的认证容器。

          注意

          红帽建议在您自己的 registry 上进行自我托管,因为您可以访问整个容器指标,并完全控制您的产品访问权限。红帽建议将 Quay.io 用于此目的,但您可以使用任何兼容 Kubernetes 的 registry。

    5. Add Component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

15.3.3. OpenStack 的容器化应用程序

  1. 要添加新的或现有的产品组件,请点 Add component
  2. 要添加新组件,在 Component Name 文本框中输入组件名称。

    1. 您正在创建什么独立组件? 选择您要认证的组件。例如,若要为 Red Hat OpenStack 平台认证容器化应用程序,请选择 OpenStack 的容器化应用。
    2. 对于 OpenStack 的哪个主要版本,您将认证您的镜像? 默认情况下为启用版本 17。您无法修改此字段。
    3. Create new Component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

      注意

      您可以在多个产品列表中添加一个组件。在发布产品列表前,必须发布所有附加的组件。

      附加组件后,您可以查看 附加组件列表 及其详情:

      1. Name
      2. 认证
      3. 安全性
      4. 类型
      5. Created
      6. 点击更多选项归档或删除附加的组件

或者,要搜索特定组件,请在 Search by component Name 文本框中输入组件的名称。

15.4. 支持

Red Hat Acceleration Desk (PAD)是一个产品与技术级别的合作伙伴帮助台服务,允许当前和潜在合作伙伴向中心位置提出与红帽产品、合作伙伴项目、产品认证、服务流程等相关的非技术问题。

您还可以联系 Red Hat 合作伙伴加速台有关认证的技术问题。技术帮助请求将重定向到认证运营团队。

通过合作伙伴订阅计划,红帽提供了免费的、非转售的软件订阅,可用于验证您目标红帽平台上的产品。要请求访问计划,请按照 合作伙伴订阅 网站上的说明进行操作。

  1. 要请求支持,请点击 Open a 支持问题单。请参阅 PAD - 如何打开和管理 PAD 问题单,以创建一个 PAD 票据。
  2. 要查看现有支持问题单的列表,请点 View 支持问题单

15.5. 删除产品

在创建了产品列表后,如果要删除它,转至 Overview 选项卡,然后单击 Delete

先取消发布一个已发布的产品,然后才能将它删除。即使删除该产品后,红帽仍保留与已删除产品相关的信息。

第 16 章 添加认证组件

在创建新产品列表后,为新创建的产品列表添加认证组件。

您可以为新添加的组件配置以下选项:

注意

组件配置因不同的产品类别而异。

要配置选项,请转至 Components 选项卡,然后点任何现有组件。

16.1. 镜像

Images 选项卡提供您使用 preflight 工具提交的容器镜像的测试结果。您必须配置 preflight 并推送容器镜像,以查看测试结果。

  • 要推送容器镜像,请点 Set up Preflight
  • 有关认证测试的详细信息,请参阅 运行认证测试套件

测试完成后,您可以看到两类镜像:

  • 清单 Digests - 表示可用于多个架构的容器镜像。
  • 独立容器镜像 - 表示仅适用于单个架构的容器镜像。

此页面提供以下容器镜像详情:

  • 特定镜像 ID 或 SHA ID
  • 镜像标签
  • 认证 - 根据所执行的检查,认证或未认证、通过或失败状态。单击它以获取更多详细信息。
  • 架构 - 镜像的特定架构(如果适用)。
  • Security - 检查是否有漏洞。
  • Health Index - Container Health Index 是容器镜像可用的最旧的、最严重的安全更新。'a' 比 'F' 更最新。如需了解更多详细信息,请参阅 Red Hat Container Catalog 内部使用的容器健康指数等级
  • Created - 提交认证的日期。
  • 点 Actions 菜单执行以下任务:

    • 删除镜像 - 在镜像未发布时,点这个选项来删除容器镜像。
    • 同步标签 - 当您更改了镜像标签时,使用这个选项同步 Red Hat Partner ConnectRed Hat Container Catalog 上可用的容器镜像信息。
    • View in Catalog - 发布容器镜像时,点此选项查看 红帽生态系统 容器目录上发布的容器镜像。
  • 单击 Publish,以发布您的认证容器镜像。

16.2. 容器认证

16.2.1. 对于容器镜像

认证选项卡提供有关出口控制问题的详细信息,以及为附加的容器镜像执行的所有认证测试,以及提交您的容器镜像以进行认证的方法。

  • 出口控制问题

    Export control questionsnaire 包含一系列问题,红帽法律团队将评估第三方供应商的导出合规性。合作伙伴的法律代表必须审核并回答问题。红帽需要大约五天的时间来评估响应,并根据红帽批准合作伙伴的响应或拒绝合作伙伴延迟或请求更多信息。

    1. 单击 Start questionnaire,以输入有关您产品的所有法律信息。
    2. Review 修改现有的详情。
注意

如果您使用 通用基础镜像(UBI) 版本来构建容器镜像,您可以在私有存储库中托管您的镜像。这可让您跳过导出合规问题。只有在 Red Hat Container Catalog 上托管您的镜像时,才需要此表单。

  • 认证测试

    它提供为附加容器镜像执行的 Manifest Digests 认证测试或独立认证测试的状态,其中包括以下详情:

    • 结果 - 测试总数与结果一起运行。单击它以获取更多详细信息。
    • Image - 特定镜像 ID 或 SHA ID
    • 最后活动 - 运行测试前的天数
  • 提交容器镜像进行验证

注意

此步骤仅认证您的容器。使用 认证 选项卡认证功能。

16.2.2. 对于 RHEL 上的容器化应用程序

  • 出口控制问题

    Export control questionsnaire 包含一系列问题,红帽法律团队将评估第三方供应商的导出合规性。合作伙伴的法律代表必须审核并回答问题。红帽需要大约五天的时间来评估响应,并根据红帽批准合作伙伴的响应或拒绝合作伙伴延迟或请求更多信息。

    1. 单击 Start questionnaire,以输入有关您产品的所有法律信息。
    2. Review 修改现有的详情。
注意

如果您使用 通用基础镜像(UBI) 版本来构建容器镜像,您可以在私有存储库中托管您的镜像。这可让您跳过导出合规问题。只有在 Red Hat Container Catalog 上托管您的镜像时,才需要此表单。

  • 在 Red Hat Enterprise Linux 中验证您的产品的功能

    使用 Certification 选项卡验证您在 Red Hat Enterprise Linux 上您的产品的功能。您可以执行以下功能:

    • 在本地运行红帽认证工具
    • 下载测试计划
    • 与红帽认证团队分享测试结果。
    • 如果需要,与认证团队交互。

      要验证产品的功能,请执行以下步骤:

      • 如果您是新合作伙伴,请单击 Request a partner subscription。当您的请求被批准后,您将获得添加到您的帐户中的有效订阅。
      • 当您有有效的合作伙伴订阅后,点 Start 认证,然后点 Go to Red Hat 认证工具

        在红帽客户门户上创建了新的认证案例,您会被重定向到相应的认证门户页面。

        认证团队将与您联系以开始认证测试过程,并在遇到问题时跟随您。验证成功后,会以 validate 完成消息显示绿色勾号。

        要查看产品详情,请点 Review

  • 提交容器镜像进行验证

注意

此步骤仅认证您的容器。使用 认证 选项卡认证功能。

16.2.3. 用于 OpenStack 的容器化应用程序

认证选项卡提供有关出口控制问卷的详细信息,以及提交您的容器镜像以进行认证的方法。

  • 出口控制问题

    Export control questionsnaire 包含一系列问题,红帽法律团队将评估第三方供应商的导出合规性。合作伙伴的法律代表必须审核并回答问题。红帽需要大约五天的时间来评估响应,并根据红帽批准合作伙伴的响应或拒绝合作伙伴延迟或请求更多信息。

    1. 单击 Start questionnaire,以输入有关您产品的所有法律信息。
    2. Review 修改现有的详情。
注意

如果您使用 通用基础镜像(UBI) 版本来构建容器镜像,您可以在私有存储库中托管您的镜像。这可让您跳过导出合规问题。只有在 Red Hat Container Catalog 上托管您的镜像时,才需要此表单。

注意

此步骤仅认证您的容器。使用 认证 选项卡认证功能。

16.3. 安全性

security 选项卡提供附加产品组件的运行状况。红帽使用 Health Index 来识别红帽通过 红帽生态系统目录 提供的组件的安全风险。

Health Index 是一种衡量容器镜像可用的最旧的、最严重的安全更新。等级为 'A' 的镜像比 "F 等级更新一次。如需更多信息,请参阅 Red Hat Container Catalog 内部使用的容器健康指数等级

此标签提供镜像的健康索引,其中包括以下详情:

  • 镜像 ID
  • 健康索引

16.4. 仓库信息

您可以使用 Repository information 选项卡配置 registry 和存储库详情。

在以下字段中输入所需详情:

Expand
字段名称描述

容器 registry 命名空间

创建容器时设定的 registry 名称。当容器被发布时,此字段将变为不可编辑。

出站存储库名称

您从托管镜像的私有 registry 中获取的存储库名称,如 ubi-minimal。

仓库概述

从容器镜像获取的存储库摘要。

仓库描述

从容器镜像获取的存储库描述。

用户在 Red Hat Container Catalog 上获取公司镜像的说明

提供您希望用户在获取容器镜像时遵循的特定说明。此字段仅适用于容器镜像。

配置所有必填字段后,单击 Save

注意

所有标有星号 * 的字段都是必需的,您必须先完成,然后才能进行容器认证。

16.5. 组件详情

使用此选项卡配置产品组件详情。

在以下字段中输入所需详情:

Expand
字段名称描述

镜像类型

为您的产品组件选择相应的镜像类型。

  • operator image- 如果要部署管理其他镜像的 Operator,请选择此类型。
  • standalone image - 如果您希望您的镜像由您的产品或用户部署,请选择此类型。
  • 组件镜像 - 如果您希望您的镜像由您的产品部署而不是用户,请选择此类型。

应用程序类别

选择对应的软件产品应用程序类型。

主机级别访问权限

在两个选项之间进行选择:

  • 无特权 - 如果容器与主机隔离。

    或者

  • privileged - 如果容器需要特殊的主机级别权限。
注意

如果您的产品功能需要 root 访问权限,则必须在运行 preflight 工具前选择 privileged 选项。此设置可能对红帽进行审核。

发行类别

在两个选项之间进行选择:

  • 正式发布 - 当您选择这个选项时,应用程序已正式发布并被支持。

    或者

  • Beta - 当您选择这个选项时,应用程序可作为预发布候选版本提供。

组件名称

用于内部用途的组件名称。

自动发布

启用此选项时,容器镜像会在 Red Hat Container 目录上自动发布,并在所有认证测试后自动发布。

Red Hat Enterprise Linux 版本

它表示您要在其上认证容器化应用程序的 RHEL 版本。

注意

此字段不可编辑,仅适用于 RHEL 上的容器化应用程序。

Red Hat OpenStack platform

它表示您要在其上认证容器化应用程序的 OpenStack 平台版本。

注意

此字段不可编辑,仅适用于 Red Hat OpenStack 平台上的容器化应用程序。

16.6. 联系信息

注意

提供此选项卡的信息是可选的。

联系信息 选项卡中,输入您的产品组件的主要技术联系详情。

  1. 可选:在 技术联系电子邮件地址 字段中,输入镜像维护人员的电子邮件地址。
  2. 可选: 要为您的组件添加额外的联系人,请点 + Add new contact
  3. 点击 Save

16.7. 容器的相关产品

相关产品选项卡提供与您的产品组件关联的产品列表以及以下信息:

  • 产品名称
  • 类型
  • 可见性 - 发布或未发布
  • 最后活动 - 运行测试前的天数

要在您的组件中添加产品,请执行以下操作:

  • 如果要按名称查找产品,请在 Search by name 文本框中输入产品名称并点搜索图标。
  • 如果您不确定产品名称,请点 查找产品。在 Add product 对话框中,从 Available products 列表中选择所需的产品,然后点转发箭头。所选产品被添加到 Chosen 产品列表中。单击 Update attached products。添加的产品列在关联的产品列表中。
注意

所有标有星号 * 的字段都是必需的,您必须先完成,然后才能进行认证。

第 17 章 运行认证测试套件

17.1. 所有容器化应用程序

要运行 OpenShift 和 Red Hat Enterprise Linux (RHEL)容器化应用程序的认证测试套件,您必须完成本节中的所有步骤。对于 RHEL 容器化应用程序,还必须完成 第 17.2 节 “RHEL 容器化应用程序的额外步骤” 才能运行认证套件。

按照说明运行认证测试套件:

先决条件

  • 您有一个 Red Hat Enterprise Linux (RHEL)系统。
  • 您可以使用 Podman 登录到您的镜像 registry。例如:

    $ podman login --username <your_username> --password <your_password> --authfile ./temp-authfile.json <registry>
    Copy to Clipboard Toggle word wrap

    以下步骤需要使用-- authfile ./temp-authfile.json 选项生成的身份验证文件。当您使用 Preflight 工具提交测试结果时,--docker-config 选项会使用这个身份验证文件。

  • 您已在 Red Hat Partner Connect 门户上 设置了您的容器。产品列表必须至少正在进行。
  • 您有一个 pyxis API key

流程

  1. 使用 Podman 构建容器镜像。

    注意

    使用 Podman 构建容器镜像是可选的。

  2. 将容器上传到您选择的任何私有或公共 registry。
  3. 下载最新的 Preflight 认证工具
  4. 执行以下步骤来验证被认证的容器的功能:

    1. 运行 Preflight 认证工具:

      $ preflight check container \
      registry.example.org/<namespace>/<image_name>:<image_tag>
      Copy to Clipboard Toggle word wrap
    2. 检查日志信息并根据需要更改容器。如需更多信息,请参阅故障排除信息页面

      如果您发现任何问题,请提交 支持票据 或运行以下命令:

      $ preflight support
      Copy to Clipboard Toggle word wrap

      红帽欢迎社区贡献。如果您遇到与 Preflight 或 Red Hat Partner Connect 门户相关的错误,或者如果您对功能改进或贡献有建议,请报告此问题。在报告问题前,请确保查看公开问题以避免重复。

    3. 运行容器认证实用程序并进行更改,直到所有测试都通过。
  5. 运行以下命令来提交认证测试结果:

    $ preflight check container \
    registry.example.org/<namespace>/<image_name>:<image_tag> \
    --submit \
    --pyxis-api-token=<api_token> \
    --certification-component-id=<component_id> \
    --docker-config=./temp-authfile.json
    Copy to Clipboard Toggle word wrap

    将测试结果提交到 Red Hat Partner Connect 门户后,红帽将扫描容器层以获取软件包漏洞。

  6. 进入到 Red Hat Partner Connect 门户 中的 Images 选项卡,查看认证组件 UI 中的认证和漏洞测试结果。
注意

对于 RHEL 容器化应用程序,还必须完成 第 17.2 节 “RHEL 容器化应用程序的额外步骤”

17.2. RHEL 容器化应用程序的额外步骤

要认证 RHEL 容器化应用程序,您必须完成 第 17.1 节 “所有容器化应用程序” 中的所有之前步骤,然后按照 非容器认证工作流 验证产品的功能。

您还可以使用 红帽认证工具(具有内置 pre-flight 工具)认证 RHEL 应用程序容器,从而可让您验证容器。

步骤

按照以下步骤使用内置的 preflight 工具:

  1. 安装 preflight 软件包:

    [ dnf install redhat-certification-preflight

  2. 运行 rhcert 并按照说明进行操作:

    [ rhcert-run

  3. 查看并保存测试结果:

    [ rhcert-save

18.1. 发布已认证容器

Partner Connect 门户上的 preflight 工具提交测试结果后,会扫描您的容器镜像以查找漏洞。成功完成扫描后,将为您的镜像启用发布按钮。点击发布按钮后,您的镜像将在 红帽生态系统目录 中提供。

18.2. 发布验证的容器

提交容器进行验证后,红帽认证团队将审核并验证验证问卷的详细信息。如果稍后您要认证合作伙伴验证的应用程序,请完成认证详情。

红帽认证团队将审查提交的测试结果。验证成功后,若要在 红帽生态系统目录 上发布您的产品,请转至 产品列表页面 以附加合作伙伴验证或认证应用程序。

重要

Red Hat 软件认证或验证不会测试合作伙伴的产品在其功能或在所选平台上执行的方式。认证候选产品质量保证的所有方面都保持了合作伙伴独有责任。

部分 III. 认证或验证 Operator

第 19 章 使用 Operator

注意

在继续合作伙伴验证或 Red Hat Operator 认证前,验证您的 operator 镜像或必要的容器镜像作为组件。在认证 Operator 捆绑包之前,Operator Bundle 中引用的所有容器必须已经验证或经过认证,并在红帽生态系统目录中发布。

19.1. Operator 简介

Kubernetes 操作器是一种打包、部署和管理 Kubernetes 应用程序的方法。我们的 Operator 认证计划可确保合作伙伴的操作员可由 OpenShift 平台上的 Operator Lifecycle Manager (OLM)进行部署,并使用红帽认证的容器镜像正确格式化。

合作伙伴 Validation - 如果您要使用您自己的标准和测试套件来验证您的产品类型,请选择此类型的认证。通过此合作伙伴验证,您可以更快地在红帽生态系统目录上发布您的软件产品。但是,经过验证的工作负载可能无法纳入所有红帽集成要求和最佳实践。我们鼓励您继续努力获得红帽认证。

认证 - 如果您希望产品使用红帽测试套件进行全面的测试,请从协作支持中受益。您的产品将满足您的标准与红帽的标准,包括互操作性、生命周期管理、安全性和支持要求。

满足要求并完成认证工作流的产品在红帽生态系统目录中列出。合作伙伴将收到用于推广其产品认证的徽标。

19.2. Operator 的认证工作流

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

任务摘要

认证工作流包括三个主要步骤:

19.2.1. Operator 载入的证书

执行认证载入概述的步骤:

  1. 加入 Red Hat Connect for Technology 计划。
  2. 同意计划条款和条件。
  3. 选择您需要的产品类别来创建您的产品列表。您可以从可用产品类别中选择:

    1. 容器化应用程序
    2. 独立应用程序
    3. OpenStack 基础架构
  4. 完成您的公司简介。
  5. 将组件添加到产品列表中。
  6. 为您的产品列表认证组件。

19.2.2. Operator 认证测试

运行认证测试:

  1. 对 Red Hat upstream 仓库进行分叉(fork)。
  2. 在测试环境中安装并运行红帽认证管道。
  3. 查看测试结果并进行故障排除。
  4. 通过拉取请求向红帽提交认证结果。
  5. 如果您希望红帽运行所有测试,请创建一个拉取请求。这会触发认证托管管道在红帽基础架构上运行所有认证检查。
注意

有些 Operator 版本看似从目录中消失,这发生在图形自动修剪时发生,从而导致更新图中排除了一些 Operator 版本。因此,当某个频道有小于或等于以前发行版本的频道时,您将无法释放 Operator 捆绑包。

如果您要有意修剪图形,您可以在拉取请求中使用以下可用命令跳过测试并重启管道:

Expand

/test skip <test_case_name>

test_case_name 测试将被跳过。请注意,只能跳过一部分测试。

/pipeline 重启 certified-hosted-pipeline

托管管道将重新触发。

合作伙伴 验证 或认证 Operator 必须添加到 Red Hat Partner Connect 门户的产品列表页面中。发布后,您的产品列表会显示在 红帽生态系统目录 上,方法是使用您提供的产品信息。您可以使用相应标签在 Red Hat Ecosystem Catalog 上发布合作伙伴验证和认证 Operator。

第 20 章 创建产品

产品列表提供了营销和技术信息,向潜在客户展示您的产品功能和优势。它为您的产品添加所有必要的组件打下基础。

先决条件

除了特定的认证测试要求外,在目标红帽平台上验证您的产品功能。如果在目标红帽平台上运行您的产品会产生细微的体验,那么您必须在认证前解决这个问题。

在创建 Operator 捆绑包前,将 Operator 镜像或必要的容器镜像作为容器应用程序组件认证。

步骤

红帽建议为全面的产品列表填写列表选项卡中的所有可选字段。更多信息可帮助相互客户做出明智的选择。

在为您的产品列表输入信息时,红帽鼓励与您的产品经理、营销代表或其他产品专家进行协作。

标有星号 integrity 的字段是必需的。

步骤

  1. 登录到 Red Hat Partner Connect Portal
  2. 进入认证技术门户选项卡,然后单击访问门户
  3. 在标题栏中,单击 Product management
  4. 列表和认证 选项卡中,单击 管理产品
  5. My Products 页面中,单击 Create Product

    此时会打开 Create New Product 对话框。

  6. 输入 产品名称
  7. 您要认证的产品是什么类? 下拉菜单中选择所需的产品类别,然后单击 Create product。例如,选择 Containerized Application 来创建容器化产品列表。

    此时会打开 Product name 的新页面。它包含以下标签页:

    除了以下标签页外,页面标头提供 Product Score 详情。产品分数评估您的产品信息并显示分数。它可以是:

    • Fair
    • good
    • 卓越的
    • best
  8. How do I improve my score? 以提高您的产品分数。
  9. 提供产品列表详细信息后,单击 Save,然后转到下一部分。

20.1. 概述

此选项卡由您必须完成的一系列任务组成,才能发布您的产品:

20.1.1. Operator 的完整产品列表详情

  1. 要完成您的产品列表详情,请点击 Start

    此时会打开 Product Information 选项卡。

  2. 输入所有基本产品详情,然后单击保存

20.1.2. Operator 的完整公司配置集信息

  1. 要完成您的公司概况信息,请单击 Start。输入所有详细信息后,单击 Submit
  2. 要修改现有详情,请点击 Review。此时会打开 Account Details 页面。
  3. 检查并修改 Company 配置文件信息,然后单击提交

20.1.4. 认证或验证您的 Operator

无法验证已经具有认证组件的产品。无需认证组件才能验证产品。

  1. 要为您的产品选择验证或认证,请单击 Validate 或 Certify 产品。阅读 公共和测试指南

    1. 要认证,点 Add Component,然后进入 第 20.1.6 节 “为 Operator 添加至少一个产品组件”
    2. 若要验证,请单击 Start validation

提交您的 Operator 进行验证后,Red Hat 认证团队将审核并验证合作伙伴验证问卷的详细信息。如果稍后您要认证合作伙伴验证的 Operator,请完成认证详情。

20.1.5. 验证您的 Operator

  1. 请选择您要验证哪些红帽产品?Red Hat Open Shift 或 Red Hat Enterprise Linux。
  2. 选择您要为其验证产品的 Red Hat Open ShiftRed Hat Enterprise Linux 版本和子版本。
  3. 单击 Start Validation
  4. 在合作伙伴验证 问题中输入并完成所需的信息,包括文档、产品测试以及已测试过的 Red Hat Open Shift 或 Red Hat 集群。

红帽将使用问卷中的输入详情来确定是否可验证产品以及是否可以发布。

20.1.6. 为 Operator 添加至少一个产品组件

  1. 单击 Start。您将被重定向到 Components 选项卡。

    要添加新的或现有的产品组件,请点 Add component

  2. 用于添加新组件,

    1. Component Name 文本框中,输入组件名称。
    2. 对于 您要创建的 OpenShift 组件是什么? 选择您要认证的组件。例如,要认证您的操作器,请选择 Operator Bundle
    3. 点击 Next
    4. 专业认证 - 此功能允许您认证专门的操作员。

      1. 如果要认证一个专用的 operator. …​Select the required operator:

        1. Container Network Interface (CNI)
        2. Cloud Storage Interface (CSI)
    5. publication Options - 选择以下选项之一来发布您的 Operator:

      1. 仅限 Web 目录(catalog.redhat.com) - Operator 发布到 Red Hat Container Catalog,在 Red Hat OpenShift OperatorHub 中不可见。当您创建新操作器组件时,此选项是默认选项,它适用于不希望在 OpenShift 中公开安装其操作器但需要证明认证的合作伙伴。只有在您有一个没有包括在 OpenShift In-product Catalog (Certified)选项中的发行版、权利或其他业务要求时,才选择此选项。
      2. OpenShift In-product Catalog (认证) - Operator 列在 Red Hat Container Catalog 中,并发布到 OpenShift OperatorHub 中嵌入的认证 Operator 索引。
    6. Add component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

20.1.7. 为您的 Operator 列表认证组件

  1. 要为您的列表认证组件,请点击 Start。如果您有现有的产品组件,您可以查看附加组件 列表 及其详情:

    1. Name
    2. 认证
    3. 安全性
    4. 类型
    5. Created
    6. 点击更多选项归档或删除组件
  2. 选择认证组件。

完成上述所有任务后,您将看到与所有选项对应的绿色勾号标记。

Overview 选项卡还提供以下信息:

  1. 产品联系人 - 提供产品营销和技术联系信息。

    1. 单击 Add contacts to product 以提供联系信息
    2. Edit 以更新信息。
  2. 中的组件 - 提供附加到该产品的组件列表及其最后更新的信息。

    1. Add components to product 将新的或现有组件添加到您的产品中。
    2. Edit components 更新现有组件信息。

发布产品列表后,您可以查看您的产品 就绪情况和 方式,以便在 Overview 选项卡上提高分数

20.2. 产品信息

在此选项卡中,您可以提供有关您产品的所有必要信息。产品详情会与您的产品在红帽生态系统目录中发布。

常规 标签页:

提供产品的基本详情,包括产品名称和描述。

  1. 输入 产品名称
  2. 可选:根据 定义的准则上传产品徽标
  3. 输入 Brief 描述 和长 描述
  4. 点击 Save

功能和好处 选项卡:

提供您产品的重要特性。

  1. 可选: 输入 标题和描述
  2. 可选: 要为您的产品添加额外的功能,请点 + Add new feature
  3. 点击 Save

快速启动和配置标签页

向任何快速开始指南或配置文档添加链接,以帮助客户部署和开始使用您的产品。

  1. 可选:输入 快速启动和配置说明
  2. 点击 Save
  3. 如果您不想显示它们,请选择 Hide default instructions 复选框。

链接的资源 标签页:

添加支持文档的链接,以帮助我们的客户使用您的产品。该信息映射到,显示在产品目录页面的 Documentation 部分中。

注意

必须至少添加三个资源。如果可用,红帽建议您添加更多资源。

  1. 选择 Type 下拉菜单,并输入资源的 TitleDescription
  2. 输入 Resource URL
  3. 可选: 要为您的产品添加其他资源,请点 + Add new Resource
  4. 点击 Save

常见问题 选项卡:

添加常见问题,并回答产品的用途、操作、安装或其他属性详细信息。您可以包括有关您的产品和服务的常见客户查询。

  1. 输入 问题和答案
  2. 可选: 要为您的产品添加额外的常见问题解答,请点 + Add new FAQ
  3. 点击 Save

支持 标签页:

这个标签可让您提供支持团队的联系信息。

  1. 输入 支持 说明支持网站支持电话号码支持电子邮件地址
  2. 点击 Save

Contacts 选项卡:

提供营销和技术团队的联系信息。

  1. 输入 市场营销联系人 电子邮件地址 和技术联系电子邮件地址
  2. 可选: 要添加其他联系人,请单击 + 添加另一个 联系人。
  3. 点击 Save

法律 标签页:

提供与产品相关的许可证和策略信息。

  1. 输入 产品和隐私策略 URL许可证协议 URL
  2. 点击 Save

SEO 标签页:

使用此选项卡提高我们相互客户的可发现性,提高红帽生态系统目录搜索和互联网搜索引擎中的可见性。提供大量搜索别名(键值对)将提高您产品的可发现性。

  1. 选择 Product Category
  2. 输入 KeyValue 以设置搜索别名。
  3. 点击 Save
  4. 可选: 要添加额外的键值对,请点 + Add new key-value 对
注意

为您的产品至少添加一个搜索别名。如果可用,红帽建议您添加更多别名。

20.3. 组件

使用此标签页将组件添加到您的产品列表中。通过此选项卡,您还可以查看链接到产品列表的附加组件列表。

另外,要将组件附加到产品列表中,您可以完成 Container、Operator 或 Helm Chart 产品列表的 Overview 选项卡中 至少可用的 Add least one product component 选项。

  1. 要添加新的或现有的产品组件,请点 Add component
  2. 用于添加新组件,

    1. Component Name 文本框中,输入组件名称。
    2. 对于 您要创建的 OpenShift 组件是什么? 选择您要认证的组件。例如,要认证 Operator,请选择 Operator Bundle。
    3. 点击 Next
    4. 专业认证 - 此功能允许您认证专门的操作员。

      1. 如果要认证一个专用 Operator,请选择 My operator 是一个 CNI 或 CSI 复选框。
      2. 选择所需的 Operator:

        1. Container Network Interface (CNI)
        2. Cloud Storage Interface (CSI)
    5. publication Options - 选择以下选项之一来发布您的 Operator:

      1. 仅限 Web 目录(catalog.redhat.com)- Operator 发布到 Red Hat Container Catalog,但在 Red Hat OpenShift OperatorHub 中不可见。这是创建新 Operator 捆绑包组件时的默认选项。
      2. OpenShift In-product Catalog (认证) - Operator 列在 Red Hat Container Catalog 中,并发布到 OpenShift OperatorHub 中嵌入的认证 Operator 索引。此选项为客户提供了在 OpenShift UI 中直接从 OperatorHub 安装 Operator 的可用性。
    6. Add Component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要添加的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component
注意

您可以将相同的组件添加到多个产品列表中。在发布产品列表前,必须发布所有附加的组件。

附加组件后,您可以查看 附加组件列表 及其详情:

  1. Name
  2. 认证
  3. 安全性
  4. 类型
  5. Created
  6. 点击更多选项归档或删除附加的组件

或者,要搜索特定组件,请在 Search by component Name 文本框中输入组件的名称。

20.4. 支持

Red Hat Acceleration Desk (PAD)是一个产品与技术级别的合作伙伴帮助台服务,允许当前和潜在合作伙伴向中心位置提出与红帽产品、合作伙伴项目、产品认证、服务流程等相关的非技术问题。

您还可以联系 Red Hat 合作伙伴加速台有关认证的技术问题。技术帮助请求将重定向到认证运营团队。

通过合作伙伴订阅计划,红帽提供了免费的、非转售的软件订阅,可用于验证您目标红帽平台上的产品。要请求访问计划,请按照 合作伙伴订阅 网站上的说明进行操作。

  1. 要请求支持,请点击 Open a 支持问题单。请参阅 PAD - 如何打开和管理 PAD 问题单,以创建一个 PAD 票据。
  2. 要查看现有支持问题单的列表,请点 View 支持问题单

20.5. 删除产品

在创建了产品列表后,如果要删除它,转至 Overview 选项卡,然后单击 Delete

先取消发布一个已发布的产品,然后才能将它删除。即使删除该产品后,红帽仍保留与已删除产品相关的信息。

第 21 章 添加认证组件

在创建新产品列表后,为新创建的产品列表添加认证组件。

您可以为新添加的组件配置以下选项:

注意

组件配置因不同的产品类别而异。

要配置选项,请转至 Components 选项卡,然后点任何现有组件。

21.1. Operator 认证

  • 在 Red Hat OpenShift 中验证您的 CNI 或 CSI 的功能

    注意

    此功能仅适用于 CNI 和 CSI operator。

    此功能允许您在本地运行认证测试,并与红帽认证团队分享测试结果。

    验证专用 CNI 或 CSI operator 的功能:

    1. Go to Red Hat 认证工具。在 Red Hat 认证门户上创建一个新的认证问题单,您会被重定向到适当的门户页面。
    2. Summary 选项卡中,进入 Files 部分并点击 Upload, 以上传您的测试结果。
    3. 在" 讨论 "部分 添加相关注释,然后单击添加注释

      红帽将查看您提交的结果文件,并验证您的专用 CNI 或 CSI operator。验证成功后,您的 Operator 将获得批准并发布。

  • Operator 认证

    要运行 Operator 认证套件,请转至测试选项。它显示了两个标签页,以确定如何测试和认证您的操作员。

    • 使用 OpenShift 本地测试时使用您选择的 OpenShift 集群进行测试和认证。这个选项允许您将提供的管道集成到您自己的工作流中,以持续验证和访问全面的日志,以获得更快速的反馈循环。这是推荐的方法。如需更多信息 ,请参阅在本地运行认证测试套件
    • 使用红帽的托管管道测试此方法与与认证相关的 OpenShift 软件测试是分开的。在您要认证的 OpenShift 版本中测试了 Operator 后,如果您不希望全面的日志,或者准备将其包含在您自己的工作流中,您可以使用这种方法。如需更多信息,请参阅使用红帽托管管道运行认证套件

      比较认证测试选项

      长期,红帽建议使用"本地测试"选项(也称为 CI Pipeline)来测试 Operator。此方法允许您将测试合并到 CI/CD 工作流和开发过程中,以确保产品在 OpenShift 平台上正常工作,并简化 Operator 的未来更新和重新发布。

      虽然最初学习方法和调试错误可能需要一些时间,但是一种高级方法,并提供最佳和最快的反馈。另一方面,红帽建议使用托管的管道,在红帽基础架构选项上运行,用于几个用例,比如在紧急时间工作时,或者没有足够的资源和时间来学习和使用该工具。

      您可以同时将托管管道与 CI/local 管道一起使用,以纳入本地工具长期。

    • 最近的 test run 选项卡 提供最新的测试结果(若有)。

      认证表提供以下信息:

      • Operator 版本
      • Pull request
      • 测试于
      • 测试结果 - Pass 或 Fail
      • Created
    • 单击 View all tests 以获取有关所有测试的详细信息。它有两个标签页:

      • 测试结果 - 显示所有认证测试的摘要及其结果。
      • 测试 Artifacts - 显示日志文件。

21.2. Operator 的可选资格

注意

此选项卡仅适用于 Operator 和 Helm Chart 认证。

可选的资格 选项卡提供了在 Red Hat OpenShift 上部署工作负载时,验证您的产品是否遵循红帽推荐指南和最佳实践方案。当您选择此选项卡时,会创建一个功能认证,您可在其中提交红帽复习的测试结果。验证成功后,您的工作负载产品被列为使用红帽生态系统目录上的 Meets 最佳实践 徽标的认证。

21.3. Operator 的存储库信息

您可以使用 Repository information 选项卡配置 registry 和存储库详情。

在以下字段中输入所需详情:

Expand
字段名称描述

容器 registry 命名空间

创建容器时设定的 registry 名称。当容器被发布时,此字段将变为不可编辑。

出站存储库名称

您从托管镜像的私有 registry 中获取的存储库名称,如 ubi-minimal

授权 GitHub 用户帐户

它表示允许提交 operator 代表您公司认证的 GitHub 用户。

仓库概述

从容器镜像获取的存储库摘要。

仓库描述

从容器镜像获取的存储库描述。

配置所有必填字段后,单击 Save

注意

所有标有星号 * 的字段都是必需的,您必须先完成,然后才能进行容器认证。

21.4. Operator 的组件详情

使用此选项卡配置产品组件详情。

在以下字段中输入所需详情:

Expand
字段名称描述

镜像类型

默认情况下会选择 Operator 捆绑包。

应用程序类别

选择对应的软件产品应用程序类型。

组件名称

用于内部用途的组件名称。

配置所有必填字段后,单击 Save

21.5. Operator 的联系信息

注意

提供此选项卡的信息是可选的。

联系信息 选项卡中,输入您的产品组件的主要技术联系详情。

  1. 可选:在 技术联系电子邮件地址 字段中,输入镜像维护人员的电子邮件地址。
  2. 可选: 要为您的组件添加额外的联系人,请点 + Add new contact
  3. 点击 Save

21.6. Operator 的相关产品

相关产品选项卡提供与您的产品组件关联的产品列表以及以下信息:

  • 产品名称
  • 类型
  • 可见性 - 发布或未发布
  • 最后活动 - 运行测试前的天数

要在您的组件中添加产品,请执行以下操作:

  • 如果要按名称查找产品,请在 Search by name 文本框中输入产品名称并点搜索图标。
  • 如果您不确定产品名称,请点 查找产品。在 Add product 对话框中,从 Available products 列表中选择所需的产品,然后点转发箭头。所选产品被添加到 Chosen 产品列表中。单击 Update attached products。添加的产品列在关联的产品列表中。
注意

所有标有星号 * 的字段都是必需的,您必须先完成,然后才能进行认证。

21.7. 更新 Graph

通过这个标签页,为您的组件选择 OpenShift 产品版本和频道详情。

  • OpenShift Version 列表框中选择所需的版本。
  • Channel 列表中选择所需的频道。

Update graph 表提供以下信息:

  • Version
  • 更新路径
  • 其他可用频道

有关升级的更多信息,请参阅标题下面的 Operator 更新文档 标题。

注意

所有标记为星号 * 的字段都是必需的,且必须在继续 Operator 捆绑包认证前完成。

第 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。

22.2. Fork 仓库

  1. 登录 GitHub 并分叉红帽OpenShift 操作器上游存储库。
  2. 根据您要针对发布的目录,从下表中分叉适当的软件仓库:
Expand
目录上游存储库

认证目录

https://github.com/redhat-openshift-ecosystem/certified-operators

  1. 克隆已分叉的 certified-operators 存储库。
  2. 将 Operator 捆绑包的内容添加到已分叉存储库中可用的 operators 目录中。

如果要在多个目录中发布 Operator 捆绑包,您可以分叉每个目录,并为每个 fork 完成认证。

22.3. 安装 OpenShift Operator Pipeline

先决条件

OpenShift 集群上的管理员特权。

步骤

您可以通过两种方式安装 OpenShift Operator Pipeline:

22.3.1. 自动化过程

红帽建议使用自动过程来安装 OpenShift Operator Pipeline。自动化过程可确保在执行 CI 管道前正确配置了集群。此流程将操作器安装到集群,可帮助您自动更新所有 CI Pipeline 任务,而无需手动干预。此流程还支持多租户场景,您可以在其中迭代测试多个 Operator。

按照以下步骤,通过 Operator 安装 OpenShift Operator Pipeline:

注意

在安装 Operator Pipeline 前,保持 Operator 捆绑包的源文件就绪。

22.3.1.1. 先决条件

在安装 OpenShift Operator Pipeline 前,在终端窗口中运行以下命令来配置所有先决条件:

注意

Operator 会监视所有命名空间。因此,如果另一个命名空间中已存在 secrets/configs/etc,您可以使用现有命名空间安装 Operator Pipeline。

  1. 新建命名空间:

    oc new-project oco
    Copy to Clipboard Toggle word wrap
  2. 设置 kubeconfig 环境变量:

    export KUBECONFIG=/path/to/your/cluster/kubeconfig
    Copy to Clipboard Toggle word wrap
    注意

    kubeconfig 变量用于在测试下部署 Operator,并运行认证检查。

    oc create secret generic kubeconfig --from-file=kubeconfig=$KUBECONFIG
    Copy to Clipboard Toggle word wrap
  3. 执行以下命令提交认证结果:

    • 将 github API 令牌添加到创建拉取请求的存储库:

      oc create secret generic github-api-token --from-literal GITHUB_TOKEN=<github token>
      Copy to Clipboard Toggle word wrap
    • 添加红帽容器 API 访问密钥:

      oc create secret generic pyxis-api-secret --from-literal pyxis_api_key=< API KEY >
      Copy to Clipboard Toggle word wrap

      此 API 访问密钥专门与 Red Hat Partner Connect 门户上的唯一的合作伙伴帐户相关。

  4. 在裸机上运行 OpenShift 集群的先决条件:

    1. 如果您在裸机上运行 OpenShift 集群,Operator 管道需要一个 5Gi 的持久性卷才能运行。以下 yaml 模板可帮助您使用本地存储创建一个 5Gi 持久性卷。

      例如:

      apiVersion: v1
      kind: PersistentVolume
      metadata:
        name: my-local-pv
      spec:
        capacity:
          storage: 5Gi
        volumeMode: Filesystem
        accessModes:
          - ReadWriteOnce
        persistentVoumeReclaimPolicy: Delete
        local:
          path: /dev/vda4  ← use a path from your cluster
        nodeAffinity:
          required:
            nodeSelectorTerms:
              - matchExpressions:
                - key: kubernetes.io/hostname
                  operator: In
                  values:
                    - crc-8k6jw-master-0  ← use the name of one of your cluster’s node
      Copy to Clipboard Toggle word wrap
    2. CI 管道会自动构建 Operator 捆绑包镜像和捆绑包镜像索引,用于测试和验证。默认情况下,管道会在集群的 OpenShift 容器 registry 中创建镜像。

      要在裸机上使用此 registry,请在运行管道前设置内部镜像 registry。有关设置内部镜像 registry 的详细信息,请参阅镜像 registry 存储配置

      如果要使用外部私有 registry,请通过添加 secret 为集群提供访问凭证。具体步骤请参阅 使用私有容器 registry

22.3.1.2. 通过 Operator 安装管道

按照以下步骤将 Operator 添加到集群中:

  1. 安装 Operator 认证 Operator。

    • 登录您的 OpenShift 集群控制台。
    • 在主菜单中,导航到 OperatorsOperatorHub
    • All Items - Filter by keyword filter/search 框中输入 Operator Certification Operator
    • 显示时选择 Operator Certification Operator 标题。此时会显示 Operator Certification Operator 页面。
    • Install。此时会显示 Install Operator 网页。
    • 向下滚动并单击 Install
    • View Operator 来验证安装。
  2. 为新安装的 Operator Pipeline 应用自定义资源。

    • 登录您的 OpenShift 集群控制台。
    • Projects 下拉菜单中选择您要应用自定义资源的项目。
    • 展开 Operator Pipeline,然后点 Create instance

      Create Operator Pipeline 屏幕自动填充默认值。

      注意

      如果您根据 先决条件 创建所有资源名称,则不需要更改任何默认值。

    • Create

    创建自定义资源,Operator 开始协调。

验证步骤

  1. 检查自定义资源的 Conditions。

    • 登录您的 OpenShift 集群控制台。
    • 导航到您新创建的 Operator Pipeline 自定义资源的项目,然后点 Custom Resource。
    • 向下滚动到 Conditions 部分,检查所有 Status 值是否都设为 True
注意

如果资源无法协调,请检查 Message 部分来识别后续步骤来修复错误。

  1. 检查 Operator 日志。

    • 在终端窗口中运行以下命令:

      oc get pods -n openshift-marketplace
      Copy to Clipboard Toggle word wrap
    • 记录 certification-operator-controller-manager pod 的完整 podman 名称,再运行以下命令:

      oc get logs -f -n openshift-operators <pod name> manager
      Copy to Clipboard Toggle word wrap
    • 检查是否已发生 Operator 的协调。
22.3.1.3. 执行管道

要执行管道,请确保您在目录的一个 templates 文件夹中有 workspace-template.yml 文件,从要运行 tkn 命令的位置。

要在终端窗口中创建一个 workspace-template.yml 文件:

cat <<EOF> workspace-template.yml
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi
EOF
Copy to Clipboard Toggle word wrap

您可以通过 不同的方法 运行管道。

22.3.2. 手动过程

按照以下步骤手动安装 OpenShift Operator Pipeline:

22.3.2.1. 安装 OpenShift Pipeline Operator
  1. 登录您的 OpenShift 集群控制台。
  2. 在主菜单中,进入到 Operators > OperatorHub
  3. All Items - Filter by keyword filter/search 框中输入 OpenShift Pipelines
  4. 显示时选择 Red Hat OpenShift Pipelines 标题。显示 Red Hat OpenShift Pipelines 页面。
  5. Install。此时会显示 Install Operator 网页。
  6. 向下滚动并单击 Install
22.3.2.2. 配置 OpenShift (oc) CLI 工具

用于配置对集群的访问的文件称为 kubeconfig 文件。这是引用配置文件的一种通用方法。使用 kubeconfig 文件来组织有关集群、用户、命名空间和身份验证机制的信息。

kubectl 命令行工具使用 kubeconfig 文件来查找选择集群所需的信息,并与集群的 API 服务器通信。

  1. 在终端窗口中设置 KUBECONFIG 环境变量:
export KUBECONFIG=/path/to/your/cluster/kubeconfig
Copy to Clipboard Toggle word wrap

kubeconfig 文件在测试下部署 Operator,并运行认证检查。

22.3.2.3. 创建 OpenShift 项目

创建新命名空间以在管道上启动您的工作。

要创建命名空间,在终端窗口中运行以下命令:

oc adm new-project <my-project-name> # create the project
oc project <my-project-name> # switch into the project
Copy to Clipboard Toggle word wrap
重要

不要在 default 项目或命名空间中运行管道。红帽建议为管道创建一个新项目。

22.3.2.4. 添加 kubeconfig secret

创建包含 kubeconfig 的 kubernetes secret,用于向运行认证管道的集群进行身份验证。认证管道需要 kubeconfig 在 OpenShift 集群中执行 Operator 测试部署。

要添加 kubeconfig secret,在终端窗口中运行以下命令:

oc create secret generic kubeconfig --from-file=kubeconfig=$KUBECONFIG
Copy to Clipboard Toggle word wrap
22.3.2.5. 从 Red Hat Catalog 导入 Operator

红帽容器目录 导入 Operator

在终端窗口中运行以下命令:

注意

在运行命令前,请识别 OpenShift 集群的主版本和次要版本(例如 OPENSHIFT_VERSION=v4.19)

oc import-image certified-operator-index:${OPENSHIFT_VERSION} \
  --from=registry.redhat.io/redhat/certified-operator-index:${OPENSHIFT_VERSION} \
  --reference-policy local \
  --scheduled \
  --confirm
oc import-image redhat-marketplace-index:${OPENSHIFT_VERSION} \
  --from=registry.redhat.io/redhat/redhat-marketplace-index:${OPENSHIFT_VERSION} \
  --reference-policy local \
  --scheduled \
  --confirm
Copy to Clipboard Toggle word wrap
注意

如果您在 IBM Power 集群上将 OpenShift 用于 ppc64le 架构,请运行以下命令来避免权限问题:

oc adm policy add-scc-to-user anyuid -z pipeline

此命令将 anyuid 安全性上下文约束(SCC)赋予默认管道服务帐户。

22.3.2.6. 安装认证管道依赖项

在终端窗口中,使用以下命令在集群中安装认证管道依赖项:

$git clone https://github.com/redhat-openshift-ecosystem/operator-pipelines
$cd operator-pipelines
$oc apply -R -f ansible/roles/operator-pipeline/templates/openshift/pipelines
$oc apply -R -f ansible/roles/operator-pipeline/templates/openshift/tasks
Copy to Clipboard Toggle word wrap
22.3.2.7. 配置存储库以提交认证结果

在终端窗口中,运行以下命令来配置您的存储库以提交认证结果:

22.3.2.7.1. 添加 GitHub API 令牌

执行所有配置后,管道可以自动打开拉取请求,以将 Operator 提交到红帽。

要启用此功能,请在运行管道时添加 GitHub API Token 和 use- param submit=true

oc create secret generic github-api-token --from-literal GITHUB_TOKEN=<github token>
Copy to Clipboard Toggle word wrap
22.3.2.7.2. 添加 Red Hat Container API 访问密钥

添加您从红帽接收的特定容器 API 访问密钥:

oc create secret generic pyxis-api-secret --from-literal pyxis_api_key=< API KEY >
Copy to Clipboard Toggle word wrap
22.3.2.7.3. 启用摘要固定
注意

此步骤必须向红帽提交认证结果。

OpenShift Operator 管道可以将捆绑包中的所有镜像标签自动替换为镜像 Digest SHA。这允许管道确保它是否使用所有镜像的固定版本。管道将捆绑包的固定版本作为新分支提交到您的 GitHub 存储库。

要启用此功能,请添加一个可作为 secret 访问 GitHub 的私钥。

  1. 使用 Base64 对有权访问包含捆绑包的 GitHub 存储库的私钥进行编码。

    base64 /path/to/private/key
    Copy to Clipboard Toggle word wrap
  2. 创建包含 base64 编码私钥的 secret。

    cat << EOF > ssh-secret.yml
    kind: Secret
    apiVersion: v1
    metadata:
      name: github-ssh-credentials
    data:
      id_rsa: |
        <base64 encoded private key>
    EOF
    Copy to Clipboard Toggle word wrap
  3. 将 secret 添加到集群中。

    oc create -f ssh-secret.yml
    Copy to Clipboard Toggle word wrap
22.3.2.7.4. 使用私有容器 registry

管道会自动构建 Operator 捆绑包镜像和捆绑包镜像索引,用于测试和验证。默认情况下,管道会在集群的 OpenShift Container Registry 中创建镜像。如果要使用外部私有 registry,则必须通过在集群中添加 secret 来提供凭证。

oc create secret docker-registry registry-dockerconfig-secret \
    --docker-server=quay.io \
    --docker-username=<registry username> \
    --docker-password=<registry password> \
    --docker-email=<registry email>
Copy to Clipboard Toggle word wrap

22.4. 执行 OpenShift Operator 管道

您可以通过以下方法运行 OpenShift Operator 管道。

提示

在以下示例中,根据您的要求删除或添加参数和工作区。

如果您使用 Red Hat OpenShift Local,以前称为 Red Hat CodeReady Containers (CRC)或 IBM Power for ppc64le 架构的 Red Hat OpenShift,请将以下 tekton CLI 参数传递给每个 ci pipeline 命令以避免权限问题:

--pod-template templates/crc-pod-template.yml

故障排除

如果您的 OpenShift Pipelines operator 1.9 或更高版本无法正常工作,请按照以下步骤修复它:

先决条件

在创建自定义安全性上下文约束(SCC)前,请确保您具有集群的管理员特权。

步骤

要使 OpenShift Pipelines operator 1.9 或更高版本正常工作,并执行需要特权升级的 ci-pipeline 中的任务子集,创建自定义安全性上下文约束(SCC)并将其链接到管道服务帐户:

  1. 创建新 SCC:

    oc apply -f ansible/roles/operator-pipeline/templates/openshift/openshift-pipelines-custom-scc.yml
    Copy to Clipboard Toggle word wrap
  2. 将新 SCC 添加到 ci-pipeline 服务帐户:

    oc adm policy add-scc-to-user pipelines-custom-scc -z pipeline
    Copy to Clipboard Toggle word wrap

22.4.1. 运行 Minimal 管道

步骤

在终端窗口中运行以下命令:

GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (For example - operators/my-operator/1.2.8)

tkn pipeline start operator-ci-pipeline \
  --param git_repo_url=$GIT_REPO_URL \
  --param git_branch=main \
  --param bundle_path=$BUNDLE_PATH \
  --param env=prod \
  --workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
  --showlog
Copy to Clipboard Toggle word wrap

运行此命令后,管道会提示您提供额外的参数。接受所有默认值,以完成管道执行。

以下内容被设置为默认值,不需要显式包含,但如果在不同的名称下创建了 kubeconfig secret,则可以覆盖。

--param kubeconfig_secret_name=kubeconfig \
--param kubeconfig_secret_key=kubeconfig
Copy to Clipboard Toggle word wrap

如果您在 ppc64le 和 s390x 架构上运行 ci 管道,请从默认值 quay.io/redhat-isv/operator-pipelines-images:released 改为 quay.io/redhat-isv/operator-pipelines-images:multi-arch

故障排除

如果您在使用 SSH URL 时收到 Permission Denied 错误,请尝试 GITHUB HTTPS URL。

22.4.2. 使用镜像摘要固定运行管道

先决条件

执行指令 启用摘要固定

步骤

在终端窗口中运行以下命令:

GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (ie: operators/my-operator/1.2.8)
GIT_USERNAME=<your github username>
GIT_EMAIL=<your github email address>

tkn pipeline start operator-ci-pipeline \
  --param git_repo_url=$GIT_REPO_URL \
  --param git_branch=main \
  --param bundle_path=$BUNDLE_PATH \
  --param env=prod \
  --param pin_digests=true \
  --param git_username=$GIT_USERNAME \
  --param git_email=$GIT_EMAIL \
  --workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
  --workspace name=ssh-dir,secret=github-ssh-credentials \
  --showlog
Copy to Clipboard Toggle word wrap

故障排除

当您收到错误 - 无法读取 https://github.com的用户名 时,请提供 SSH github URL for- param git_repo_url

22.4.3. 使用私有容器 registry 运行管道

先决条件

使用私有容器 registry 执行 下包括的说明。

步骤

在终端窗口中运行以下命令:

GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (ie: operators/my-operator/1.2.8)
GIT_USERNAME=<your github username>
GIT_EMAIL=<your github email address>
REGISTRY=<your image registry.  ie: quay.io>
IMAGE_NAMESPACE=<namespace in the container registry>

tkn pipeline start operator-ci-pipeline \
  --param git_repo_url=$GIT_REPO_URL \
  --param git_branch=main \
  --param bundle_path=$BUNDLE_PATH \
  --param env=prod \
  --param pin_digests=true \
  --param git_username=$GIT_USERNAME \
  --param git_email=$GIT_EMAIL \
  --param registry=$REGISTRY \
  --param image_namespace=$IMAGE_NAMESPACE \
  --workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
  --workspace name=ssh-dir,secret=github-ssh-credentials \
  --workspace name=registry-credentials,secret=registry-docker config-secret \
  --showlog \
Copy to Clipboard Toggle word wrap

22.5. 提交认证结果

以下流程可帮助您向红帽提交认证测试结果。

先决条件

  1. 执行 配置存储库以提交认证结果 的说明。
  2. 将以下参数添加到您要从其中提交红帽证书的拉取请求的 GitHub 上游存储库。默认情况下,这是红帽认证存储库,但您可以使用自己的存储库进行测试。

    -param upstream_repo_name=$UPSTREAM_REPO_NAME #Repo where Pull Request (PR) will be opened
    
    --param submit=true
    Copy to Clipboard Toggle word wrap

    以下内容被设置为默认值,不需要显式包含,但如果 Pyxis secret 在其他名称下创建,则可以被覆盖。

    --param pyxis_api_key_secret_name=pyxis-api-secret \
    --param pyxis_api_key_secret_key=pyxis_api_key
    Copy to Clipboard Toggle word wrap

步骤

您可以针对四个不同的场景提交红帽认证测试结果:

22.5.1. 从最小管道提交测试结果

步骤

在一个终端窗口中执行以下命令:

GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (ie: operators/my-operator/1.2.8)

tkn pipeline start operator-ci-pipeline \
  --param git_repo_url=$GIT_REPO_URL \
  --param git_branch=main \
  --param bundle_path=$BUNDLE_PATH \
  --param upstream_repo_name=redhat-openshift-ecosystem/certified-operators \
  --param submit=true \
  --param env=prod \
  --workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
  --showlog
Copy to Clipboard Toggle word wrap

22.5.2. 使用镜像摘要固定提交测试结果

在一个终端窗口中执行以下命令:

先决条件

执行包括的说明:

步骤

GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (ie: operators/my-operator/1.2.8)
GIT_USERNAME=<your github username>
GIT_EMAIL=<your github email address>

tkn pipeline start operator-ci-pipeline \
  --param git_repo_url=$GIT_REPO_URL \
  --param git_branch=main \
  --param bundle_path=$BUNDLE_PATH \
  --param env=prod \
  --param pin_digests=true \
  --param git_username=$GIT_USERNAME \
  --param git_email=$GIT_EMAIL \
  --param upstream_repo_name=redhat-openshift-ecosystem/certified-operators \
  --param submit=true \
  --workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
  --workspace name=ssh-dir,secret=github-ssh-credentials \
  --showlog
Copy to Clipboard Toggle word wrap

故障排除

当您收到错误 - 无法读取 https://github.com的用户名时,为 --param git_repo_url 提供 SSH github URL。

22.5.3. 从私有容器注册中心提交测试结果

在一个终端窗口中执行以下命令:

先决条件

执行包括的说明:

步骤

GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (ie: operators/my-operator/1.2.8)
GIT_USERNAME=<your github username>
GIT_EMAIL=<your github email address>
REGISTRY=<your image registry.  ie: quay.io>
IMAGE_NAMESPACE=<namespace in the container registry>

tkn pipeline start operator-ci-pipeline \
  --param git_repo_url=$GIT_REPO_URL \
  --param git_branch=main \
  --param bundle_path=$BUNDLE_PATH \
  --param env=prod \
  --param pin_digests=true \
  --param git_username=$GIT_USERNAME \
  --param git_email=$GIT_EMAIL \
  --param registry=$REGISTRY \
  --param image_namespace=$IMAGE_NAMESPACE \
  --param upstream_repo_name=redhat-openshift-ecosystem/certified-operators \
  --param submit=true \
  --workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
  --workspace name=ssh-dir,secret=github-ssh-credentials \
  --workspace name=registry-credentials,secret=registry-docker config-secret \
  --showlog
Copy to Clipboard Toggle word wrap

在一个终端窗口中执行以下命令:

先决条件

执行包括的说明:

步骤

GIT_REPO_URL=<Git URL to your certified-operators fork >
BUNDLE_PATH=<path to the bundle in the Git Repo> (ie: operators/my-operator/1.2.8)
GIT_USERNAME=<your github username>
GIT_EMAIL=<your github email address>
REGISTRY=<your image registry.  ie: quay.io>
IMAGE_NAMESPACE=<namespace in the container registry>

tkn pipeline start operator-ci-pipeline \
  --param git_repo_url=$GIT_REPO_URL \
  --param git_branch=main \
  --param bundle_path=$BUNDLE_PATH \
  --param env=prod \
  --param pin_digests=true \
  --param git_username=$GIT_USERNAME \
  --param git_email=$GIT_EMAIL \
  --param upstream_repo_name=redhat-openshift-ecosystem/certified-operators \
  --param registry=$REGISTRY \
  --param image_namespace=$IMAGE_NAMESPACE \
  --param submit=true \
  --workspace name=pipeline,volumeClaimTemplateFile=templates/workspace-template.yml \
  --workspace name=ssh-dir,secret=github-ssh-credentials \
  --workspace name=registry-credentials,secret=registry-docker config-secret \
  --showlog
Copy to Clipboard Toggle word wrap

认证成功后,经过认证的产品在 红帽生态系统目录 上列出。

认证的 Operator 通过嵌入式 OpenShift operatorHub 列出并被客户使用,为他们提供轻松部署和运行您的解决方案的能力。此外,您的产品和操作器镜像将在 红帽生态系统目录 上列出。

第 23 章 使用红帽托管管道运行认证套件

如果要使用 Red Hat Hosted Pipeline 认证 Operator,则必须为红帽认证存储库创建拉取请求。

如果您不有兴趣接收全面的日志,或者尚未准备好将工具包含在您自己的 CI/CD 工作流中,请选择此路径。

以下是进程概述:

图 23.1. 红帽托管管道概述

此过程开始通过 GitHub 拉取请求提交 Operator 捆绑包。然后,红帽使用内部 OpenShift 集群运行认证测试。这个路径与之前的 Operator 捆绑包认证类似。您可以在拉取请求和 Red Hat Partner Connect Operator 捆绑包中以注释的形式查看认证测试结果。如果所有认证测试都成功,您的 Operator 将自动合并并发布到 OpenShift 中的 Red Hat Container Catalog 和嵌入式 OperatorHub。

按照说明,使用红帽托管管道认证 Operator:

先决条件

  • 完成 Red Hat Partner Connect 网站中提供的 产品列表
  • Red Hat Partner Connect 网站上,进入 组件 选项卡。
  • Authorized GitHub 用户帐户 字段中,在授权 GitHub 用户列表中输入您的 GitHub 用户名。

步骤

注意

只有在您要在 Red Hat hosted 管道上运行 Red Hat OpenShift Operator 认证时,才按照以下步骤操作。

23.1. Fork 仓库

  1. 登录 GitHub 并分叉红帽OpenShift 操作器上游存储库。
  2. 根据您要针对发布的目录,从下表中分叉适当的软件仓库:
Expand
目录上游存储库

认证目录

https://github.com/redhat-openshift-ecosystem/certified-operators

  1. 克隆已分叉的 certified-operators 存储库。
  2. 将 Operator 捆绑包的内容添加到已分叉存储库中可用的 operators 目录中。

如果要在多个目录中发布 Operator 捆绑包,您可以分叉每个目录,并为每个 fork 完成认证。

23.2. 添加 Operator 捆绑包

根据工作流,使用以下任一方法添加 Operator 捆绑包:

注意

使用基于文件的目录工作流进行所有新的 Operator 认证,并将所有现有的认证操作员转换为更具扩展性的、模板驱动的格式。

23.2.1. 如果您之前已认证此 Operator

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

注意

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

23.2.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。

23.3. 基于文件的目录

基于文件的目录(FBC)提供纯文本、声明性配置格式,用于打包和管理 OpenShift 集群上的 Operator 升级路径。

旧格式的一个主要限制是,操作员在发布捆绑包后无法修改升级图形。FBC 通过允许更改升级路径而无需新的捆绑包版本来解决这一问题,在认证和发布更新方面提供更多灵活性。

23.3.1. boarding

在通过认证工作流提交前,您应该将 Operator 转换为 FBC 格式。加入过程使用自动化来简化从基于捆绑包的格式转换为 FBC。

先决条件

在开始加入过程前,请确保以下内容:

  • 您位于正确的 operator 目录中:
cd <operator-repo>/operators/<operator-name>
Copy to Clipboard Toggle word wrap
  • 安装以下依赖项:

    • podman
    • make
  • 您要向 Operator Lifecycle Manager (OLM)使用所需的 registry 进行身份验证。使用 podman login 并验证 registry 凭证是否存储在:

    • $(XDG_RUNTIME_DIR)/containers/auth.json or
    • ~/.docker/config.json

步骤

  1. 下载 Makefile 以自动加入过程:

    wget https://raw.githubusercontent.com/redhat-openshift-ecosystem/operator-pipelines/main/fbc/Makefile
    Copy to Clipboard Toggle word wrap
  2. 运行 FBC onboarding 命令:

    make fbc-onboarding
    Copy to Clipboard Toggle word wrap
  3. 该脚本执行以下操作:

    1. 下载所需的工具 (opm、fbc-onboarding CLI)
    2. 获取支持的 OpenShift 目录
    3. 生成目录模板
    4. 生成 FBC 结构
    5. 更新 ci.yaml 配置文件

验证步骤

成功加入后,您应该看到以下结构:

Operator 目录

$ tree .

operators/aqua
├── 0.0.1
...
├── catalog-templates
│   ├── v4.12.yaml
│   ├── v4.13.yaml
│   ├── v4.14.yaml
│   ├── v4.15.yaml
│   └── v4.16.yaml
├── ci.yaml
Copy to Clipboard Toggle word wrap

FBC 目录目录

要查看 FBC 加入过程创建的目录目录结构,首先进入已分叉存储库的根目录:

$ cd ../..
Copy to Clipboard Toggle word wrap

然后运行:

$ tree (repository root)/catalogs
Copy to Clipboard Toggle word wrap

这将在 directory / 目录下显示 结构。例如:

catalogs
├── v4.12
│   └── aqua
│       └── catalog.yaml
├── v4.13
│   └── aqua
│       └── catalog.yaml
├── v4.14
│   └── aqua
│       └── catalog.yaml
├── v4.15
│   └── aqua
│       └── catalog.yaml
└── v4.16
    └── aqua
        └── catalog.yaml
Copy to Clipboard Toggle word wrap

23.3.2. 提交 FBC 更改

完成加入和验证后,将生成的资源添加到 Git 存储库中,并通过拉取请求提交它们。

$ git add operators/aqua/{catalog-templates,ci.yaml,Makefile}

$ git add catalogs/{v4.12,v4.13,v4.14,v4.15,v4.16}/aqua

$ git commit --signoff -m "Add FBC resources for aqua operator"
Copy to Clipboard Toggle word wrap

当您合并拉取请求时,Operator 管道将验证并发布 FBC 内容到适当的 OpenShift 目录。

23.4. 基于文件的目录工作流

要使用 FBC 工作流,首先使用 加入 过程转换现有的非FBC 操作器,或者直接启动(如果您正在认证新 Operator)。FBC 工作流提供了一个模块化、模板驱动的结构,用于管理 OpenShift 目录,并支持通过 ci.yaml 文件中的配置进行自动更新。

23.4.1. 在工作流中启用 FBC

要使用 FBC 工作流,请添加以下字段更新 operator 存储库中的 ci.yaml 文件:

fbc:
  enabled: true
Copy to Clipboard Toggle word wrap

这会告知认证管道使用 FBC 工作流生成和更新目录。

23.4.2. FBC 模板

基于文件的目录模板提供了 OpenShift 目录的简化、用户可编辑视图。Operator Package Manager (OPM)目前支持两种类型的模板。您可以选择最适合 Operator 发行策略的模板:

  • olm.template.basic :简单升级流程的直接模板。
  • olm.semver: 一个更高级的模板,支持使用语义版本支持自动频道生成。

红帽建议使用 olm.semver 来提高自动化。

有关模板模式的详情,请参阅 Operator Framework 文档

23.4.3. 将模板映射到 OpenShift 目录

要从模板生成目录,您需要在 ci.yaml 文件中提供模板和目录之间的映射。根据您的需要,您可以使用 1:N 映射或 1:1 映射映射模板

1:n 映射示例

---
fbc:
  enabled: true
  catalog_mapping:
    - template_name: my-custom-semver-template.yaml # The name of the file inside ./catalog-templates directory
      catalogs_names: # a list of catalogs within the /catalogs directory
        - "v4.15"
        - "v4.16"
        - "v4.17"
      type: olm.semver
    - template_name: my-custom-basic-template.yaml # The name of the file inside catalog-templates directory
      catalogs_names:
        - "v4.12"
        - "v4.13"
      type: olm.template.basic
Copy to Clipboard Toggle word wrap

1:1 映射示例

---
fbc:
  enabled: true
  catalog_mapping:
  - template_name: v4.14.yaml
    catalog_names: ["v4.14"]
    type: olm.template.basic
  - template_name: v4.15.yaml
    catalog_names: ["v4.15"]
    type: olm.template.basic
  - template_name: v4.16.yaml
    catalog_names: ["v4.16"]
    type: olm.template.basic
  - template_name: v4.17.yaml
    catalog_names: ["v4.17"]
    type: olm.template.basic
Copy to Clipboard Toggle word wrap

23.4.4. 从模板生成目录

使用提供的 Makefile 来简化模板的目录生成。它为每个模板类型运行适当的 opm 命令自动完成流程。

如果您遵循新或转换的运算符的 加入 过程,则 operator 存储库应已包含 Makefile

确保它位于 Operator 组件的根目录中:

.
├── 0.0.1/
│   ├── release-config.yaml
│   ├── manifests/
│   └── metadata/
├── catalog-templates/
├── ci.yaml
└── Makefile
Copy to Clipboard Toggle word wrap

运行以下命令,为每个支持的 OpenShift 版本生成 FBC 目录文件:

make catalogs
Copy to Clipboard Toggle word wrap

此命令处理您的目录模板,并在 catalog / 目录中创建结构化目录文件。生成后,通过拉取请求提交更新的目录文件。当您合并更改时,Operator 管道会将更新发布到 OpenShift Container Platform 索引。

输出结构示例

catalogs/
├── v4.12/
│   └── aqua/
│       └── catalog.yaml
├── v4.13/
│   └── aqua/
│       └── catalog.yaml
├── v4.14/
│   └── aqua/
│       └── catalog.yaml
├── v4.15/
│   └── aqua/
│       └── catalog.yaml
└── v4.16/
    └── aqua/
        └── catalog.yaml
Copy to Clipboard Toggle word wrap

23.4.5. 在目录中添加新捆绑包

使用两种方法将新的 Operator 捆绑包添加到目录中:

  • 自动进程
  • 手动过程
23.4.5.1. 使用自动发行版本

自动版本简化了捆绑包发行和目录更新过程。

使用此方法减少人工干预,并在 Operator 版本之间保持一致性。有关启用和使用此功能的详情,请参考 基于文件的目录自动发布

23.4.5.2. 手动添加捆绑包

按照以下步骤手动添加 Operator 捆绑包或使用基本模板:

  1. 使用传统 拉取请求(PR)工作流 提交新的 operator 版本。
  2. Operator 管道将捆绑包镜像构建、测试并释放到 registry。
  3. 释放捆绑包后,使用新的捆绑包镜像 pullspec 更新您的目录模板。您可以在 PR 的管道左侧的注释中找到此 pullspec
  4. 创建一个新的 PR,其中包含引用新发布的捆绑包的目录更新。
注意

手动更新需要两步 PR 进程来发布捆绑包,并更新目录模板。

23.4.6. 更新现有目录

基于文件的目录格式的一个关键优点是,您可以在发布捆绑包后修改 Operator 的更新图。这个灵活性可让您:

  • 调整版本更新顺序
  • 删除过时的或无效的捆绑包
  • 在不重新获取捆绑包的情况下应用其他发布后更改

更新目录模板后,运行 make 目录 来生成更新的目录。然后,通过标准拉取请求工作流提交生成的文件。

注意

使用标准拉取请求工作流提交所有目录更改,以使所有更新生效。

23.5. 基于文件的目录自动发布

在发布捆绑包后,自动发布后通过自动化目录更新来简化 FBC 工作流。这可减少手动工作,并帮助确保目录模板的一致性。

23.5.1. 概述

标准 FBC 发行工作流包含两个步骤:

  1. 构建、测试和发布 Operator 捆绑包
  2. 将发布的捆绑包添加到 OpenShift Container Platform (OCP)目录中

现在,您可以使用 auto-release 功能自动化第二步。启用自动发布功能,以自动更新目录。

提交包含新捆绑包和 release-config.yaml 文件的拉取请求后,发行管道会处理剩余的操作。它创建并合并包含所需目录更改的后续拉取请求。以下是 自动生成的目录 PR 的示例"。

23.5.2. 创建 release-config.yaml 文件

要启用 Operator 捆绑包的自动发行版本到 FBC 模式的 OpenShift Container Platform (OCP)目录,请在对应的捆绑包版本目录中添加 release-config.yaml 文件。例如: operators/aqua/0.0.2/release-config.yaml

tree operators/aqua
.
├── 0.0.2
│   ├── release-config.yaml # This is the file
│   ├── manifests
│   └── metadata
├── catalog-templates
├── ci.yaml
└── Makefile
Copy to Clipboard Toggle word wrap

release-config.yaml 文件定义新捆绑包的具体发布位置,用于更新哪个目录模板以及捆绑包如何适合于更新图表。

Example

---
catalog_templates:
  - template_name: basic.yaml
    channels: [my-channel]
    replaces: aqua.0.0.1
  - template_name: semver.yaml
    channels: [Fast, Stable]
Copy to Clipboard Toggle word wrap

在本例中:

  • Operator 捆绑包会发布到 basic.yaml 模板中的 my-channel 频道。
  • semver.yaml 模板中的 FastStable 频道也会发布相同的捆绑包。
  • replaces 字段(可选)指定新捆绑包在更新图中取代的早期捆绑包版本。

23.5.3. 文件结构详情

release-config.yaml 文件的结构会在管道运行过程中自动验证。如果文件不符合 schema,拉取请求将失败,并显示详细的错误消息。

该文件必须使用以下结构:

  • 顶级键是 catalog_templates,其中包含目录更新定义的列表。
  • 列表中的每一项代表一个目录模板,必须包括:

    • template_name:位于 catalog-templates/ 目录中的目录模板文件的名称。
    • 频道 :捆绑包要发布到的频道列表。

      对于 SemVer 模板,有效值为:FastStableCandidate

    • replaces (可选):指定在更新图中替换新捆绑包。这只适用于基本模板。
    • skips (可选):更新图中要跳过的捆绑包列表。这只适用于基本模板。
    • skipRange (可选):指示应跳过哪个捆绑包版本的范围。这只适用于基本模板。

如需更多信息,请参阅 release-config.yaml 模式文档

23.6. 创建拉取请求

最后一步是为目标上游存储库创建拉取请求。

Expand
目录上游存储库

认证目录

https://github.com/redhat-openshift-ecosystem/certified-operators

如果要在多个目录中发布 Operator 捆绑包,您可以为每个目标目录创建一个拉取请求。

如果您不熟悉在 GitHub 中创建拉取请求,您可以 在此处找到 说明。

注意

拉取请求的标题必须符合以下格式:operator my-operator (v1.4.8).它应该以单词 operator 开头,后跟您的 Operator 软件包名称,后跟括号中的版本号。
当您创建拉取请求时,它会触发红帽托管的管道,并在失败或完成后通过拉取请求注释提供更新。

23.6.1. 遵循的指南

  • 您可以通过关闭并重新打开拉取请求来重新触发红帽托管的管道。
  • 对于给定的 Operator 版本,一次只能有一个打开拉取请求。
  • 成功合并拉取请求后,无法更改它。您必须恢复 Operator 的版本并打开新的拉取请求。
  • 您必须使用 Operator 的软件包名称作为您在 Operator 下创建的目录名称。此软件包名称应与 annotations.yaml 文件中的软件包注解匹配。此软件包名称也应与 clusterserviceversion.yaml 文件名的前缀匹配。
  • 您的拉取请求应只修改单个 Operator 版本目录中的文件。不要试图将更新组合到多个 Operator 的多个版本或更新。
  • 用于命名您的版本目录的版本指示符应与拉取请求标题中使用的版本指示符匹配。
  • 不接受运行认证测试的镜像标签,只使用 SHA 摘要。使用对应的 SHA 摘要替换 对镜像标签的所有引用

第 24 章 发布认证的 Operator

24.1. 发布认证的 Operator

认证被视为完整,您的 Operator 将出现在 OpenShift 中的 Red Hat Container Catalog 中,并在所有测试成功通过后,认证管道就可以向红帽提交结果。

另外,该条目将显示在 红帽认证生态系统上

24.2. 发布经过验证的 Operator

提交您的 Operator 进行验证后,红帽认证团队将检查并验证验证问卷的详细信息。如果稍后您要认证合作伙伴验证的应用程序,请完成认证详情。

红帽认证团队将审查提交的测试结果。验证成功后,若要在 红帽生态系统目录 上发布您的产品,请转至 产品列表页面 以附加合作伙伴验证或认证应用程序。

重要

Red Hat OpenShift 软件认证或验证不会对合作伙伴的产品进行测试,在 Operator 构造之外或其对已安装和执行的红帽平台之外执行或执行的影响。认证候选产品质量保证的所有方面都保持了合作伙伴独有责任。

第 25 章 故障排除指南

有关故障排除提示和临时解决方案,请参阅对 Operator 认证管道进行故障排除

附录 B. Helm 和 Ansible Operator

部分 IV. 认证或验证 Helm chart

第 26 章 使用 Helm chart

注意

在继续合作伙伴验证或 Red Hat Helm Chart 认证前,请验证或认证您的容器应用程序组件。在对 Helm Chart 组件中引用的所有容器都必须经过验证或认证,并在红帽生态系统目录中发布后才能认证 Helm Chart 组件。

26.1. Helm chart 简介

Helm 是一个 Kubernetes 原生自动化技术和软件管理器,简化了应用程序和服务部署。Helm 使用名为 chart 的打包格式。chart 是描述一组相关 Kubernetes 资源的一个文件集合。运行集群中 chart 的特定版本的实例被称为 release。当每次一个 chart 在集群中安装时,一个新的 release 会被创建。在每次安装 chart,或一个版本被升级或回滚时,都会创建增量修订版本。图表通过自动化 Red Hat OpenShift 认证工作流,确保安全合规,以及与平台的最佳集成和经验。

合作伙伴 Validation - 如果您要使用您自己的标准和测试套件来验证您的产品类型,请选择此类型的认证。通过此合作伙伴验证,您可以更快地在红帽生态系统目录上发布您的软件产品。但是,经过验证的工作负载可能无法纳入所有红帽集成要求和最佳实践。我们鼓励您继续努力获得红帽认证。

认证 - 如果您希望产品使用红帽测试套件进行全面的测试,请从协作支持中受益。您的产品将满足您的标准与红帽的标准,包括互操作性、生命周期管理、安全性和支持要求。

满足要求并完成认证工作流的产品在红帽生态系统目录中列出。合作伙伴将收到用于推广其产品认证的徽标。

26.2. Helm chart 的认证工作流

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

任务摘要

认证工作流包括三个主要步骤:

26.2.1. 对 Helm chart 的认证

执行认证载入概述的步骤:

  1. 加入 Red Hat Connect for Technology 计划。
  2. 同意计划条款和条件。
  3. 选择您需要的产品类别来创建您的产品列表。您可以从可用产品类别中选择:

    1. 容器化应用程序
    2. 独立应用程序
    3. OpenStack 基础架构
  4. 完成您的公司简介。
  5. 将组件添加到产品列表中。
  6. 为您的产品列表认证组件。

26.2.2. Helm chart 的认证测试

按照以下高级步骤运行认证测试:

  1. Fork the Red Hat upstream repository
  2. 在测试环境中安装并运行 chart verifier 工具。
  3. 查看测试结果并进行故障排除。
  4. 通过拉取请求向红帽提交认证结果。

合作伙伴验证或 认证的 Helm chart 必须添加到 Red Hat Partner Connect 门户上的产品列表页面中。发布后,您的产品列表会显示在 红帽生态系统目录 上,方法是使用您提供的产品信息。您可以使用相应标签在 Red Hat Ecosystem Catalog 上发布合作伙伴验证和认证 Helm chart。

第 27 章 验证用于认证的 Helm chart

您可以使用 chart-verifier CLI 工具验证您的 Helm chart。Chart-verifier 是一个基于 CLI 的开源工具,它运行一个可配置的检查列表,以验证您的 Helm chart 是否有满足红帽认证标准所需的所有关联元数据和格式。它验证 Helm chart 是否已准备好并在 Red Hat OpenShift Container Platform 上无缝工作,并可作为认证的 Helm Chart 条目提交到 Red Hat OpenShift Helm Chart 仓库

该工具还会验证 Helm Chart URL,并以 YAML 格式提供报告,其中包含人类可读的描述,每个检查都有正或负结果。检查的负结果表示 chart 存在问题,这需要更正。您还可以自定义要在验证过程中执行的检查。

注意

红帽强烈建议使用 chart-verifier 工具的最新版本来验证您的本地测试环境中的 Helm chart。这可让您在 Chart 开发周期内自行检查结果,从而防止每次向红帽提交结果。

27.1. 准备测试环境

认证产品的第一步是设置可运行测试的环境。要运行完整的 chart-verifier 测试集合,您需要访问 Red Hat OpenShift 集群环境。您可以安装 chart-verifier 工具,并执行此环境中所有与 chart 相关的测试。您可以使用几个可配置的命令行选项禁用这些测试,但必须运行测试,以便红帽批准认证。

注意

作为授权的红帽合作伙伴,您可以自由访问 Red Hat OpenShift Container Platform,您可以使用红帽合作伙伴订阅(RHPS)程序在您自己的测试环境中安装集群。要了解更多有关软件访问的好处作为 Red Hat Partner Connect 计划的一部分,请查看 Red Hat 合作伙伴订阅

步骤

  • 使用基于 x86-64 的 Red Hat Enterprise Linux 系统设置测试服务器,其中包括 OpenShift 命令行界面(oc)、Helm 和 Podman 或 chart-verifier 工具。
  • 使用 Red Hat Managed Services Openshift 集群安装 完全受管集群。这是一个试用选项,仅对 60 天有效。
  • 或者,在云环境、数据中心或计算机上安装自我管理的集群。通过使用此选项,您可以将合作伙伴订阅(也称为 NFR)用于永久部署。

27.2. 运行 Helm chart-verifier 工具

执行 chart-verifier 工具的建议目录结构如下:

.
└── src
    ├── Chart.yaml
    ├── README.md
    ├── templates
    │   ├── deployment.yaml
    │   ├── _helpers.tpl
    │   ├── hpa.yaml
    │   ├── ingress.yaml
    │   ├── NOTES.txt
    │   ├── serviceaccount.yaml
    │   ├── service.yaml
    │   └── tests
    │       └── test-connection.yaml
    ├── values.schema.json
    └── values.yaml
Copy to Clipboard Toggle word wrap

先决条件

  • 安装 Podman 或 Docker CLI 的容器引擎。
  • 互联网连接,以检查镜像是否经过红帽认证。
  • GitHub 配置集,将 chart 提交到 OpenShift Helm Charts 仓库
  • Red Hat OpenShift Container Platform 集群。
  • 在运行 chart-verifier 工具前,使用以下命令打包 Helm Chart:

    $ helm package <helmchart folder>
    Copy to Clipboard Toggle word wrap

    此命令将归档您的 Helm Chart,并将其转换为 .tgz 文件格式。

步骤

您可以使用两种方法运行一组 chart-verifier 工具:

27.2.1. 使用 Podman 或 Docker

  1. 使用通用资源标识符(uri)远程运行可用 chart 的所有可用检查,假设 kube 配置文件位于位置 ${HOME}/.kube :

    $ podman run --rm -i                                  \
            -e KUBECONFIG=/.kube/config                   \
            -v "${HOME}/.kube":/.kube                     \
            "quay.io/redhat-certification/chart-verifier" \
            verify                                        \
            <chart-uri>
    Copy to Clipboard Toggle word wrap

    在这个命令中,图表是 https uri 上可用的 Chart 存档的位置。确保存档必须采用 .tgz 格式。

  2. 在您的系统中本地运行所有可用检查,假设 chart 在当前目录中可用,并且 kube 配置文件位于 ${HOME}/.kube 的位置:

    $ podman run --rm                                     \
            -e KUBECONFIG=/.kube/config                   \
            -v "${HOME}/.kube":/.kube                     \
            -v $(pwd):/charts                             \
            "quay.io/redhat-certification/chart-verifier" \
            verify                                        \
            /charts/<chart>
    Copy to Clipboard Toggle word wrap

    在这个命令中,chart-uri 是您的本地目录中提供的 chart 归档的位置。确保存档必须采用 .tgz 格式。

  3. 运行以下命令,以获取与命令关联的可用选项及其用法:

    $ podman run -it --rm quay.io/redhat-certification/chart-verifier verify --help
    Copy to Clipboard Toggle word wrap

    命令的输出类似以下示例:

    Verifies a Helm chart by checking some of its characteristics
    
    Usage:
      chart-verifier verify <chart-uri> [flags]
    
    Flags:
      -S, --chart-set strings           set values for the chart (can specify multiple or separate values with commas: key1=val1,key2=val2)
      -G, --chart-set-file strings      set values from respective files specified via the command line (can specify multiple or separate values with commas: key1=path1,key2=path2)
      -X, --chart-set-string strings    set STRING values for the chart (can specify multiple or separate values with commas: key1=val1,key2=val2)
      -F, --chart-values strings        specify values in a YAML file or a URL (can specify multiple)
          --debug                       enable verbose output
      -x, --disable strings             all checks will be enabled except the informed ones
      -e, --enable strings              only the informed checks will be enabled
          --helm-install-timeout duration   helm install timeout (default 5m0s)
      -h, --help                        help for verify
          --kube-apiserver string       the address and the port for the Kubernetes API server
          --kube-as-group stringArray   group to impersonate for the operation, this flag can be repeated to specify multiple groups.
          --kube-as-user string         username to impersonate for the operation
          --kube-ca-file string         the certificate authority file for the Kubernetes API server connection
          --kube-context string         name of the kubeconfig context to use
          --kube-token string           bearer token used for authentication
          --kubeconfig string           path to the kubeconfig file
      -n, --namespace string            namespace scope for this request
      -V, --openshift-version string    set the value of certifiedOpenShiftVersions in the report
      -o, --output string               the output format: default, json or yaml
      -k, --pgp-public-key string       file containing gpg public key of the key used to sign the chart
      -W, --web-catalog-only            set this to indicate that the distribution method is web catalog only (default: true)
          --registry-config string      path to the registry config file (default "/home/baiju/.config/helm/registry.json")
          --repository-cache string     path to the file containing cached repository indexes (default "/home/baiju/.cache/helm/repository")
          --repository-config string    path to the file containing repository names and URLs (default "/home/baiju/.config/helm/repositories.yaml")
      -s, --set strings                 overrides a configuration, e.g: dummy.ok=false
      -f, --set-values strings          specify application and check configuration values in a YAML file or a URL (can specify multiple)
      -E, --suppress-error-log          suppress the error log (default: written to ./chartverifier/verifier-<timestamp>.log)
          --timeout duration            time to wait for completion of chart install and test (default 30m0s)
      -w, --write-to-file               write report to ./chartverifier/report.yaml (default: stdout)
    Global Flags:
          --config string   config file (default is $HOME/.chart-verifier.yaml)
    Copy to Clipboard Toggle word wrap
  4. 运行检查的子集:

    $ podman run --rm -i                                  \
            -e KUBECONFIG=/.kube/config                   \
            -v "${HOME}/.kube":/.kube                     \
            "quay.io/redhat-certification/chart-verifier" \
            verify -enable images-are-certified,helm-lint      \
            <chart-uri>
    Copy to Clipboard Toggle word wrap
  5. 运行除子集之外的所有检查:

    $ podman run --rm -i                                  \
            -e KUBECONFIG=/.kube/config                   \
            -v "${HOME}/.kube":/.kube                     \
            "quay.io/redhat-certification/chart-verifier" \
            verify -disable images-are-certified,helm-lint      \
            <chart-uri>
    Copy to Clipboard Toggle word wrap
    注意

    运行检查子集旨在减少开发的反馈循环。要认证您的图表,您必须运行所有必要的检查。

  6. 提供 chart-override 值:

    $ podman run --rm -i                                  \
            -e KUBECONFIG=/.kube/config                   \
            -v "${HOME}/.kube":/.kube                     \
            "quay.io/redhat-certification/chart-verifier" \
            verify –chart-set default.port=8080                   \
            <chart-uri>
    Copy to Clipboard Toggle word wrap
  7. 从当前目录中的文件提供 chart-override 值:

    $ podman run --rm -i                                  \
            -e KUBECONFIG=/.kube/config                   \
            -v "${HOME}/.kube":/.kube                     \
            -v $(pwd):/values                             \
            "quay.io/redhat-certification/chart-verifier" \
            verify –chart-values /values/overrides.yaml              \
            <chart-uri>
    Copy to Clipboard Toggle word wrap
27.2.1.1. 配置 timeout 选项

如果 chart-testing 进程延迟,请增加超时值。默认情况下,图表测试过程需要大约 30 分钟才能完成。

$ podman run --rm -i                                  \
        -e KUBECONFIG=/.kube/config                   \
        -v "${HOME}/.kube":/.kube                     \
        -v $(pwd):/values                             \
        "quay.io/redhat-certification/chart-verifier" \
        verify --timeout 40m                          \
        <chart-uri>
Copy to Clipboard Toggle word wrap
注意

如果您在 Chart 测试过程中观察到延迟,红帽建议您向红帽认证团队提交报告进行验证。

27.2.1.2. 保存报告

当 chart 测试过程完成后,报告信息会被默认显示。您可以通过将报告重定向到文件来保存报告。

例如:

  $ podman run --rm -i                                  \
          -e KUBECONFIG=/.kube/config                   \
          -v "${HOME}/.kube":/.kube                     \
          "quay.io/redhat-certification/chart-verifier" \
          verify –enable images-are-certified,helm-lint      \
          <chart-uri> > report.yaml
Copy to Clipboard Toggle word wrap

除了这个命令,使用 a -w 选项将报告直接写入文件 ./chartverifier/report.yaml。若要获取此文件,您必须对文件进行卷挂载至 /app/chartverifer

例如:

  $ podman run --rm -i                                  \
          -e KUBECONFIG=/.kube/config                   \
          -v "${HOME}/.kube":/.kube                     \
          -v $(pwd)/chartverifier:/app/chartverifier    \
          -w                                            \
          "quay.io/redhat-certification/chart-verifier" \
          verify –enable images-are-certified,helm-lint      \
          <chart-uri>
Copy to Clipboard Toggle word wrap

如果文件已存在,新报告会覆盖该文件。

27.2.1.3. 配置错误日志

默认情况下,生成错误日志并保存到文件 ./chartverifier/verify-<timestamp>.yaml 中。它包括错误消息、每个检查的结果以及有关 Chart 测试的附加信息。要获得错误日志的副本,您必须挂载卷到 /app/chartverifer

例如:

 $ podman run --rm -i                                  \
          -e KUBECONFIG=/.kube/config                   \
          -v "${HOME}/.kube":/.kube                     \
          -v $(pwd)/chartverifier:/app/chartverifier    \
          "quay.io/redhat-certification/chart-verifier" \
          verify –enable images-are-certified,helm-lint      \
          <chart-uri> > report.yaml
Copy to Clipboard Toggle word wrap

如果要将多个日志存储到同一目录中,您可以一次存储最多 10 个日志文件。当达到最大文件限制时,旧的日志文件会自动替换为较新的日志文件。

使用 -E or -suppress-error-log 选项来限制错误日志输出。

注意

错误和警告消息是标准错误输出信息,无法使用 -E or -suppress-error-log 选项阻止。

27.2.2. 使用二进制文件

注意

这个方法只适用于 Linux 系统。

  1. 从版本页面中下载并安装最新的 chart-verifier 二进制文件。https://github.com/redhat-certification/chart-verifier/releases
  2. 使用以下命令解压 tarball 二进制文件:

    $ tar zxvf <tarball>
    Copy to Clipboard Toggle word wrap
  3. 在 unzipped 目录中运行以下命令执行所有 Helm Chart 检查:

    $ ./chart-verifier verify <chart-uri>
    Copy to Clipboard Toggle word wrap

    在这个命令中,chart-uri 是服务器上可用的 Chart 存档的位置。确保存档必须采用 .tgz 格式。默认情况下,chart-verifier 工具假定 kube 配置文件位于默认位置 $HOME/.kube。如果文件在默认位置不可用,请将环境变量设置为 KUBECONFIG

    chart-verifier 的输出包括执行的测试详情以及每个测试的结果状态。它还指明每个测试对于红帽认证是否是必需的或推荐。如需更多信息,请参阅 Helm Chart 检查的类型

第 28 章 创建产品

产品列表提供了营销和技术信息,向潜在客户展示您的产品功能和优势。它为您的产品添加所有必要的组件打下基础。

先决条件

除了特定的认证测试要求外,在目标红帽平台上验证您的产品功能。如果在目标红帽平台上运行您的产品会产生细微的体验,那么您必须在认证前解决这个问题。

在创建 Helm Chart 组件前,将您的 Chart 的容器镜像作为容器应用程序认证。

步骤

红帽建议为全面的产品列表填写列表选项卡中的所有可选字段。更多信息可帮助相互客户做出明智的选择。

在为您的产品列表输入信息时,红帽鼓励与您的产品经理、营销代表或其他产品专家进行协作。

标有星号 integrity 的字段是必需的。

步骤

  1. 登录到 Red Hat Partner Connect Portal
  2. 进入认证技术门户选项卡,然后单击访问门户
  3. 在标题栏中,单击 Product management
  4. 列表和认证 选项卡中,单击 管理产品
  5. My Products 页面中,单击 Create Product

    此时会打开 Create New Product 对话框。

  6. 输入 产品名称
  7. 您要认证的产品是什么类? 下拉菜单中选择所需的产品类别,然后单击 Create product。例如,选择 Containerized Application 来创建容器化产品列表。

    此时会打开 Product name 的新页面。它包含以下标签页:

    除了以下标签页外,页面标头提供 Product Score 详情。产品分数评估您的产品信息并显示分数。它可以是:

    • Fair
    • good
    • 卓越的
    • best
  8. How do I improve my score? 以提高您的产品分数。
  9. 提供产品列表详细信息后,单击 Save,然后转到下一部分。

28.1. Helm chart 概述

此选项卡由您必须完成的一系列任务组成,才能发布您的产品:

28.1.1. Helm chart 的完整产品列表详情

  1. 要完成您的产品列表详情,请点击 Start

    此时会打开 Product Information 选项卡。

  2. 输入所有基本产品详情,然后单击保存

28.1.2. Helm chart 的完整公司配置集信息

  1. 要完成您的公司概况信息,请单击 Start。输入所有详细信息后,单击 Submit
  2. 要修改现有详情,请点击 Review。此时会打开 Account Details 页面。
  3. 检查并修改 Company 配置文件信息,然后单击提交

28.1.4. 认证或验证您的 Helm chart

无法验证已经具有认证组件的产品。无需认证组件才能验证产品。

  1. 要为您的产品选择验证或认证,请单击 Validate 或 Certify 产品。阅读 公共和测试指南

    1. 要认证,点 Add Component,然后进入 第 28.1.6 节 “为 Helm chart 添加至少一个产品组件”
    2. 若要验证,请单击 Start validation

提交您的 Helm Chart 进行验证后,红帽认证团队将审核并验证合作伙伴验证问题的详细。如果稍后您要认证合作伙伴验证的 Helm Chart,请完成认证详情。

28.1.5. 验证您的 Helm chart

  1. 请选择您要验证哪些红帽产品?Red Hat Open Shift 或 Red Hat Enterprise Linux。
  2. 选择您要为其验证产品的 Red Hat Open ShiftRed Hat Enterprise Linux 版本和子版本。
  3. 单击 Start Validation
  4. 在合作伙伴验证 问题中输入并完成所需的信息,包括文档、产品测试以及已测试过的 Red Hat Open Shift 或 Red Hat 集群。

红帽将使用问卷中的输入详情来确定是否可验证产品以及是否可以发布。

28.1.6. 为 Helm chart 添加至少一个产品组件

  1. 单击 Start。您将被重定向到 Components 选项卡。

    要添加新的或现有的产品组件,请点 Add component

  2. 用于添加新组件,

    1. Component Name 文本框中,输入组件名称。
    2. 您正在创建什么独立组件? 选择您要认证的组件。例如,要认证 Helm Charts,请选择 Helm Chart
    3. 点击 Next
    4. Chart Name 文本框中,输入您的 chart 的唯一名称。
    5. distribution Method - 选择以下选项之一来发布 Helm Chart:

      1. Helm Chart 仓库 chart.openshift.io - Helm chart 被发布到 Red Hat Helm Chart 仓库 charts.openshift.io,用户可以从该仓库中提取 chart。

        注意

        当您选择 经过认证的 helm chart 将从我的公司仓库分发时,您的 chart 位置的条目会添加到 Red Hat Helm Chart 仓库 chart. openshift.io 索引中。

      2. 仅限 Web 目录(catalog.redhat.com) - Helm Chart 不会发布到 Red Hat Helm Chart 仓库 charts.openshift.io,在 Red Hat OpenShift OperatorHub 中不可见。当您创建新组件时,这个选项是默认选项,这个选项适用于不希望其 Helm Chart 在 OpenShift 中可公开安装但需要证明认证的合作伙伴。只有在您有一个没有包括在 OpenShift In-product Catalog (Certified)选项中的发行版、权利或其他业务要求时,才选择此选项。
    6. Add component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

28.1.7. 为您的 Helm chart 列表认证组件

  1. 要为您的列表认证组件,请点击 Start。如果您有现有的产品组件,您可以查看附加组件 列表 及其详情:

    1. Name
    2. 认证
    3. 安全性
    4. 类型
    5. Created
    6. 点击更多选项归档或删除组件
  2. 选择认证组件。

完成上述所有任务后,您将看到与所有选项对应的绿色勾号标记。

Overview 选项卡还提供以下信息:

  1. 产品联系人 - 提供产品营销和技术联系信息。

    1. 单击 Add contacts to product 以提供联系信息
    2. Edit 以更新信息。
  2. 中的组件 - 提供附加到该产品的组件列表及其最后更新的信息。

    1. Add components to product 将新的或现有组件添加到您的产品中。
    2. Edit components 更新现有组件信息。

发布产品列表后,您可以查看您的产品 就绪情况和 方式,以便在 Overview 选项卡上提高分数

28.2. Helm chart 的产品信息

在此选项卡中,您可以提供有关您产品的所有必要信息。产品详情会与您的产品在红帽生态系统目录中发布。

常规 标签页:

提供产品的基本详情,包括产品名称和描述。

  1. 输入 产品名称
  2. 可选:根据 定义的准则上传产品徽标
  3. 输入 Brief 描述 和长 描述
  4. 点击 Save

功能和好处 选项卡:

提供您产品的重要特性。

  1. 可选: 输入 标题和描述
  2. 可选: 要为您的产品添加额外的功能,请点 + Add new feature
  3. 点击 Save

快速启动和配置标签页

向任何快速开始指南或配置文档添加链接,以帮助客户部署和开始使用您的产品。

  1. 可选:输入 快速启动和配置说明
  2. 点击 Save
  3. 如果您不想显示它们,请选择 Hide default instructions 复选框。

链接的资源 标签页:

添加支持文档的链接,以帮助我们的客户使用您的产品。该信息映射到,显示在产品目录页面的 Documentation 部分中。

注意

必须至少添加三个资源。如果可用,红帽建议您添加更多资源。

  1. 选择 Type 下拉菜单,并输入资源的 TitleDescription
  2. 输入 Resource URL
  3. 可选: 要为您的产品添加其他资源,请点 + Add new Resource
  4. 点击 Save

常见问题 选项卡:

添加常见问题,并回答产品的用途、操作、安装或其他属性详细信息。您可以包括有关您的产品和服务的常见客户查询。

  1. 输入 问题和答案
  2. 可选: 要为您的产品添加额外的常见问题解答,请点 + Add new FAQ
  3. 点击 Save

支持 标签页:

这个标签可让您提供支持团队的联系信息。

  1. 输入 支持 说明支持网站支持电话号码支持电子邮件地址
  2. 点击 Save

Contacts 选项卡:

提供营销和技术团队的联系信息。

  1. 输入 市场营销联系人 电子邮件地址 和技术联系电子邮件地址
  2. 可选: 要添加其他联系人,请单击 + 添加另一个 联系人。
  3. 点击 Save

法律 标签页:

提供与产品相关的许可证和策略信息。

  1. 输入 产品和隐私策略 URL许可证协议 URL
  2. 点击 Save

SEO 标签页:

使用此选项卡提高我们相互客户的可发现性,提高红帽生态系统目录搜索和互联网搜索引擎中的可见性。提供大量搜索别名(键值对)将提高您产品的可发现性。

  1. 选择 Product Category
  2. 输入 KeyValue 以设置搜索别名。
  3. 点击 Save
  4. 可选: 要添加额外的键值对,请点 + Add new key-value 对
注意

为您的产品至少添加一个搜索别名。如果可用,红帽建议您添加更多别名。

28.3. Helm chart 的组件

使用此标签页将组件添加到您的产品列表中。通过此选项卡,您还可以查看链接到产品列表的附加组件列表。

另外,要将组件附加到产品列表中,您可以完成 Container、Operator 或 Helm Chart 产品列表的 Overview 选项卡中 至少可用的 Add least one product component 选项。

  1. 要添加新的或现有的产品组件,请点 Add component
  2. 用于添加新组件,

    1. Component Name 文本框中,输入组件名称。
    2. 对于 您要创建的 OpenShift 组件是什么? 选择您要认证的组件。例如,要认证 Helm Charts,请选择 Helm Chart
    3. 点击 Next
    4. Chart Name 文本框中,输入您的 chart 的唯一名称。
    5. distribution Method - 选择以下选项之一来发布 Helm Chart:

      1. Helm Chart 仓库 chart.openshift.io - Helm chart 被发布到 Red Hat Helm Chart 仓库 charts.openshift.io,用户可以从该仓库中提取 chart。

        注意

        当您选择 经过认证的 helm chart 将从我的公司仓库分发时,您的 chart 位置的条目会添加到 Red Hat Helm Chart 仓库 chart. openshift.io 索引中。

      2. 仅限 Web 目录(catalog.redhat.com) - Helm Chart 没有发布到 Red Hat Helm Chart 仓库 charts.openshift.io,在 Red Hat OpenShift Developer Console 中不可见。当您创建新组件时,这个选项是默认选项,这个选项适用于不希望其 Helm Chart 在 OpenShift 中可公开安装但需要证明认证的合作伙伴。只有在您有一个没有包括在 OpenShift In-product Catalog (Certified)选项中的发行版、权利或其他业务要求时,才选择此选项。
    6. Add component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component
注意

您可以将相同的组件添加到多个产品列表中。在发布产品列表前,必须发布所有附加的组件。

附加组件后,您可以查看 附加组件列表 及其详情:

  1. Name
  2. 认证
  3. 安全性
  4. 类型
  5. Created
  6. 点击更多选项归档或删除附加的组件

或者,要搜索特定组件,请在 Search by component Name 文本框中输入组件的名称。

28.4. 支持 Helm chart

Red Hat Acceleration Desk (PAD)是一个产品与技术级别的合作伙伴帮助台服务,允许当前和潜在合作伙伴向中心位置提出与红帽产品、合作伙伴项目、产品认证、服务流程等相关的非技术问题。

您还可以联系 Red Hat 合作伙伴加速台有关认证的技术问题。技术帮助请求将重定向到认证运营团队。

通过合作伙伴订阅计划,红帽提供了免费的、非转售的软件订阅,可用于验证您目标红帽平台上的产品。要请求访问计划,请按照 合作伙伴订阅 网站上的说明进行操作。

  1. 要请求支持,请点击 Open a 支持问题单。请参阅 PAD - 如何打开和管理 PAD 问题单,以创建一个 PAD 票据。
  2. 要查看现有支持问题单的列表,请点 View 支持问题单

28.5. 删除产品

在创建了产品列表后,如果要删除它,转至 Overview 选项卡,然后单击 Delete

先取消发布一个已发布的产品,然后才能将它删除。即使删除该产品后,红帽仍保留与已删除产品相关的信息。

第 29 章 添加认证组件

在创建新产品列表后,为新创建的产品列表添加认证组件。

您可以为新添加的组件配置以下选项:

注意

组件配置因不同的产品类别而异。

要配置选项,请转至 Components 选项卡,然后点任何现有组件。

29.1. Helm chart 认证

GitHub 验证

在红帽合作伙伴连接中创建 Helm Chart 组件后,提交您的 Helm Chart 进行验证。

  1. 认证 选项卡中,前往 GitHub 验证
  2. Go to GitHub。您将被重定向到 OpenShift Helm Charts 仓库
  3. 提交拉取请求。

Red Hat 认证团队会审核拉取请求。验证成功后,您的 Helm Chart 会在 红帽生态系统目录 中发布。

29.2. Helm chart 的可选 Qualifications

注意

此选项卡仅适用于 Operator 和 Helm Chart 认证。

使用 可选资格 选项卡验证您的产品是否遵循红帽推荐指南和在 Red Hat OpenShift 上部署工作负载的最佳实践。当您选择此选项卡时,会创建一个功能认证,您可在其中提交红帽复习的测试结果。验证成功后,您的工作负载产品将被列为使用红帽生态系统目录上的 Meet s 最佳实践 徽标的认证。

29.3. Helm chart 的仓库信息

通过外部 Helm Chart 仓库发布

验证 Helm Chart 时,它将发布在红帽生态系统目录中,以及以下详情。

在以下字段中输入所需详情:

Expand
字段名称描述

Chart 名称

Helm Chart 的唯一名称

容器 registry 命名空间

创建容器时设定的 registry 名称。当容器被发布时,此字段将变为不可编辑。

Helm Chart 仓库

它表示 Helm Chart 仓库的位置。

用户访问 Helm Chart 的额外说明

此信息将在红帽生态系统目录上发布。

公共 PGP 密钥

它是可选字段。如果要为您的认证测试结果签名,请输入密钥。

授权 GitHub 用户帐户

它表示允许提交 Helm chart 代表您公司认证的 GitHub 用户。

短和长存储库描述

在红帽生态系统目录中列出 Helm Chart 时,将使用此信息。

配置所有必填字段后,单击 Save

注意

所有标有星号 * 的字段都是必需的,且必须在进行 Helm Chart 认证前完成。

29.4. Helm chart 的组件详情

使用此选项卡配置产品组件详情。

在以下字段中输入所需详情:

Expand
字段名称描述

应用程序类别

选择对应的软件产品应用程序类型。

组件名称

用于内部用途的组件名称。

配置所有必填字段后,单击 Save

29.5. Helm chart 的联系信息

注意

提供此选项卡的信息是可选的。

联系信息 选项卡中,输入您的产品组件的主要技术联系详情。

  1. 可选:在 技术联系电子邮件地址 字段中,输入镜像维护人员的电子邮件地址。
  2. 可选: 要为您的组件添加额外的联系人,请点 + Add new contact
  3. 点击 Save

29.6. Helm chart 的关联产品

相关产品选项卡提供与您的产品组件关联的产品列表以及以下信息:

  • 产品名称
  • 类型 - 传统应用程序
  • 可见性 - 发布或未发布
  • 最后活动 - 运行测试前的天数

要在您的组件中添加产品,请执行以下操作:

  • 如果要按名称查找产品,请在 Search by name 文本框中输入产品名称并点搜索图标。
  • 如果您不确定产品名称,请点 查找产品。在 Add product 对话框中,从 Available products 列表中选择所需的产品,然后点转发箭头。所选产品被添加到 Chosen 产品列表中。单击 Update attached products。添加的产品列在关联的产品列表中。
注意

所有标有星号 * 的字段都是必需的,您必须先完成,然后才能进行认证。

第 30 章 提交您的 Helm Chart 供认证

Red Hat Partner Connect 中配置和设置 Helm Chart 组件后,请通过创建拉取请求到 红帽的 OpenShift Helm Chart 仓库来提交您的 Helm chart 进行验证。在拉取请求中,您可以包含 chart 或 chart-verifier 工具 生成的报告。根据拉取请求的内容,图表将会被认证,并在未提供报告时运行 chart-verifier。

先决条件

在创建拉取请求前,请确保满足以下先决条件:

  1. 红帽的 OpenShift Helm Chart 仓库进行分叉,并将其克隆到本地系统。在这里,您可以在合作伙伴的 目录下看到已为您的公司创建的目录。

    注意

    目录名称与认证容器时设置的容器 registry 命名空间相同。

    在公司目录中,您在上一步中创建的每个 Chart 认证组件都会有一个子目录。要验证是否正确设置了这一点,请查看 OWNERS 文件。OWNERS 文件会在您的机构目录中的 Chart 目录中自动创建。它包含您的组件信息,包括 GitHub 用户代表贵公司认证 Helm chart。您可以在位置 图表/加密/acme/awesome/OWNERS 中找到该文件。如果要编辑 GitHub 用户详情,请进入 Settings 页面。

    例如,如果您的组织名称是 acme,并且 chart 名称为 awesomeOWNERS 文件的内容如下:

    chart:
      name: awesome
      shortDescription: A Helm chart for Awesomeness
    publicPgpKey: null
    providerDelivery: False
    users:
      - githubUsername: <username-one>
      - githubUsername: <username-two>
    vendor:
      label: acme
      name: ACME Inc.
    Copy to Clipboard Toggle word wrap

    您要提交的 chart 的名称必须与 OWNERS 文件中的值匹配。

  2. 在提交 Helm Chart 源或 Helm Chart 验证报告前,创建一个带有版本号的目录。例如,如果您发布 awesome chart 的 0.1.0 版本,请按如下所示创建一个目录:

    charts/partners/acme/awesome/0.1.0/
    Copy to Clipboard Toggle word wrap
    注意

    对于代表红帽支持的产品图表,请使用位于 chart 的 OWNERS 文件将拉取请求提交到主分支,位于您的机构目录中可用的 redhat 目录。例如,对于名为 awesome 的红帽图表,请将您的拉取请求提交到位于 charts/redhat/awesome/OWNERS 的主分支。请注意,对于红帽支持的组件,您的组织名称也是 redhat。

步骤

您可以使用三种方法提交 Helm Chart 以进行认证:

您可以以两种不同格式提交 Helm Chart 以进行认证,而无需 Chart 验证报告:

30.1.1. chart 作为 tarball

如果要将 Helm Chart 作为 tarball 提交,您可以使用 Helm package 命令创建 Helm Chart 的 tarball,并将其直接放在 0.1.0 目录中。

例如,如果您的 Helm Chart 对 机构 acme来说非常繁琐

charts/partners/acme/awesome/0.1.0/awesome-0.1.0.tgz
charts/partners/acme/awesome/0.1.0/awesome-0.1.0.tgz.prov
Copy to Clipboard Toggle word wrap

30.1.2. 目录中的 chart

如果要在目录中提交 Helm Chart,请将 Helm Chart 放置到带有 Chart 源的目录中。

如果您签署了 chart,请将提供的文件放在同一个目录中。您可以在 OWNERS 文件中包括 chart 的 base64 编码公钥。当存在 base64 编码的公钥时,密钥将被解码,并在使用 chart-verifier 为 chart 创建报告时指定。

如果公钥与 chart 不匹配,verifier 报告将包含检查失败,拉取请求将以错误结尾。

如果公钥与图表匹配,且没有其他故障,则会创建一个发行版本,其中包括 tarball、offernce 文件、公钥文件和生成的报告。

例如,

awesome-0.1.0.tgz
awesome-0.1.0.tgz.prov
awesome-0.1.0.tgz.key
report.yaml
Copy to Clipboard Toggle word wrap

如果 OWNERS 文件不包含公钥,则会跳过 chart verifier 检查,不会影响拉取请求的结果。此外,这个版本中不包含公钥文件。

如果 chart 是包含 chart 源的目录,请创建一个 src 目录来放置 chart 源。

例如,

路径 可以是 chart/ Partners/acme/awesome/0.1.0/src/

文件结构可以是

.
└── src
    ├── Chart.yaml
    ├── README.md
    ├── templates
    │   ├── deployment.yaml
    │   ├── _helpers.tpl
    │   ├── hpa.yaml
    │   ├── ingress.yaml
    │   ├── NOTES.txt
    │   ├── serviceaccount.yaml
    │   ├── service.yaml
    │   └── tests
    │       └── test-connection.yaml
    ├── values.schema.json
    └── values.yaml
Copy to Clipboard Toggle word wrap

使用 chart-verifier 工具生成报告,并使用文件名 report.yaml 将其保存到 0.1.0 目录中。您可以提交两种类型的报告:

30.2.1. 提交签名报告

在提交报告进行认证前,您可以在 Chart 验证报告中添加 PGP 公钥。添加 PGP 公钥 是可选的。将其添加到报告中时,您可以在您组织目录的 Chart 目录下的 OWNERS 文件中找到您的公钥。PGP 公钥位于 publicPgpKey 属性中。此属性的值必须遵循 ASCII armor 格式

在不使用图表的情况下提交 chart 验证报告时,您可以签署报告并以 ASCII armor 格式保存 签名。

例如,

gpg --sign --armor --detach-sign --output report.yaml.asc report.yaml
Copy to Clipboard Toggle word wrap
注意

如果签名验证失败,您可以在控制台中看到警告信息。

30.2.2. 提交签名图表的报告

要提交签名图表的 chart 验证报告,当您在生成报告 时向 chart verifier 工具提供 PGP 公钥 时,它会包括密钥摘要和报告。

另外,当您将 base64 编码的 PGP 公钥包含在 OWNERS 文件中时,会进行检查来确认 OWNERS 文件中解码的密钥摘要是否与报告中的密钥摘要匹配。

当不匹配时,拉取请求会失败。但是,如果密钥摘要与报告匹配,且处理拉取请求时没有其他错误,则会生成包含公钥和报告的发行版本。

例如,

awesome-0.1.0.tgz.key
report.yaml
Copy to Clipboard Toggle word wrap
注意

如果您启用了供应商控制交付,则不会生成发行版本。

30.3. 提交 chart 验证报告以及 Helm Chart

您还可以提交图表以及报告。按照 在没有 Chart Verification 报告流程的提交 图表,并将源或 tarball 放在版本号目录中。同样,按照 在没有 Chart 的情况下提交图表验证报告中的步骤, 并将 report.yaml 文件放在同一个版本号目录中。

30.3.1. 提交签名报告

您可以签署报告并提交进行验证。如果签名验证失败,您可以在控制台中看到警告信息。如需更多信息,请参阅"提交签名报告"一节( 在没有 Chart 的情况下提交图表验证报告 )。

30.3.2. 提交签名的 Helm Chart

对于签名的 chart,除了报告文件外,还必须包含 tarball 和 所提供的文件。如需更多信息,请参阅,在没有 Chart 的情况下提交提交图表的报告" 部分。

30.4. 认证提交选项概述

按照表总结了提交 Helm chart 进行认证的场景,具体取决于您如何访问 chart,并检查是否在本地环境中有一些依赖项。

Expand
目标包含 Helm Chart包括 Chart 验证报告红帽认证结果发布认证 Helm Chart 的方法

如果要执行以下操作:

  • 将认证图表存储在 charts.openshift.io 中。
  • 利用 Red Hat CI 进行持续图表测试

chart-verifier 工具在 Red Hat CI 环境中执行,以确保合规性。

您的客户可从 charts.openshift.io 下载经过认证的 Helm chart。

如果要执行以下操作:

  • 将认证图表存储在 charts.openshift.io 中。
  • 旨在在您自己的环境中测试您的 chart,因为它有一些外部依赖项。

红帽认证团队审查结果以确保合规性。

您的客户可从 charts.openshift.io 下载经过认证的 Helm chart。

如果您不想在 charts.openshift.io 中保存认证图表。

红帽认证团队审查结果以确保合规性。

您的客户可以从指定的 Helm Chart 仓库下载经过认证的 Helm Chart。在 charts.openshift.io 中添加了对应的条目到 index.yaml 文件中。

30.5. 验证步骤

提交拉取请求后,需要几分钟时间来运行所有检查并自动合并拉取请求。提交拉取请求后执行以下步骤:

  1. 检查新拉取请求中是否有任何消息。
  2. 如果您看到错误消息,请参阅 Troubleshooting Pull Request Failures。通过必要的更改来相应地更新拉取请求,以更正此问题。
  3. 如果您看到成功消息,这表示 chart 存储库索引已被成功更新。您可以通过检查 gh-pages 分支中的最新提交来验证它。提交消息采用以下格式:

    <partner-label>-<chart-name>-<version-number> index.yaml (#<PR-number>) (e.g, acme-psql-service-0.1.1 index.yaml (#7)).
    Copy to Clipboard Toggle word wrap

    您可以在 index.yaml 文件中看到与 chart 相关的更改。

  4. 如果您已提交了 chart 源,则 GitHub 发行页上提供了带有 chart 的 GitHub 发行版本以及相应的报告。release 标签采用以下格式: < partner-label>-<chart-name>-<version>-<version-number> (如 acme-psql-service-0.1.1)。
  5. 您可以在 红帽官方 Helm Chart 仓库中找到经过认证的 Helm chart。按照以下说明,在 OpenShift 集群上安装经过认证的 Helm Chart。

第 31 章 发布认证的 Helm Chart

当您提交 Helm Chart 进行验证时,红帽认证团队将审核并验证输入问题的详细信息。如果要认证合作伙伴验证的图表,请完成认证详情。

红帽认证团队将审查提交的测试结果。验证成功后,若要在 红帽生态系统目录 上发布您的产品,请转至 产品 列表页面以附加合作伙伴验证或认证图表。

当您通过拉取请求提交 Helm Chart 进行验证时,红帽认证团队会审核并验证您的组件进行验证。验证成功后,您的 Helm Chart 通过 GitHub 认证。

按照以下步骤发布您认证的 Helm Chart:

  1. 访问 合作伙伴连接 网页。我的产品 网页显示 产品列表
  2. 导航到 Product Listings 选项卡,再搜索所需的产品列表。
  3. 单击您要发布的新创建的产品列表。查看您的产品列表的所有详情。
  4. 转至 Components 选项卡。
  5. Add component,进入 Existing component 标签页,将认证 Helm Chart 附加到此列表中。另外,添加 Helm Chart 使用的已认证容器。这两个组件都必须处于 Published 状态。

    当您指定产品列表的所有所需信息以及附加的组件时,将启用 Publish 按钮。

    注意

    对于合作伙伴验证的组件,不需要这一步。当您指定产品列表的所有所需信息时,会启用 Publish 按钮,包括附加的组件。

  6. 单击 Publish

您认证的 Helm Chart 现在可在 红帽生态系统目录 上进行公共访问。

Red Hat OpenShift 认证徽标扩展 Red Hat OpenShift Operator 认证。认证徽标基于容器和操作员认证的基础而构建。

通过收到 Red Hat OpenShift 认证 Badge,合作伙伴可以确认启用了 Kubernetes 的解决方案,满足 Kubernetes 最佳实践,并使用特定的 Kubernetes API 来处理相应的用例。

当前可用的 OpenShift 认证徽标如下:

第 32 章 OpenShift Virtualization Validation

Red Hat OpenShift Virtualization 是 OpenShift Container Platform 的一个附加组件。它提供运行和部署新的和现有虚拟机(VM)工作负载的能力。该解决方案可轻松将传统虚拟机迁移和管理到可信、一致且全面的混合云应用平台上。

OpenShift Virtualization 徽标是 Red Hat OpenShift 认证中的分类。满足要求并完成工作流的产品在 红帽生态系统目录 上列出。

32.2. 创建产品

产品列表提供了营销和技术信息,向潜在客户展示您的产品功能和优势。它将所有必要组件添加到产品中以进行验证。

先决条件

除了特定的验证要求外,在目标红帽平台上验证您的产品功能。如果在目标红帽平台上运行您的产品会产生非标准体验,则必须在应用验证前解决这个问题。

步骤

红帽建议为全面的产品列表填写列表选项卡中的所有可选字段。您提供的信息可帮助相互客户做出明智的选择。

在为您的产品列表输入信息时,红帽鼓励与您的产品经理、营销代表或其他产品专家进行协作。

标有星号 integrity 的字段是必需的。

  1. 登录到 Red Hat Partner Connect Portal
  2. Activities > Software Certification 标题中,点 认证您的软件
  3. 在标题栏中,单击 Product management
  4. 列表和认证 选项卡中,单击 管理产品
  5. My Products 页面中,单击 Create Product

    此时会打开 Create New Product 对话框。

  6. 输入 产品名称
  7. 您要认证的产品是什么类? 下拉列表中,选择所需的产品类别,然后单击 Create product。例如,选择 Containerized ApplicationStandalone Application 来创建容器化或独立产品列表。

    此时会打开 Product name 的新页面。它包含以下标签页:

  8. 提供产品列表详细信息后,单击 Save,然后转到下一部分。

32.2.1. OpenShift Virtualization 概述

此选项卡由您必须完成的一系列任务组成,才能发布您的产品:

32.2.1.1. 完整的产品列表详情
  1. 要完成您的产品列表详情,请点击 Start

    此时会打开 Product Information 选项卡。

  2. 输入所有基本产品详情,然后单击保存
32.2.1.2. 完整的公司概况信息
  1. 要完成您的公司概况信息,请单击 Start。输入所有详细信息后,单击 Submit
  2. 要修改现有详情,请点击 Review。此时会打开 Account Details 页面。
  3. 检查并修改 Company 配置文件信息,然后单击提交
32.2.1.4. 至少添加一个产品组件
  1. 单击 Start。您将被重定向到 Components 选项卡。

    要添加新的或现有的产品组件,请点 Add component

  2. 用于创建新的容器化应用程序组件:

    1. Component Name 文本框中,输入组件名称。此名称不会被发布,且仅适用于内部使用。
    2. 您创建的 OpenShift 组件是什么? 选择您要验证的组件。例如,选择 OpenShift Virtualization
    3. Create new component
  3. 创建新独立应用程序组件:

    1. Component Name 文本框中,输入组件名称。此名称不会被发布,且仅适用于内部使用。
    2. 您创建的 OpenShift 组件是什么?选择两个组件 选项 - Non 容器化应用程序OpenShift Virtualization

      1. 非容器化应用程序 - 选择此选项以在 Red Hat Enterprise Linux 平台上认证非容器化的应用程序组件。

        Red Hat Enterprise Linux Version - 指定您要在其上验证非容器化应用程序组件的 Red Hat Enterprise Linux 版本。选择所需的 RHEL 版本。

        注意

        创建组件后您无法更改 RHEL 版本。

      2. OpenShift Virtualization - 选择这个选项来验证 Red Hat OpenShift Virtualization 功能上的专用应用程序组件。
    3. Create new component
  4. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component
32.2.1.5. 为您的列表认证组件
  1. 要为您的列表认证组件,请点击 Start。如果您有现有的产品组件,您可以查看附加组件 列表 及其详情:

    1. Name
    2. 认证
    3. 安全性
    4. 类型
    5. Created
    6. 点击更多选项归档或删除组件
  2. 选择认证组件。

完成上述所有任务后,您将看到与所有选项对应的绿色勾号标记。

Overview 选项卡还提供以下信息:

  1. 产品联系人 - 提供产品营销和技术联系信息。

    1. 单击 Add contacts to product 以提供联系信息
    2. Edit 以更新信息。
  2. 中的组件 - 提供附加到该产品的组件列表及其最后更新的信息。

    1. Add components to product 将新的或现有组件添加到您的产品中。
    2. Edit components 更新现有组件信息。

发布产品列表后,您可以查看您的产品 就绪情况和 方式,以便在 Overview 选项卡上提高分数

32.2.2. OpenShift Virtualization 的产品信息

使用此选项卡提供有关您产品的所有重要信息。产品详情会与您的产品在红帽生态系统目录中发布。

常规 标签页:

提供产品的基本详情,包括产品名称和描述。

  1. 输入 产品名称
  2. 可选:根据 定义的准则上传产品徽标
  3. 输入 Brief 描述 和长 描述
  4. 点击 Save

功能和好处 选项卡:

提供您产品的重要特性。

  1. 可选: 输入 标题和描述
  2. 可选: 要为您的产品添加额外的功能,请点 + Add new feature
  3. 点击 Save

快速启动和配置标签页

向任何快速开始指南或配置文档添加链接,以帮助客户部署和开始使用您的产品。

  1. 可选:输入 Quick start & configuration instructions 并点 Save
  2. 如果您不想显示它们,请选择 Hide default instructions 复选框。

链接的资源 标签页:

添加支持文档的链接,以帮助我们的客户使用您的产品。该信息映射到,显示在产品目录页面的 Documentation 部分中。

注意

必须至少添加三个资源。如果可用,红帽建议您添加更多资源。

  1. 选择 Type 下拉菜单,并输入资源的 TitleDescription
  2. 输入 Resource URL
  3. 可选: 要为您的产品添加其他资源,请点 + Add new Resource
  4. 点击 Save

常见问题 选项卡:

添加常见问题,并回答产品的用途、操作、安装或其他属性详细信息。您可以包括有关您的产品和服务的常见客户查询。

  1. 输入 问题和答案
  2. 可选: 要为您的产品添加额外的常见问题解答,请点 + Add new FAQ
  3. 点击 Save

支持 标签页:

  1. 提供支持团队的联系信息:

    1. 可选: 支持 描述
    2. 支持网站 - 此字段是必需的。
    3. 可选: 支持电话号码,以及
    4. 可选 :支持电子邮件地址
  2. 点击 Save

Contacts 选项卡:

提供营销和技术团队的联系信息。

  1. 输入 市场营销联系人 电子邮件地址 和技术联系电子邮件地址
  2. 可选: 要添加其他联系人,请单击 + 添加另一个 联系人。
  3. 点击 Save

法律 标签页:

提供与产品相关的许可证和策略信息。

  1. 输入 产品和隐私策略 URL许可证协议 URL
  2. 点击 Save

SEO 标签页:

使用此选项卡提高我们相互客户的可发现性,提高红帽生态系统目录搜索和互联网搜索引擎中的可见性。提供大量搜索别名(键值对)将提高您产品的可发现性。

  1. 选择 Product Category
  2. 输入 KeyValue 以设置搜索别名,然后单击 Save
  3. 可选: 要添加额外的键值对,请点 + Add new key-value 对
注意

为您的产品至少添加一个搜索别名。如果可用,红帽建议您添加更多别名。

32.2.3. OpenShift Virtualization 的组件

使用此标签页将组件添加到您的产品列表中。通过此选项卡,您还可以查看链接到产品列表的附加组件列表。

另外,要将组件附加到产品列表中,您可以在 Container、Operator 或 Helm Chart 产品列表的 Overview 选项卡中 至少提供一个产品组件 选项。

  1. 要添加新的或现有的产品组件,请点 Add component
  2. 用于创建新的容器化应用程序组件:

    1. Component Name 文本框中,输入组件名称。此名称不会被发布,且仅适用于内部使用。
    2. 您创建的 OpenShift 组件是什么? 选择您要验证的组件。例如,选择 OpenShift Virtualization
    3. Create new component
  3. 创建新独立应用程序组件:

    1. Component Name 文本框中,输入组件名称。此名称不会被发布,且仅适用于内部使用。
    2. 您创建的 OpenShift 组件是什么?选择两个组件 选项 - Non 容器化应用程序OpenShift Virtualization

      1. 非容器化应用程序 - 选择此选项以在 Red Hat Enterprise Linux 平台上认证非容器化的应用程序组件。

        Red Hat Enterprise Linux Version - 指定您要在其上验证非容器化应用程序组件的 Red Hat Enterprise Linux 版本。选择所需的 RHEL 版本。

        注意

        创建组件后您无法更改 RHEL 版本。

      2. OpenShift Virtualization - 选择这个选项来验证 Red Hat OpenShift Virtualization 功能上的专用应用程序组件。
    3. Create new component
  4. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component

      注意

      您可以在多个产品列表中添加一个组件。在发布产品列表前,必须发布所有附加的组件。

      附加组件后,您可以查看 附加组件列表 及其详情:

      1. Name
      2. 认证
      3. 安全性
      4. 类型
      5. Created
      6. 点击更多选项归档或删除附加的组件

或者,要搜索特定组件,请在 Search by component Name 文本框中输入组件的名称。

32.2.4. 支持 OpenShift Virtualization

红帽合作伙伴加速台(PAD)是一个产品和技术级别的合作伙伴帮助台服务,允许当前和潜在合作伙伴向中心位置提出与红帽产品、合作伙伴项目、产品认证、服务流程等相关的非技术问题。

您还可以联系 Red Hat 合作伙伴加速台有关认证的技术问题。技术帮助请求将重定向到认证运营团队。

红帽通过使用合作伙伴订阅计划提供免费的、非转售软件订阅,您可以使用该计划在目标红帽平台上验证您的产品。要请求访问计划,请按照 合作伙伴订阅 网站上的说明进行操作。

  1. 要请求支持,请点击 Open a 支持问题单。请参阅 PAD - 如何打开和管理 PAD 问题单,以创建一个 PAD 票据。
  2. 要查看现有支持问题单的列表,请点 View 支持问题单

32.2.5. 删除产品

在创建了产品列表后,如果要删除它,转至 Overview 选项卡,然后单击 Delete

先取消发布一个已发布的产品,然后才能将它删除。即使删除该产品后,红帽仍保留与已删除产品相关的信息。

32.3. 添加认证组件

在创建新产品列表后,为新创建的产品列表添加认证组件。您可以为新添加的组件配置以下选项:

注意

组件配置因不同的产品类别而异。

要配置组件选项,请转至 Components 选项卡,然后点击任何现有组件。

32.3.1. 验证

使用 Certification 选项卡验证您的 Red Hat OpenShift 上产品的功能。

OpenShift Virtualization Validation

通过使用此功能,红帽认证团队会检查您的产品是否符合合作伙伴验证的所有标准。

  1. 在 OpenShift Virtualization Validation 页面中,点 Start questionnaire此时会显示 OpenShift Virtualization 问题支持声明 页面。
  2. 输入您的所有产品和公司信息。
  3. 完成所有详细信息后,单击 Submit
  4. 要修改现有详情,请点击 Review此时会显示 OpenShift Virtualization 问题支持声明,供您查看和修改输入的信息。

Submit 后,会创建一个新的功能验证请求。Red Hat 认证团队将审核并验证问卷的详细信息。在出现问题时,认证团队将与您跟进。验证成功后,会以 validate 完成消息显示绿色勾号。

成功审核和验证后,您的功能验证请求将获得批准,产品列表中的 认证级别 字段将设置为" 合作伙伴 验证"。

32.3.2. 组件详情

使用此选项卡配置产品组件详情。

在以下字段中输入所需详情:

  • 组件名称 - 输入组件名称。此名称不会被发布,且仅适用于内部使用。
  • 点击 Save

32.3.3. 联系信息

注意

提供此选项卡的信息是可选的。

联系信息 选项卡中,输入您的产品组件的主要技术联系详情。

  1. 可选:在 技术联系电子邮件地址 字段中,输入镜像维护人员的电子邮件地址。
  2. 可选: 要为您的组件添加额外的联系人,请点 + Add new contact
  3. 点击 Save

32.3.4. 相关产品

相关产品 选项卡提供与您的产品组件关联的产品列表以及以下信息:

  • 产品名称
  • 类型
  • 可见性 - 发布或未发布
  • 最后活动 - 运行测试前的天数

要创建新产品或在组件中添加现有产品列表,请执行以下步骤:

  • 执行以下步骤附加现有产品列表:

    1. 如果要按名称查找产品,请在 Search by name 文本框中输入产品名称并点搜索图标。
    2. 如果您不确定产品名称,请点 查找产品。在 Add product 对话框中,从 Available products 列表中选择所需的产品,然后点转发箭头。所选产品被添加到 Chosen 产品列表中。单击 Update attached products。添加的产品在关联的产品选项卡中列出。
  • 执行以下步骤创建新产品列表:

    1. Find product
    2. Add Product 页面上,单击 New Product
    3. Product Name 文本框中,输入新产品名称。
    4. Product 列表类型 下拉列表中,选择所需的产品类别。例如,选择 Containerized Product 或 Standalone Application 来创建容器化或独立产品列表。
    5. 单击 Create new product

      创建的产品列表列在关联的产品选项卡中。

注意

所有标有星号 * 的字段都是必需的,且必须在继续验证前完成。

32.4. 在红帽生态系统目录中发布产品列表

当您提交 OpenShift Virtualization 组件进行验证时,红帽认证团队将审核并验证产品问题问题的详细信息。验证成功后,进入 Product Listings 页面,在 Red Hat Ecosystem Catalog 中发布您的产品。

按照以下步骤发布您的产品列表:

  1. 访问 Red Hat Partner connect 网页。My Work 网页显示 产品列表
  2. 转至 产品列表 选项卡并搜索所需的产品列表。
  3. 单击您要发布的新创建的产品列表。查看您的产品列表的所有详情。
  4. 转至 Components 选项卡。
  5. Add Component 在产品列表中添加新组件。

    注意

    要将您的产品列表发布到 红帽生态系统目录 上,您必须将至少一个公布的 OpenShift Virtualization 组件附加到您的产品列表中。

  6. Attach Component 将 OpenShift Virtualization 组件附加到此列表中。
  7. 单击 Publish

    新的 OpenShift Virtualization 产品列表现在可用于 Red Hat Ecosystem Catalog 上的公共访问,以及以下详情:

    • Infrastructure features 部分中,添加了 OpenShift Virtualization 标签。
    • 认证标准 部分中,您可以看到验证确认消息,例如 - 此产品已由合作伙伴验证

第 33 章 满足最佳实践

33.1. 在云原生软件认证中满足最佳实践

Meet s 最佳实践 徽标是 Red Hat OpenShift 工作负载认证中的一个可选分类,这表示您的产品遵循 Red Hat OpenShift 软件认证容器化应用程序的最佳实践。

这些最佳实践包括一系列检查,用于验证您提交进行认证的 helm chart 和 Operator,以满足在 Red Hat OpenShift 上部署的标准指南。成功验证认证产品后,使用 红帽生态系统目录 上的 Meets 最佳实践 徽标进行列出。

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

认证工作流包括以下阶段:

  • 认证加入
  • 创建产品
  • 添加组件
  • 认证测试
  • 在红帽生态系统目录中发布产品列表

33.2. 认证加入

  1. 加入 Red Hat Partner Connect for Technology 启动程序。
  2. 同意 计划条款和条件
  3. 完成 您的公司简介

有关详细信息,请参阅 概述

33.3. 创建产品

有关创建产品列表的详细信息,请参阅创建产品列表

33.4. 添加组件

33.5. 认证测试

步骤

  1. 进入 Components 选项卡 > Optional Qualifications
  2. 单击 Start Testing
  3. Go to Red Hat 认证工具。创建了一个新的功能认证,之后您将会在 Red Hat Partner Certification (rhcert)门户上重定向到您的组件页面。
  4. 使用产品在您的 测试环境中运行红帽最佳实践 测试套件。它由由合作伙伴建立的最佳实践组成的一系列测试案例组成。测试套件将评估您的产品是否遵循这些原则,并满足红帽标准。
  5. 在 Red Hat Partner Certification (rhcert)门户的产品组件页面中执行以下步骤:

    1. 进入 Summary 选项卡:

      1. Files 部分中,单击 Upload,以提交您的产品认证结果。选择 claims.jsontnf_config.yml 文件。然后,单击 Next。此时会显示成功上传信息。
      2. 可选:在 讨论 文本框中添加与认证相关的查询(若有),然后单击 添加注释。红帽认证团队将为您的查询提供清晰明细。
    2. 进入 Properties 选项卡:

      1. 点击 Platform 列表菜单,选择要在其上认证组件的平台。例如,x86_64
      2. 点击 Product Version 列表菜单,选择要在其上认证组件的红帽产品版本。例如,Red Hat OpenShift Platform
      3. 单击 Update Values。所选值被更新。

33.6. 在红帽生态系统目录中发布产品列表

当您通过红帽客户门户网站提交您的产品进行验证时,红帽认证团队会审核并验证您的产品以认证。验证成功后,您的认证产品将发布在红帽生态系统目录中,并附带 Meet s 最佳实践 标签。

步骤

  1. 访问 合作伙伴连接 网页。我的产品 网页显示 产品列表
  2. 搜索您想发布的新创建的产品列表,单击并查看其详细信息。
  3. 进入 Components 选项卡,点 Add component 将认证 Operator 或 Helm Chart 附加到此列表中。另外,添加您的产品组件使用的任何额外认证容器。所有组件都必须处于 Published 状态。完成产品列表的所有必要信息以及附加的产品组件后,将启用 Publish 按钮。
  4. 单击 Publish

    您的认证产品现在可通过 红帽生态系统目录 进行公共访问。在 OpenShift 的 Web 控制台中,认证产品也会列在 OperatorHub 中。合作伙伴会收到 最佳实践徽标,以便在 Red Hat OpenShift 平台上推广其认证产品。

注意

Red Hat OpenShift 软件认证测试不会在 Operator 和 Helm Chart 结构之外对产品进行功能测试。另外,它不会测试您的产品对安装和执行它的红帽平台的影响。认证候选产品质量保证的任何方面和所有方面都保持合作伙伴独有责任。

第 34 章 CNF 认证和验证

34.1. 使用 Cloud-native Network Function (CNF)认证

34.1.1. Cloud-native Network Function 简介

云原生网络功能(CNF)是典型的物理或虚拟网络功能(VNF)的容器化实例,已放入支持云原生格式的弹性、生命周期管理、安全、日志记录和其他功能中的微服务中。

CNF 徽标是 Red Hat OpenShift 认证中的分类。它可用于实现容器格式提供的网络功能的产品,使用 Red Hat OpenShift 作为部署平台。红帽提供了两级 CNF 认证:

  • 合作伙伴 Validation - 如果您的容器基础镜像不是 RHEL 或 UBI,请选择这类 CNF 认证。对于此类认证,合作伙伴在内部进行测试,在将其作为红帽生态系统目录上的合作伙伴验证的 CNF 产品进行发布,以此验证您的 CNF 产品。
  • 认证 CNF - 如果容器基础镜像是 RHEL 或 UBI,请选择这类 CNF 认证。对于此类认证,合作伙伴验证您的 CNF 产品,在您的工作负载上运行认证测试,然后提交进行验证。在经过成功验证后,CNF 产品将被列为红帽生态系统目录上的认证 CNF 产品。

满足要求并完成认证工作流的产品在红帽生态系统目录中列出,并与 CNF badge 进行标识。合作伙伴将收到用于推广其产品认证的徽标。

34.1.2. CNF 的认证工作流

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

任务摘要

认证工作流包括以下三个主要阶段:

34.1.2.1. 认证加入 cnf

执行认证载入概述的步骤:

  1. 加入 Red Hat Connect for Technology 计划。
  2. 同意计划条款和条件。
  3. 选择您需要的产品类别来创建您的产品列表。您可以从可用产品类别中选择:

    1. 容器化应用程序
    2. 独立应用程序
    3. OpenStack 基础架构
  4. 完成您的公司简介。
注意

为每个合作伙伴产品版本及其相应的红帽基础版本创建单独的 CNF 组件。如果要认证 CNF 组件,请为每个附加的 CNF 组件(如容器镜像和 operator 捆绑包或 Helm Chart)创建单独的 CNF 组件。

34.1.2.2. 为 cnf 完成产品列表

执行完成清单概述的步骤:

  1. 请提供您的验证详情。
  2. 验证 Red Hat OpenShift 上的 CNF 的功能以进行合作伙伴验证。
  3. 完成认证 CNF 组件的产品列表详情。
  4. 将组件添加到产品列表中。
  5. 为您的产品列表认证组件。
34.1.2.3. 在红帽生态系统目录中发布产品列表

认证或 合作伙伴验证的 CNF 组件必须添加到 Red Hat Partner Connect 门户上的产品列表页面中。发布后,您的产品列表会显示在 红帽生态系统目录 上,方法是使用您提供的产品信息。您可以使用相应标签在 Red Hat Ecosystem Catalog 上发布合作伙伴验证和认证 CNF 产品。

34.2. 创建产品

产品列表提供了营销和技术信息,向潜在客户展示您的产品功能和优势。它为您的产品添加所有必要的组件打下基础。

先决条件

在继续认证过程前,请确保您的产品满足以下要求:

  • 您的产品通常可用于公共访问
  • 您的产品已在 Red Hat OpenShift 中测试和部署
  • 在 Red Hat OpenShift 中为您的产品有商业支持

除了特定的认证测试要求外,在目标红帽平台上验证您的产品功能。如果在目标红帽平台上运行您的产品会产生细微的体验,那么您必须在认证前解决这个问题。

步骤

红帽建议为全面的产品列表填写列表选项卡中的所有可选字段。更多信息可帮助相互客户做出明智的选择。

在为您的产品列表输入信息时,红帽鼓励与您的产品经理、营销代表或其他产品专家进行协作。

标有星号 integrity 的字段是必需的。

步骤

  1. 登录到 Red Hat Partner Connect Portal
  2. 进入认证技术门户选项卡,然后单击访问门户
  3. 在标题栏中,单击 Product management
  4. 列表和认证 选项卡中,单击 管理产品
  5. My Products 页面中,单击 Create Product

    此时会打开 Create New Product 对话框。

  6. 输入 产品名称
  7. 您要认证的产品是什么类? 下拉菜单中选择所需的产品类别,然后单击 Create product。例如,选择 Containerized Application 来创建容器化产品列表。

    此时会打开 Product name 的新页面。它包含以下标签页:

    除了以下标签页外,页面标头提供 Product Score 详情。产品分数评估您的产品信息并显示分数。它可以是:

    • Fair
    • good
    • 卓越的
    • best
  8. How do I improve my score? 以提高您的产品分数。
  9. 提供产品列表详细信息后,单击 Save,然后转到下一部分。

34.2.1. CNF 概述

此选项卡由您必须完成的一系列任务组成,才能发布您的产品:

34.2.1.1. CNF 的完整产品列表详情
  1. 要完成您的产品列表详情,请点击 Start

    此时会打开 Product Information 选项卡。

  2. 输入所有基本产品详情,然后单击保存
34.2.1.2. CNF 的完整公司配置文件信息
  1. 要完成您的公司概况信息,请单击 Start。输入所有详细信息后,单击 Submit
  2. 要修改现有详情,请点击 Review。此时会打开 Account Details 页面。
  3. 检查并修改 Company 配置文件信息,然后单击提交
34.2.1.4. 为 CNF 添加一个产品组件
  1. 单击 Start。您将被重定向到 Components 选项卡。

    要添加新的或现有的产品组件,请点 Add component

  2. 用于添加新组件,

    1. Component Name 文本框中,输入组件名称。此名称不会被发布,且仅适用于内部使用。

      注意

      红帽建议在组件名称中包含产品版本,以便轻松识别新创建的 CNF 组件。例如,& lt;CompanyName ProductName> 1.2 - OCP 4.12.2

    2. 对于 您要创建的 OpenShift 组件是什么? 选择您要认证的组件。例如,要认证 CNF,请选择 Cloud Native Function (CNF)
    3. Create new component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component
注意

为每个合作伙伴产品版本及其相应的红帽基础版本创建单独的 CNF 组件。另外,创建并附加认证所需的认证组件,如容器镜像和 Operator 捆绑包或 Helm Chart。您可以为产品创建多个 CNF 组件。

34.2.1.5. 为您的 CNF 列表认证组件
  1. 要为您的列表认证组件,请点击 Start。如果您有现有的产品组件,您可以查看附加组件 列表 及其详情:

    1. Name
    2. 认证
    3. 安全性
    4. 类型
    5. Created
    6. 点击更多选项归档或删除组件
  2. 选择认证组件。

完成上述所有任务后,您将看到与所有选项对应的绿色勾号标记。

Overview 选项卡还提供以下信息:

  1. 产品联系人 - 提供产品营销和技术联系信息。

    1. 单击 Add contacts to product 以提供联系信息
    2. Edit 以更新信息。
  2. 中的组件 - 提供附加到该产品的组件列表及其最后更新的信息。

    1. Add components to product 将新的或现有组件添加到您的产品中。
    2. Edit components 更新现有组件信息。

发布产品列表后,您可以查看您的产品 就绪情况和 方式,以便在 Overview 选项卡上提高分数

34.2.2. CNF 的产品信息

在此选项卡中,您可以提供有关您产品的所有必要信息。产品详情会与您的产品在红帽生态系统目录中发布。

常规 标签页:

提供产品的基本详情,包括产品名称和描述。

  1. 输入 产品名称
  2. 可选:根据 定义的准则上传产品徽标
  3. 输入 Brief 描述 和长 描述
  4. 点击 Save

功能和好处 选项卡:

提供您产品的重要特性。

  1. 可选: 输入 标题和描述
  2. 可选: 要为您的产品添加额外的功能,请点 + Add new feature
  3. 点击 Save

快速启动和配置标签页

向任何快速开始指南或配置文档添加链接,以帮助客户部署和开始使用您的产品。

  1. 可选:输入 快速启动和配置说明
  2. 点击 Save
  3. 如果您不想显示它们,请选择 Hide default instructions 复选框。

链接的资源 标签页:

添加支持文档的链接,以帮助我们的客户使用您的产品。该信息映射到,显示在产品目录页面的 Documentation 部分中。

注意

必须至少添加三个资源。如果可用,红帽建议您添加更多资源。

  1. 选择 Type 下拉菜单,并输入资源的 TitleDescription
  2. 输入 Resource URL
  3. 可选: 要为您的产品添加其他资源,请点 + Add new Resource
  4. 点击 Save

常见问题 选项卡:

添加常见问题,并回答产品的用途、操作、安装或其他属性详细信息。您可以包括有关您的产品和服务的常见客户查询。

  1. 输入 问题和答案
  2. 可选: 要为您的产品添加额外的常见问题解答,请点 + Add new FAQ
  3. 点击 Save

支持 标签页:

这个标签可让您提供支持团队的联系信息。

  1. 输入 支持 说明支持网站支持电话号码支持电子邮件地址
  2. 点击 Save

Contacts 选项卡:

提供营销和技术团队的联系信息。

  1. 输入 市场营销联系人 电子邮件地址 和技术联系电子邮件地址
  2. 可选: 要添加其他联系人,请单击 + 添加另一个 联系人。
  3. 点击 Save

法律 标签页:

提供与产品相关的许可证和策略信息。

  1. 输入 产品和隐私策略 URL许可证协议 URL
  2. 点击 Save

SEO 标签页:

使用此选项卡提高我们相互客户的可发现性,提高红帽生态系统目录搜索和互联网搜索引擎中的可见性。提供大量搜索别名(键值对)将提高您产品的可发现性。

  1. 选择 Product Category
  2. 输入 KeyValue 以设置搜索别名。
  3. 点击 Save
  4. 可选: 要添加额外的键值对,请点 + Add new key-value 对
注意

为您的产品至少添加一个搜索别名。如果可用,红帽建议您添加更多别名。

34.2.3. CNF 的组件

使用此标签页将组件添加到您的产品列表中。通过此选项卡,您还可以查看链接到产品列表的附加组件列表。

另外,要将组件附加到产品列表中,您可以完成 Container、Operator 或 Helm Chart 产品列表的 Overview 选项卡中 至少可用的 Add least one product component 选项。

  1. 要添加新的或现有的产品组件,请点 Add component
  2. 用于添加新组件,

    1. Component Name 文本框中,输入组件名称。
    2. Component Name 文本框中,输入组件名称。此名称不会被发布,且仅适用于内部使用。

      注意

      红帽建议在组件名称中包含产品版本,以便轻松识别新创建的 CNF 组件。例如,& lt;CompanyName ProductName> 1.2 - OCP 4.12.2

    3. 对于 您要创建的 OpenShift 组件是什么? 选择您要认证的组件。例如,要认证 CNF,请选择 Cloud Native Function (CNF)
    4. Create new component
  3. 要添加现有组件,在 Add Component 对话框中选择 Existing Component

    1. Available components 列表中,搜索并选择您要认证的组件,然后点转发箭头。所选组件添加到 Chose n 组件 列表中。
    2. Attach existing component
注意

您可以在多个产品列表中添加一个组件。在发布产品列表前,必须发布所有附加的组件。

附加组件后,您可以查看 附加组件列表 及其详情:

  1. Name
  2. 认证
  3. 安全性
  4. 类型
  5. Created
  6. 点击更多选项归档或删除附加的组件

或者,要搜索特定组件,请在 Search by component Name 文本框中输入组件的名称。

34.2.3.1. 为您的列表认证组件
  1. 要为您的列表认证组件,请点击 Start。如果您有现有的产品组件,您可以查看附加组件 列表 及其详情:

    1. Name
    2. 认证
    3. 安全性
    4. 类型
    5. Created
    6. 点击更多选项归档或删除组件
  2. 选择认证组件。

34.2.4. 支持 CNF

Red Hat Acceleration Desk (PAD)是一个产品与技术级别的合作伙伴帮助台服务,允许当前和潜在合作伙伴向中心位置提出与红帽产品、合作伙伴项目、产品认证、服务流程等相关的非技术问题。

您还可以联系 Red Hat 合作伙伴加速台有关认证的技术问题。技术帮助请求将重定向到认证运营团队。

通过合作伙伴订阅计划,红帽提供了免费的、非转售的软件订阅,可用于验证您目标红帽平台上的产品。要请求访问计划,请按照 合作伙伴订阅 网站上的说明进行操作。

  1. 要请求支持,请点击 Open a 支持问题单。请参阅 PAD - 如何打开和管理 PAD 问题单,以创建一个 PAD 票据。
  2. 要查看现有支持问题单的列表,请点 View 支持问题单

34.2.5. 删除产品

在创建了产品列表后,如果要删除它,转至 Overview 选项卡,然后单击 Delete

先取消发布一个已发布的产品,然后才能将它删除。即使删除该产品后,红帽仍保留与已删除产品相关的信息。

34.3. 添加认证组件

在创建新产品列表后,为新创建的产品列表添加认证组件。

您可以为新添加的组件配置以下选项:

注意

组件配置因不同的产品类别而异。

34.3.1. CNF 的认证

使用 Certification 选项卡验证并认证您的 CNF on Red Hat OpenShift 的功能。

通过使用此功能,Red Hat CNF 认证团队会检查您的产品是否满足合作伙伴验证的所有标准。

要验证 CNF 组件的功能,请执行以下操作:

  1. 选择这个选项,然后单击 Start questionnaire。显示 CNF questionsnaire 页面。
  2. 输入您的所有产品和公司信息。
  3. 填写所有详细信息后,单击 Submit
  4. 要修改现有详情,请点击 Review。显示 CNF questionsnaire 页面,供您查看和修改输入的信息。

Submit 后,会创建一个新的功能认证请求。Red Hat CNF 认证团队将审查并验证 CNF 问卷的详细信息。成功审核和验证后,您的功能认证请求将获得批准,产品列表中的 认证级别 字段将设置为" 合作伙伴 验证"。

完成每个步骤后,每个标题旁边都会出现绿色勾号,以指示特定的配置项已完成。当完成清单中的所有项目后,预公开检查列表 左侧的披露将关闭。

34.3.1.2. 在 Red Hat OpenShift 上认证 CNF 的功能
注意

只有在您要认证合作伙伴验证的 CNF 组件时才选择这个选项。

这是一个可选功能,允许您使用红帽认证工具认证合作伙伴验证的组件。对于每个合作伙伴验证的组件,将在 Red Hat Partner Certification 门户上创建一个新的功能认证请求。当您请求认证时,CNF 团队将由 CNF 团队处理您的功能认证请求。

如果您认证了合作伙伴验证的 CNF 组件,则会通过认证标签显示在 红帽生态系统目录 中。

先决条件

  1. 在继续认证前完成产品列表。
  2. 在提交 CNF 组件以进行认证前,认证附加的容器镜像、Operator 捆绑包或 helm chart。

步骤

要认证您的合作伙伴验证 CNF 组件,请执行以下步骤:

  1. 进入 Certification 选项卡,并在 Red Hat OpenShift 标题中认证 CNF 的功能,点 Start。创建了新的功能认证请求,并将重定向到 Red Hat 合作伙伴认证(rhcert)门户上的组件。
  2. 运行 Kubernetes 的红帽最佳实践测试套件或使用 DCI OpenShift 应用代理。它由一系列从最佳实践派生的测试案例组成,以评估您的产品是否遵循这些原则并满足红帽认证标准。
  3. 要认证 CNF 组件,请在 Red Hat Partner Certification (rhcert)门户的 CNF 组件页面中执行以下步骤:

    1. 转至 Summary 选项卡,

      1. 要提交您的产品认证测试结果,请从 Files 部分中单击 Upload。选择 claims.jsontnf_config.yml 文件。然后,单击 Next。您可以看到上传成功的消息。
      2. 在讨论文本框中添加与认证相关的查询 ( 如果有)。
      3. 单击 Add Comment。通过使用这个选项,您可以将问题与 Red Hat CNF 认证团队沟通。Red Hat CNF 认证团队将为您的查询提供清晰的信息。
    2. Summary 选项卡中,

      1. 导航到 合作伙伴产品类别
      2. 单击 合作伙伴产品版本选项下的编辑图标,以输入您的产品版本,然后单击勾号按钮。您的产品版本已更新。
    3. 导航到 Properties 选项卡,

      1. 点击 Platform 列表菜单,选择要在其上认证 CNF 组件的平台。例如 - x86_64
      2. 点击 Product Version 列表菜单,选择要在其上认证 CNF 组件的红帽产品版本。例如 - Red Hat OpenShift Platform
      3. 单击 Update Values。所选值被更新。
注意

所有版本的合作伙伴产品都没有经过认证,可与每个版本的红帽产品一起使用。您需要使用所选红帽基本版本认证每个产品版本。例如,如果您使用 Red Hat OpenShift Container Platform 版本 4.13 认证您的产品版本 5.11,则只能使用 5.11 版本而不是更新的版本。因此,使用最新版本的红帽基本产品单独认证您的每个产品版本。

Red Hat CNF 认证团队将审核并验证您的 CNF 组件的详细信息。当红帽 CNF 认证团队通过 CNF 识别建议最佳实践中的问题或违反情况时,联合讨论将阻止找到补救选项和时间表。如果承诺通过确定的发行目标或时间表修复问题,团队也会考虑临时例外。所有例外都会在 KIE 基础文章中记录和发布,在 CNF 列出到 Red Hat Ecosystem Catalog 之前,所有不合规的项目都会保持私有。

注意

必须先重新认证 CNF 产品中引用的所有容器、Operator 或 Helm chart,然后才能按照规定的顺序认证 CNF 组件。

红帽 CNF 认证团队成功验证后,您的合作伙伴验证的 CNF 组件将获得认证,并将在带有 认证 标签的 红帽生态系统目录 中自动发布。

34.3.2. CNF 的组件详情

使用此选项卡配置产品组件详情。

在以下字段中输入所需详情:

  • 项目名称 - 输入项目名称。此名称不会被发布,且仅适用于内部使用。
注意

红帽建议将产品版本包含在组件名称中,以便轻松识别新创建的 CNF 组件。例如,& lt;CompanyName ProductName> 1.2 - OCP 4.12.2

  • 点击 Save

34.3.3. CNF 的联系信息

注意

提供此选项卡的信息是可选的。

联系信息 选项卡中,输入您的产品组件的主要技术联系详情。

  1. 可选:在 技术联系电子邮件地址 字段中,输入镜像维护人员的电子邮件地址。
  2. 可选: 要为您的组件添加额外的联系人,请点 + Add new contact
  3. 点击 Save

34.3.4. CNF 的关联产品

相关产品选项卡提供与您的产品组件关联的产品列表以及以下信息:

  • 产品名称
  • 类型 - 传统应用程序
  • 可见性 - 发布或未发布
  • 最后活动 - 运行测试前的天数

要在您的组件中添加产品,请执行以下操作:

  • 如果要按名称查找产品,请在 Search by name 文本框中输入产品名称并点搜索图标。
  • 如果您不确定产品名称,请点 查找产品。在 Add product 对话框中,从 Available products 列表中选择所需的产品,然后点转发箭头。所选产品被添加到 Chosen 产品列表中。单击 Update attached products。添加的产品列在关联的产品列表中。
注意

所有标有星号 * 的字段都是必需的,您必须先完成,然后才能进行认证。

34.4. 在红帽生态系统目录中发布产品列表

当您提交 CNF 组件进行验证时,Red Hat CNF 认证团队将检查并验证 CNF questionsnaire 输入的详细信息。如果要认证合作伙伴验证的 CNF 组件,请完成认证详情。

红帽认证团队将审查提交的测试结果。验证成功后,若要在 红帽生态系统目录 上发布您的产品,请转至 产品 列表页面以附加合作伙伴验证或认证 CNF 组件。

按照以下步骤发布您的产品列表:

  1. 访问 Red Hat Partner connect 网页。我的产品 网页显示 产品列表
  2. 导航到 Product Listings 选项卡,再搜索所需的产品列表。
  3. 单击您要发布的新创建的产品列表。查看您的产品列表的所有详情。
  4. 转至 Components 选项卡。
  5. Add Component 在产品列表中添加新组件。

    注意

    在发布您的产品版本和产品认证前,您必须发布所有附加的组件。

  6. Attach Component您的合作伙伴验证 或认证 CNF 组件附加到此列表中。在附加一个经过认证的 CNF 组件时,需要添加认证的容器镜像以及 CNF 组件使用的 Operator 捆绑包或 Helm Chart。

    注意

    所有附加的组件都必须处于 Published 状态。

    对于合作伙伴验证的组件,不需要这一步。当您指定产品列表的所有所需信息时,会启用 Publish 按钮,包括附加的组件。

  7. 单击 Publish

现在,通过 红帽生态系统目录 上的相应 合作伙伴验证或认证 CNF 标签提供新的 CNF 产品列表。您产品列表中的 认证 表显示以下详情:

  • product - 例如 Red Hat OpenShift Container Platform
  • Version - 选择红帽基本产品版本。例如 4.12 - 4.x
  • 架构 - 例如,x86_64
  • 合作伙伴产品版本 - 例如 5.11
  • 认证类型 - 例如 RHOCP 4 CNF
  • level - 例如,合作伙伴验证或认证

您需要使用所选红帽基本版本认证每个产品版本。因此,认证 表可以拥有多个版本的产品,用于同一红帽基本版本。例如,

Expand
产品Version合作伙伴产品版本认证类型级别

Red Hat OpenShift Container Platform

4.12

5.11

RHOCP 4 CNF

合作伙伴验证

Red Hat OpenShift Container Platform

4.12

5.12

RHOCP 4 CNF

已认证

Red Hat OpenShift Container Platform

4.12

5.13

RHOCP 4 CNF

已认证

Red Hat OpenShift Container Platform

4.12

5.14

RHOCP 4 CNF

合作伙伴验证

34.5. 重新认证一个 CNF 软件包

重新认证工作流 与常规 CNF 认证工作流 类似。红帽建议在以下情况下重新认证应用程序:

  • 在 Red Hat OpenShift Container Platform 的每个主发行版本中。
  • 在应用程序的每个主发行版本中。
注意

要重新认证您的应用程序,必须为重新认证创建新认证请求。

步骤

  1. Red Hat Partner Connect 上创建一个新的 CNF 组件。
  2. Project name 字段中,输入产品名称及其版本。例如 - &lt ;CompanyName ProductName> 1.2 - OCP 4.12.2
  3. 概述 选项卡中完成所有任务,但 CNF questionsnaire 除外,并像新证书一样继续 常规 CNF 认证工作流
  4. 通过红帽 合作伙伴认证(rhcert)门户提交新的认证 请求。
注意

重认证整个 CNF 软件包,并单独更新每个 CNF 组件作为一个独立的 CNF。如果您使用单独的 helm chart 或 operator 部署 CNF 应用程序,您必须单独重新认证每个 CNF。另外,如果您要在同一红帽产品版本中重新认证 CNF 产品版本的新版本,则不必重新认证未验证的 CNF 镜像容器。

红帽 CNF 认证团队成功验证后,您的 CNF 软件包的新版本会被重新认证,并将在带有 认证 标签的红帽生态系统目录中自动发布。

第 35 章 CNI 认证

35.1. 使用 Container Network Interface (CNI)认证

注意

要认证 CNI 插件,必须将其配置为使用 Operator 部署和管理。在继续 Red Hat CNI 认证前,Operator 以及 CNI operator 捆绑包引用的所有容器,包括在认证 CNI 插件前在 红帽生态系统目录 中认证并发布该插件。

35.1.1. 容器网络接口简介

Container Network Interface (CNI)是在 Linux 容器中配置网络接口的规格。它由一个规格和库组成,用于编写插件以在 Linux 容器中配置网络接口,以及多个支持的插件。CNI 主要用于向网络添加、连接、删除和断开容器。

CNI badge 是 Red Hat OpenShift 认证中的分类。它可用于实现容器格式提供的网络功能的产品,方法是使用 Red Hat OpenShift 作为部署平台的 CNI 插件

满足要求并完成认证工作流的产品可以在 Red Hat OpenShift Container Platform 上称为认证的 CNI。批准认证后,经过认证的 CNI 产品将在 红帽生态系统目录以及 Red Hat OpenShift 的 Web 控制台中的 OperatorHub 上列出。认证的 CNI operator 使用 CNI 徽标来标识。合作伙伴将收到用于推广其产品认证的徽标。

35.1.2. CNI 的认证工作流

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

任务摘要

认证工作流包括三个主要步骤:

35.1.2.1. CNI 认证

执行认证载入概述的步骤:

  1. 加入 Red Hat Connect for Technology 计划。
  2. 同意计划条款和条件。
  3. 选择您需要的产品类别来创建您的产品列表。您可以从可用产品类别中选择:

    1. 容器化应用程序
    2. 独立应用程序
    3. OpenStack 基础架构
  4. 完成您的公司简介。
  5. 将组件添加到产品列表中。
  6. 为您的产品列表认证组件。
35.1.2.2. CNI 认证测试

按照以下高级步骤运行认证测试:

  1. 对 Red Hat upstream 仓库进行分叉(fork)。
  2. 在测试环境中安装并运行红帽认证管道。
  3. 如果您遇到任何问题,请查看测试结果并进行故障排除。
  4. 通过拉取请求向红帽提交认证结果。
35.1.2.3. 在红帽生态系统目录中发布产品列表

成功完成所有认证检查后,您可以将测试结果提交给红帽。您可以根据您的单个目标打开或关闭此结果提交步骤。提交测试结果时,它会触发红帽基础架构来自动合并您的拉取请求并发布您的 Operator。

35.2. 创建产品

有关创建产品列表的详细信息,请参阅创建产品列表

35.3. 添加认证组件

有关在 Red Hat OpenShift 上附加产品组件并验证 CNI operator 的功能的详细信息,请参阅 添加认证组件

35.4. 使用 OpenShift Operator Pipeline

在继续 CNI 认证前,按照以下步骤认证 Operator:

认证的 Operator 通过嵌入式 OpenShift operatorHub 列出并被客户使用,为他们提供轻松部署和运行您的解决方案的能力。此外,您的产品和操作器镜像将在 红帽生态系统目录 上列出。

35.5. 配置测试环境以运行 CNI 测试

在运行 CNI 测试前,请验证用于运行 CNI 测试的 Red Hat OpenShift 环境是否满足以下条件:

  1. 在生命周期的完全支持阶段使用 Red Hat OpenShift 版本。红帽建议使用最新支持的版本。如需有关 OpenShift 发行版本的更多信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策
  2. 仅使用记录的安装过程部署网络产品。
  3. 安装 Red Hat OpenShift Virtualization。
  4. 如果要测试 Service Mesh,请安装 Red Hat Service Mesh operator 3 和 Istio 资源来部署 Istio control plane。有关迁移到 Service Mesh 3 的更多信息,请参阅从 Service Mesh 2 迁移到 Service Mesh 3。
  5. 配置一个主机并可访问 OpenShift 集群,以用作运行 CNI 认证测试的测试客户端。此环境必须包含 gcc,git, go, make, openssl 和 sonobuoy 等工具。
重要

对同一配置运行您自己的产品验证测试,以确保您的产品功能在 Red Hat OpenShift 环境中正常工作。

Red Hat Partner Connect 提供了作为计划好处的免费访问软件。要了解如何获取 Red Hat OpenShift 环境订阅,请参阅 红帽合作伙伴订阅

35.6. 运行 CNI 测试

  1. 要运行 Red Hat OpenShift 网络一致性测试套件,请将 kubeconfig.yaml 文件放在当前工作目录中,并运行以下命令:

    $ mkdir -p test-results; cd test-results
    $ podman run -v "$(pwd):/data:z" -w /data --rm -it $(KUBECONFIG=$(pwd)/kubeconfig.yaml oc adm release info --image-for=tests) sh -c "KUBECONFIG=/data/kubeconfig.yaml /usr/bin/openshift-tests run openshift/network/third-party -o /data/results.txt"
    Copy to Clipboard Toggle word wrap

    命令使用与 Red Hat OpenShift 集群的确切版本对应的测试套件,如 4.x。

  2. 按照步骤运行 Red Hat OpenShift Virtualization 一致性测试套件:

    1. 使用以下命令下载特定于您的环境的一致性测试:

      $ curl -L https://github.com/kubevirt/kubevirt/releases/download/v<KubeVirt version>/conformance.yaml -o kubevirt-conformance.yaml
      Copy to Clipboard Toggle word wrap

      在这个命令中,& lt;KubeVirt version > 对应于您使用的 OpenShift Virtualization 版本。如需了解更多详细信息,请参阅 版本映射表

    2. 使用以下命令执行测试:

      $ sonobuoy run --skip-preflight --plugin kubevirt-conformance.yaml --plugin-env kubevirt-conformance.E2E_LABEL='(conformance && sig-network)'
      Copy to Clipboard Toggle word wrap

      在这个命令中,& lt;KubeVirt version > 代表 kubevirt 的版本。

    3. 使用以下命令监控测试的状态:

      $ sonobuoy status
      Copy to Clipboard Toggle word wrap
    4. 测试运行完成后,使用以下命令获取结果:

       $ sonobuoy retrieve
      Copy to Clipboard Toggle word wrap

      它生成一个压缩的 tar 文件。

      验证步骤

      使用以下命令验证测试是否已成功完成:

      $ sonobuoy results <tarball>
      Copy to Clipboard Toggle word wrap

      输出应类似于如下:

      Plugin: kubevirt-conformance
      Status: passed
      Total: 637
      Passed: 9
      Failed: 0
      Skipped: 628
      Copy to Clipboard Toggle word wrap
  3. 按照以下步骤运行 Red Hat OpenShift Service Mesh 测试套件:

    1. 克隆 Sail Operator 存储库
    2. 阅读存储库中 README.md 文件中提供的详细信息,说明如何运行测试。
    3. 设置与 OpenShift Service Mesh (OSSM) Operator 部署对应的正确标记,如 README.md 文件中所述。
    4. 运行测试并等待测试完成。
    5. 测试套件生成 report.xml 文件。将此文件和您的 CNI 一致性测试结果提交给红帽认证团队进行验证。
  4. 要运行 Red Hat OpenShift 托管 control plane 一致性测试套件,请将托管集群的 kubeconfig.yaml 文件放在当前工作目录中,并运行以下命令:

    $ mkdir -p test-results; cd test-results
    $ podman run -v "$(pwd):/data:z" -w /data --rm -it $(KUBECONFIG=$(pwd)/kubeconfig.yaml oc adm release info --image-for=tests) sh -c "KUBECONFIG=/data/kubeconfig.yaml /usr/bin/openshift-tests run openshift/conformance/parallel -o /data/results.txt"
    Copy to Clipboard Toggle word wrap

    命令使用与 Red Hat OpenShift 集群的确切版本对应的测试套件,如 4.x。

35.7. 提交您的 CNI operator 的认证

捕获端到端 CNI 测试的输出,OpenShift Virtualization 测试和 Service Mesh 测试(如果适用)并通过红帽客户门户网站提交结果。

  1. 登录红帽客户门户。
  2. 在主页上,在搜索栏中输入产品问题单号。从显示的列表中选择问题单号。
  3. Summary 选项卡中,在 Files 部分下点 Upload

在上传结果前,请确保所有 CNI 测试都成功完成。如果特定测试不适用于认证产品,请在提交结果中包括解释。

35.8. 在红帽生态系统目录中发布产品列表

当您通过红帽客户门户网站提交 CNI 组件进行验证时,红帽认证团队会审核并验证您的组件以进行验证。验证成功后,您的认证产品会发布在红帽生态系统目录中。

按照以下步骤发布您认证的 CNI operator:

  1. 访问 合作伙伴连接 网页。我的产品 网页显示 产品列表
  2. 搜索所需的产品列表。
  3. 单击您要发布的新创建的产品列表。查看您的产品列表的所有详情。
  4. 转至 Components 选项卡。
  5. Add Component 将认证 CNI operator 附加到此列表中。另外,添加您的 CNI 组件使用的已认证容器。所有组件都必须处于 Published 状态。

    当您指定产品列表的所有所需信息以及附加的组件时,将启用 Publish 按钮。

  6. 单击 Publish

您的认证的 CNI operator 现在可在 红帽生态系统目录 上进行公共访问。认证的 CNI Operator 也列在 OpenShift 的 Web 控制台的 OperatorHub 中。合作伙伴将在 Red Hat OpenShift 平台上推广其认证产品的徽标。

注意

Red Hat OpenShift 软件认证不会在 Operator 构造和执行的红帽平台之外对合作伙伴的产品进行功能或性能测试。认证候选产品质量保证的所有方面均保持合作伙伴的责任。

第 36 章 CSI 认证

36.1. 使用容器存储接口(CSI)认证

注意

要认证 CSI 插件,必须将其配置为使用 Operator 部署和管理。在继续 Red Hat CSI 认证前,Operator 以及您的 CSI operator 捆绑包引用的所有容器,包括在认证 CSI 驱动程序前在 红帽生态系统目录 中认证并发布该插件。

36.1.1. 容器存储接口简介

容器存储接口(CSI)允许 OpenShift Container Platform 上的产品使用支持 CSI 接口的存储后端提供 的持久性存储。CSI 驱动程序通常由容器镜像提供。CSI badge 是 Red Hat OpenShift 认证中的分类。它可用于将 CSI 驱动程序 与 Red Hat OpenShift 作为部署平台集成的存储产品。

满足要求并完成认证工作流的产品可以在 Red Hat OpenShift Container Platform 上称为认证的 CSI 产品。批准认证后,经过认证的 CSI 产品将在 红帽生态系统目录和 Red Hat OpenShift 的 Web 控制台中列出。认证的 CSI operator 与 CSI 徽标一起标识。合作伙伴将收到用于推广其产品认证的徽标。

36.1.2. CSI 认证工作流

注意

红帽建议您在开始认证过程前,是 Red Hat 工程师或拥有同等经验。

任务摘要

认证工作流包括三个主要步骤:

36.1.2.1. CSI 认证

执行认证载入概述的步骤:

  1. 加入 Red Hat Connect for Technology 计划。
  2. 同意计划条款和条件。
  3. 选择您需要的产品类别来创建您的产品列表。您可以从可用产品类别中选择:

    1. 容器化应用程序
    2. 独立应用程序
    3. OpenStack 基础架构
  4. 完成您的公司简介。
  5. 将组件添加到产品列表中。
  6. 为您的产品列表认证组件。
36.1.2.2. CSI 认证测试

要运行认证测试,

  1. 对 Red Hat upstream 仓库进行分叉(fork)。
  2. 在测试环境中安装并运行红帽认证管道。
  3. 查看测试结果并进行故障排除。
  4. 通过拉取请求向红帽提交认证结果。
36.1.2.3. 在红帽生态系统目录中发布产品列表

成功完成所有认证检查后,您可以将测试结果提交给红帽。您可以根据您的单个目标打开或关闭此结果提交步骤。提交测试结果时,它会触发红帽基础架构来自动合并您的拉取请求并发布您的 Operator。

36.2. 创建产品

有关创建产品列表的详细信息,请参阅创建产品列表

36.3. 添加认证组件

有关在 Red Hat OpenShift 上附加产品组件并验证 CNI operator 的功能的详细信息,请参阅 添加认证组件

36.4. 使用 OpenShift Operator Pipeline

在继续 CSI 认证前,按照以下步骤认证您的 Operator:

认证的 Operator 通过嵌入式 OpenShift operatorHub 列出并被客户使用,为他们提供轻松部署和运行您的解决方案的能力。此外,您的产品和操作器镜像将在 红帽生态系统目录 上列出。

36.5. 配置测试环境以运行 CSI 测试

在运行 CSI 测试前,请验证用于运行 CSI 测试的 Red Hat OpenShift 环境是否满足以下条件:

  1. 在生命周期的完全支持阶段使用 Red Hat OpenShift 版本,如 OpenShift 4.17 或更高版本。红帽建议使用最新支持的版本。如需有关 OpenShift 发行版本的更多信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策
  2. 使用 Operator 安装 CSI 驱动程序。
  3. 安装 Red Hat OpenShift Virtualization。
  4. 通过访问 OpenShift 集群配置 RHEL 主机,以用作运行 CSI 认证测试的测试客户端。
重要

对同一配置运行您自己的产品验证测试,以确保您的产品功能在 Red Hat OpenShift 环境中正常工作。

Red Hat Partner Connect 提供了作为计划好处的免费访问软件。要了解如何获取 Red Hat OpenShift 环境订阅,请参阅 Red Hat Partner Connect Program Guide

36.6. 访问 CSI 认证测试

CSI 认证测试打包在容器中,并包含在 OpenShift End-to-End 存储库中。要检索测试的当前版本,请导航到 红帽生态系统目录,并按照 Get this image 选项卡中提供的说明进行操作。

在以下位置访问 OpenShift End-to-End 测试容器的目录条目:

注意

在访问 OpenShift End-to-End Tests 容器时,请务必拉取您用于产品认证的 OpenShift 版本的对应标签。

36.7. 设置 CSI 测试参数

CSI 认证测试需要客户端主机上存在以下文件:

  • 带有凭证的 kubeconfig.yaml 文件,用于在 test 下访问 OpenShift 集群。此文件在 OpenShift 安装过程中自动创建,但您可以使用以下命令重新创建副本:

    $ oc config view --raw > kubeconfig.yaml
    Copy to Clipboard Toggle word wrap
  • 描述驱动程序功能的 manifest.yaml 文件。此文件用于确定必须执行的测试。如需更多信息,请参阅 示例文件

36.8. 运行 CSI 认证测试

CSI 认证测试由两种类型的测试组成:

运行测试以认证您的产品进行 CSI 认证。

36.8.1. 运行 CSI 功能测试

在测试客户端中,将 kubeconfig.yamlmanifest.yaml 文件放在当前工作目录中,并运行以下命令:

对于 OpenShift v4.16 及之后的版本

$ mkdir -p test-results; cd test-results
$ VERSION=$(oc get clusterversion -o 'jsonpath={.items[0].status.desired.version}' | cut -d. -f1,2)
$ podman run -v "$(pwd):/data:z" -w /data --rm -it registry.redhat.io/openshift4/ose-tests-rhel9:${VERSION} sh -c "KUBECONFIG=/data/kubeconfig.yaml TEST_CSI_DRIVER_FILES=/data/manifest.yaml /usr/bin/openshift-tests run openshift/csi -o /data/results.txt"
Copy to Clipboard Toggle word wrap

对于 OpenShift v4.15 及更早版本

$ mkdir -p test-results; cd test-results
$ VERSION=$(oc get clusterversion -o 'jsonpath={.items[0].status.desired.version}' | cut -d. -f1,2)
$ podman run -v "$(pwd):/data:z" -w /data --rm -it registry.redhat.io/openshift4/ose-tests:${VERSION} sh -c "KUBECONFIG=/data/kubeconfig.yaml TEST_CSI_DRIVER_FILES=/data/manifest.yaml /usr/bin/openshift-tests run openshift/csi -o /data/results.txt"
Copy to Clipboard Toggle word wrap

命令使用与 Red Hat OpenShift 集群的确切版本对应的测试套件,如 4.x。

如果要查看为 CSI 认证运行的测试列表,请运行以下命令:

对于 OpenShift v4.16 及之后的版本

podman run -v `pwd`:/data:z --rm -it registry.redhat.io/openshift4/ose-tests-rhel9 sh -c "KUBECONFIG=/data/kubeconfig.yaml TEST_CSI_DRIVER_FILES=/data/manifest.yaml /usr/bin/openshift-tests run --dry-run openshift/csi
Copy to Clipboard Toggle word wrap

对于 OpenShift v4.15 及更早版本

podman run -v `pwd`:/data:z --rm -it registry.redhat.io/openshift4/ose-tests sh -c "KUBECONFIG=/data/kubeconfig.yaml TEST_CSI_DRIVER_FILES=/data/manifest.yaml /usr/bin/openshift-tests run --dry-run openshift/csi
Copy to Clipboard Toggle word wrap
注意

为每个支持的存储协议执行单独的测试。

保存 CSI 测试结果

在提交测试结果前,请确保已准备好以下内容:

  • 结果目录的内容
  • manifest.yaml 文件
  • 以下命令的输出:

    $ oc get clusterversion -o yaml
    Copy to Clipboard Toggle word wrap

    and

    $ podman image list registry.redhat.io/openshift4/ose-tests
    Copy to Clipboard Toggle word wrap

36.8.2. 运行 KubeVirt 存储检查测试

KubeVirt 存储检查测试是一个自动化工具,用于验证集群存储是否为 OpenShift Virtualization 的最佳配置。您可以使用两种不同的方法 - Web 控制台或 CLI 运行测试。

使用 Web 控制台运行存储检查测试,以验证配置的存储是否已为虚拟机配置。具体步骤请参阅 使用 Web 控制台运行存储检查

36.8.2.2. 使用命令行运行 KubeVirt 存储检查测试

使用命令行运行存储检查测试,以验证配置的存储是否为虚拟机配置最佳。具体步骤请参阅 使用命令行运行存储检查

保存 KubeVirt 存储检查测试结果

在提交测试结果前,请确保以下命令的输出就绪:

$ oc get configmap storage-checkup-config -n <target_namespace> -o yaml
Copy to Clipboard Toggle word wrap

36.9. 提交 CSI 测试结果

按照以下步骤通过红帽客户门户网站提交结果文件:

  1. 登录红帽客户门户。
  2. 在主页上,在搜索栏中输入产品问题单号。从显示的列表中选择问题单号。
  3. Summary 选项卡中,在 Files 部分下点 Upload

在上传结果前,请确保所有 CSI 测试都成功完成。如果特定测试不适用于认证产品,请在提交结果中包括解释。

注意

如果在运行 KubeVirt 存储测试或 CSI 功能测试时对 CSI 驱动程序进行了任何修改,您必须重新运行 CSI 认证测试。

36.10. 在红帽生态系统目录中发布产品列表

当您通过红帽客户门户网站提交 CSI 组件进行验证时,红帽认证团队会审核并验证您的组件以进行验证。验证成功后,您的认证产品会发布在红帽生态系统目录中。

按照以下步骤发布您认证的 CSI operator:

  1. 访问 合作伙伴连接 网页。我的产品 网页显示 产品列表
  2. 搜索所需的产品列表。
  3. 单击您要发布的新创建的产品列表。查看您的产品列表的所有详情。
  4. 转至 Components 选项卡。
  5. Add Component 将认证 CSI operator 附加到此列表中。另外,添加 CSI 组件使用的额外认证容器。所有组件都必须处于 Published 状态。

    当您指定产品列表的所有所需信息以及附加的组件时,将启用 Publish 按钮。

  6. 单击 Publish

您的认证的 CSI operator 现在可在 红帽生态系统目录 上进行公共访问。在 OpenShift 的 Web 控制台中,经过认证的 CSI Operator 也列在 OperatorHub 中。合作伙伴将在 Red Hat OpenShift 平台上推广其认证产品的徽标。

注意

Red Hat OpenShift 软件认证不会在 Operator 构造和执行的红帽平台之外对合作伙伴的产品进行功能或性能测试。认证候选产品质量保证的所有方面均保持合作伙伴的责任。

法律通告

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat