为 Red Hat Developer Hub 安装 Ansible 插件
为 Red Hat Developer Hub 安装和配置 Ansible 插件
摘要
前言
感谢您对 Red Hat Ansible Automation Platform 的关注。Ansible Automation Platform 是一个商业产品,它可以帮助团队通过增加控制、知识、协调基于 Ansible 的环境来更好地管理多阶的复杂部署环境。
本指南论述了如何为 Red Hat Developer Hub 安装 Ansible 插件。本文档已更新,以包含 Ansible Automation Platform 最新版本的信息。
对红帽文档提供反馈
如果您对本文档有任何改进建议,或发现错误,请通过 https://access.redhat.com 联系技术支持来创建一个请求。
第 1 章 Red Hat Developer Hub 的 Ansible 插件
1.1. Red Hat Developer Hub
Red Hat Developer Hub (RHDH)充当一个开源开发人员平台,旨在构建开发人员门户。
1.2. Red Hat Developer Hub 的 Ansible 插件
Red Hat Developer Hub 的 Ansible 插件提供了一个 Ansible 优先的红帽开发人员 Hub 用户体验,简化了所有技能级别的 Ansible 用户的自动化体验。Ansible 插件提供策展的内容和功能,以加速 Ansible 参与并简化整个机构中 Ansible 用例的采用过程。
Ansible 插件提供:
- 自定义主页,以及为 Ansible 用户量身定制的导航。
- 策展 Ansible 学习路径,帮助用户熟悉 Ansible。
- 用于创建 Ansible playbook 和集合项目的软件模板,遵循最佳实践。
- 使用建议配置支持开发环境和工具的链接。
1.3. 架构

第 2 章 在 OpenShift Container Platform 中使用 Helm chart 安装 Ansible 插件
以下流程描述了如何使用 Helm Chart 在 Red Hat OpenShift Container Platform 上安装 Red Hat Developer Hub 实例中的 Ansible 插件。
工作流如下:
- 下载 Ansible 插件文件。
- 在 OpenShift 集群中创建插件 registry,以托管 Ansible 插件。
- 在 Helm Chart 中添加插件。
- 创建自定义 ConfigMap。
- 将自定义 ConfigMap 添加到 Helm Chart 中。
根据所需和可选配置步骤编辑自定义 ConfigMap 和 Helm Chart。
注意您可以在每次更新到配置后保存对 Helm 和 ConfigMap 的更改。您不必在单个会话中对这些文件进行所有更改。
2.1. 先决条件
在 Red Hat OpenShift Container Platform 上安装的 Red Hat Developer Hub。
- 对于 Helm 安装,请按照在 OpenShift Container Platform 上安装 Red Hat Developer Hub 的 Helm Chart 部分中 安装 Red Hat Developer Hub 中的步骤。
- 对于 Operator 安装,请按照在 OpenShift Container Platform 上安装 Red Hat Developer Hub 部分的 Operator 部分中 安装 Red Hat Developer Hub 中的步骤。
- Red Hat Ansible Automation Platform 的有效订阅。
- 在项目中具有适当权限的 OpenShift Container Platform 实例来创建应用程序。
- Red Hat Developer Hub 实例可以查询自动化控制器 API。
- 可选: 要使用集成的学习路径,您必须有对 developers.redhat.com 的出站访问权限。
2.2. 推荐的 RHDH 预配置
红帽建议在 RHDH 中执行以下初始配置任务。但是,您可以在完成这些任务前,为 Red Hat Developer Hub 安装 Ansible 插件。
红帽为使用 publish:github
操作的 RHDH 提供软件模板存储库。要使用这些软件模板,您必须安装所需的 GitHub 动态插件。
2.3. 下载 Ansible 插件文件
-
从 Red Hat Ansible Automation Platform 产品软件下载页面 下载 插件的最新
.tar
文件。文件名格式为ansible-backstage-rhaap-bundle-x.y.z.tar.gz
。替换 Ansible 插件发行版本,如1.0.0
,如x.y.z
。 在本地机器上创建一个目录来存储
.tar
文件。$ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
设置环境变量(
$DYNAMIC_PLUGIN_ROOT_DIR
)来代表目录路径。$ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
将
ansible-backstage-rhaap-bundle-<version-number>.tar.gz
内容提取到$DYNAMIC_PLUGIN_ROOT_DIR
。$ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR
替换 Ansible 插件发行版本,如
1.0.0
,如x.y.z
。
验证
运行 ls
以验证提取的文件是否在 $DYNAMIC_PLUGIN_ROOT_DIR
目录中:
$ ls $DYNAMIC_PLUGIN_ROOT_DIR ansible-plugin-backstage-rhaap-x.y.z.tgz ansible-plugin-backstage-rhaap-x.y.z.tgz.integrity ansible-plugin-backstage-rhaap-backend-x.y.z.tgz ansible-plugin-backstage-rhaap-backend-x.y.z.tgz.integrity ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz.integrity
具有 .integrity
文件类型的文件包含插件 SHA 值。SHA 值在插件配置过程中使用。
2.4. 为 Ansible 插件创建 registry
在 OpenShift 集群中设置 registry 以托管 Ansible 插件,并使其可用于在 Red Hat Developer Hub (RHDH)中安装。
流程
- 使用凭证登录到 OpenShift Container Platform 实例,以创建新应用程序。
打开 Red Hat Developer Hub OpenShift 项目。
$ oc project <YOUR_DEVELOPER_HUB_PROJECT>
运行以下命令,在 OpenShift 集群中创建插件 registry 构建。
$ oc new-build httpd --name=plugin-registry --binary $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait $ oc new-app --image-stream=plugin-registry
验证
要验证 plugin-registry 是否已成功部署,请在 OpenShift Web 控制台中的 Red Hat Developer Hub 应用程序的 Developer 视角中打开 Topology 视图。
点插件 registry 查看日志。
(1)开发人员 hub 实例
(2)插件 registry
- 单击 terminal 选项卡,再登录容器。
在终端中,运行
ls
以确认 .tar 文件位于插件 registry 中。ansible-plugin-backstage-rhaap-x.y.z.tgz ansible-plugin-backstage-rhaap-backend-x.y.z.tgz ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz
版本号和文件名可能会有所不同。
2.5. 所需的配置
2.5.1. 添加 Ansible 插件配置
- 在 OpenShift Developer UI 中,导航到 → → → → 。
更新 Helm Chart 配置,以在 Red Hat Developer Hub 实例中添加动态插件。在 YAML 文件中的
plugins
部分,添加您要启用的动态插件。global: ... plugins: - disabled: false integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap plugin> package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-x.y.z.tgz' pluginConfig: dynamicPlugins: frontend: ansible.plugin-backstage-rhaap: appIcons: - importName: AnsibleLogo name: AnsibleLogo dynamicRoutes: - importName: AnsiblePage menuItem: icon: AnsibleLogo text: Ansible path: /ansible - disabled: false integrity: <SHA512 Integrity key for ansible-plugin-scaffolder-backend-module-backstage-rhaap plugin> package: >- http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz pluginConfig: dynamicPlugins: backend: ansible.plugin-scaffolder-backend-module-backstage-rhaap: null - disabled: false integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap-backend plugin> package: >- http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-x.y.z.tgz pluginConfig: dynamicPlugins: backend: ansible.plugin-backstage-rhaap-backend: null
-
在
package
部分中,将插件文件名中的x.y.z
替换为 Ansible 插件的正确版本号。 -
对于每个 Ansible 插件,使用对应的
.integrity
文件内容更新完整性值。 单击
。开发人员 hub pod 重启并安装了插件。
验证
要验证插件是否已安装,请打开 install-dynamic-plugin
容器日志,并检查 Red Hat Developer Hub 中是否可以看到 Ansible 插件:
- 在 OpenShift Web 控制台中,打开 Red Hat Developer Hub 应用程序的 Developer 视角。
- 选择 Topology 视图。
- 选择 Red Hat Developer Hub 部署 pod 来打开一个信息窗格。
- 选择信息窗格的 Resources 选项卡。
- 在 Pods 部分中,点 View logs 打开 Pod 详情页面。
- 在 Pod 详情页面中,选择 Logs 选项卡。
-
从容器下拉列表中,选择
install-dynamic-plugins
来查看容器日志。 在
install-dynamic-plugin
容器日志中,搜索 Ansible 插件。日志中的示例表示其中一个插件成功安装:
=> Successfully installed dynamic plugin http://plugin-registry-1:8080/ansible-plugin-backstage-rhaap-1.1.0.tgz
下图显示了容器登录 Pod 详情页面。版本号和文件名可能会有所不同。
2.5.2. 添加 Ansible Development Tools sidecar 容器
加载插件后,在 Red Hat Developer Hub pod 中添加 Ansible Development Container (ansible-devtools-server
)作为 sidecar 容器。
2.5.2.1. 在 Red Hat Developer Hub Helm 配置中添加 pull secret
前提条件
Ansible 开发容器下载需要一个红帽客户门户网站帐户和 Red Hat Service Registry 帐户。
流程
- 如果需要,创建一个新的 Red Hat Registry Service 帐户。
- 单击 Account name 列下的令牌名称。
- 选择 OpenShift Secret 选项卡,并按照说明将 pull secret 添加到 Red Hat Developer Hub OpenShift 项目中。
将新 secret 添加到 Red Hat Developer Hub Helm 配置中,将 &
lt;your-redhat-registry-pull-secret
> 替换为您在 Red Hat Registry Service Account 网站上生成的 secret 的名称:upstream: backstage: ... image: ... pullSecrets: - <your-redhat-registry-pull-secret> ...
如需更多信息,请参阅 Red Hat Container Registry 文档。
2.5.2.2. 添加 Ansible Developer Tools 容器
您必须更新 Helm Chart 配置来添加额外的容器。
流程
- 登录 OpenShift UI。
- 进入 → → → → 以打开 Helm Chart。
更新 YAML 文件中的
extraContainers
部分。添加以下代码:
upstream: backstage: ... extraContainers: - command: - adt - server image: >- registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest imagePullPolicy: IfNotPresent name: ansible-devtools-server ports: - containerPort: 8000 ...
注意镜像拉取策略为
imagePullPolicy: IfNotPresent
。只有节点上不存在时才拉取镜像。将它更新为imagePullPolicy: Always
,如果总是要使用最新的镜像。- 单击 。
验证
要验证容器是否正在运行,请检查容器日志:

2.5.3. 添加自定义 ConfigMap
按照 Red Hat Developer Hub 管理指南中的 将自定义应用程序配置文件添加到 Red Hat OpenShift Container Platform 的步骤创建 Red Hat Developer Hub ConfigMap。以下示例使用一个名为 app-config-rhdh
的自定义 ConfigMap
要编辑您的自定义 ConfigMap,请登录 OpenShift UI 并导航到
→ → → → 。2.5.4. 配置 Ansible Dev Tools 服务器
Ansible 插件需要 creatorService
URL 来使用提供的软件模板调配新项目。
流程
-
编辑您在 添加自定义 ConfigMap 中创建的自定义 Red Hat Developer Hub 配置映射
app-config-rhdh
。 将以下代码添加到 Red Hat Developer Hub
app-config-rhdh.yaml
文件中。kind: ConfigMap apiVersion: v1 metadata: name: app-config-rhdh ... data: app-config-rhdh.yaml: |- ansible: creatorService: baseUrl: 127.0.0.1 port: '8000' ...
2.5.5. 配置 Ansible Automation Platform 详情
Ansible 插件使用令牌通过控制器 API 查询 Ansible Automation Platform 订阅状态。
无论 Ansible Automation Platform 订阅状态如何,Ansible 插件都可以继续正常工作。
流程
- 按照自动化控制器的 添加令牌 部分,使用 自动化控制器中的 "Read"范围创建个人访问令牌(PAT)。
-
编辑自定义 Red Hat Developer Hub 配置映射,如
app-config-rhdh
。 将您的 Ansible Automation Platform 详情添加到
app-config-rhdh.yaml
。-
使用自动化控制器 URL 设置
baseURL
密钥。 -
使用在第 1 步中创建的生成的令牌值设置
令牌
密钥。 将
checkSSL
密钥设为true
或false
。如果
checkSSL
设为true
,Ansible 插件将验证 SSL 证书是否有效。data: app-config-rhdh.yaml: | ... ansible: ... rhaap: baseUrl: '<https://MyControllerUrl>' token: '<AAP Personal Access Token>' checkSSL: true
-
使用自动化控制器 URL 设置
您需要从外部和未经授权的访问保护 Red Hat Developer Hub 安装。像管理任何其他 secret 一样管理后端身份验证密钥。满足强密码要求,不要将其公开在任何配置文件中,而是仅将其作为环境变量注入配置文件中。
2.5.6. 添加 Ansible 插件软件模板
Red Hat Ansible 为 Red Hat Developer Hub 提供软件模板,以根据 Ansible 最佳实践置备新的 playbook 和集合项目。
流程
-
编辑自定义 Red Hat Developer Hub 配置映射,如
app-config-rhdh
。 -
将以下代码添加到 Red Hat Developer Hub
app-config-rhdh.yaml
文件中。
data: app-config-rhdh.yaml: | catalog: ... locations: ... - type: url target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml rules: - allow: [Template]
如需更多信息,请参阅 Red Hat Developer Hub 管理指南中的管理模板 部分。
2.5.7. 配置基于角色的访问控制
Red Hat Developer Hub 提供基于角色的访问控制(RBAC)功能。然后,RBAC 可以应用到 Ansible 插件内容。
分配以下角色:
-
admin:superUsers
组的成员可以在 Ansible 插件的 Create 选项卡中选择模板,以创建 playbook 和集合项目。 -
admin:users
组的成员可以在 Ansible 插件的 Create 选项卡中查看模板。
以下示例将 RBAC 添加到 Red Hat Developer Hub。
data: app-config-rhdh.yaml: | plugins: ... permission: enabled: true rbac: admin: users: - name: user:default/<user-scm-ida> superUsers: - name: user:default/<user-admin-idb>
如需有关权限策略和管理 RBAC 的更多信息,请参阅 Red Hat Developer Hub 授权 指南。
2.6. Ansible 插件的可选配置
2.6.1. 启用 Red Hat Developer Hub 身份验证
Red Hat Developer Hub (RHDH)为多个源控制管理(SCM)系统提供集成。插件需要它来创建存储库。
请参阅 Red Hat Developer Hub 管理指南中的在 Red Hat Developer Hub 中启用身份验证章节 。
2.6.2. 配置 Ansible 插件可选集成
Ansible 插件提供与 Ansible Automation Platform 和其他可选红帽产品的集成。
要编辑您的自定义 ConfigMap,请登录 OpenShift UI 并导航到
→ → → 。2.6.2.1. 配置 OpenShift Dev Spaces
当为 Ansible 插件配置 OpenShift Dev Spaces 时,用户可以点击 Red Hat Developer Hub 中的目录项视图中的链接,并使用 Dev Spaces 编辑其置备的 Ansible Git 项目。
OpenShift Dev Spaces 是一个单独的产品,它是可选的。该插件将在没有它的情况下正常工作。
它是一个单独的红帽产品,不包括在 Ansible Automation Platform 或 Red Hat Developer Hub 订阅中。
如果 Ansible 插件中没有配置 OpenShift Dev Spaces 链接,则 Ansible 插件登录页面中的 DEVELOP 部分中的 Go to OpenShift Dev Spaces 仪表板 链接会将用户重定向到 Ansible 开发工具主页。
先决条件
- Dev Spaces 安装。请参阅 Red Hat OpenShift Dev Spaces Administration Guide 中的 Installing Dev Spaces 部分。
流程
-
编辑自定义 Red Hat Developer Hub 配置映射,如
app-config-rhdh
。 将以下代码添加到 Red Hat Developer Hub
app-config-rhdh.yaml
文件中。data: app-config-rhdh.yaml: |- ansible: devSpaces: baseUrl: >- https://<Your OpenShift Dev Spaces URL>
-
将
<Your OpenShft Dev Spaces URL&
gt; 替换为您的 OpenShift Dev Spaces URL。 -
在 OpenShift Developer UI 中,选择
Red Hat Developer Hub
pod。 - 打开 Actions。
- 点 Restart rollout。
2.6.2.2. 配置私有自动化中心 URL
私有自动化中心提供了一个集中的内部仓库,用于认证 Ansible 集合、执行环境以及您的机构提供的额外 vetted 内容。
如果没有在 Ansible 插件中配置私有自动化中心 URL,用户会被重定向到 Red Hat Hybrid Cloud Console Automation Hub。
私有自动化中心配置是可选的,但推荐使用。Ansible 插件将在没有它的情况下正常工作。
先决条件
私有自动化中心实例。
有关安装私有自动化中心的更多信息,请参阅 Ansible Automation Platform 文档中的 安装和升级 指南。
流程
-
编辑自定义 Red Hat Developer Hub 配置映射,fpr 示例
app-config-rhdh
。 将以下代码添加到 Red Hat Developer Hub
app-config-rhdh.yaml
文件中。data: app-config-rhdh.yaml: |- ansible: ... automationHub: baseUrl: '<https://MyOwnPAHUrl>' ...
-
将
<https://MyOwnPAHUrl/&
gt; 替换为您的私有自动化中心 URL。 -
在 OpenShift Developer UI 中,选择
Red Hat Developer Hub
pod。 - 打开 Actions。
- 点 Restart rollout。
2.7. 完整示例
2.7.1. Ansible 插件条目的完整的 app-config-rhdh ConfigMap 示例
kind: ConfigMap ... metadata: name: app-config-rhdh ... data: app-config-rhdh.yaml: |- ansible: creatorService: baseUrl: 127.0.0.1 port: '8000' rhaap: baseUrl: '<https://MyControllerUrl>' token: '<AAP Personal Access Token>' checkSSL: <true or false> # Optional integrations devSpaces: baseUrl: '<https://MyDevSpacesURL>' automationHub: baseUrl: '<https://MyPrivateAutomationHubURL>' ... catalog: locations: - type: url target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml rules: - allow: [Template] ...
2.7.2. Ansible 插件的完整 Helm Chart 配置示例
global: ... dynamic: ... plugins: - disabled: false integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap plugin> package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-x.y.z.tgz' pluginConfig: dynamicPlugins: frontend: ansible.plugin-backstage-rhaap: appIcons: - importName: AnsibleLogo name: AnsibleLogo dynamicRoutes: - importName: AnsiblePage menuItem: icon: AnsibleLogo text: Ansible path: /ansible - disabled: false integrity: <SHA512 Integrity key for ansible-plugin-scaffolder-backend-module-backstage-rhaap plugin> package: >- http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz pluginConfig: dynamicPlugins: backend: ansible.plugin-scaffolder-backend-module-backstage-rhaap: null - disabled: false integrity: <SHA512 Integrity key for ansible-plugin-backstage-rhaap-backend plugin> package: >- http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-x.y.z.tgz pluginConfig: dynamicPlugins: backend: ansible.plugin-backstage-rhaap-backend: null ... upstream: backstage: ... extraAppConfig: - configMapRef: app-config-rhdh filename: app-config-rhdh.yaml extraContainers: - command: - adt - server image: >- registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest imagePullPolicy: IfNotPresent name: ansible-devtools-server ports: - containerPort: 8000 ...
第 3 章 使用 OpenShift Container Platform 上的 Operator 安装 Ansible 插件
以下流程描述了如何使用 Operator 在 Red Hat OpenShift Container Platform 上安装 Red Hat Developer Hub 实例中的 Ansible 插件。
3.1. 先决条件
在 Red Hat OpenShift Container Platform 上安装的 Red Hat Developer Hub。
- 对于 Helm 安装,请按照在 OpenShift Container Platform 上安装 Red Hat Developer Hub 的 Helm Chart 部分中 安装 Red Hat Developer Hub 中的步骤。
- 对于 Operator 安装,请按照在 OpenShift Container Platform 上安装 Red Hat Developer Hub 部分的 Operator 部分中 安装 Red Hat Developer Hub 中的步骤。
- Red Hat Ansible Automation Platform 的有效订阅。
- 在项目中具有适当权限的 OpenShift Container Platform 实例来创建应用程序。
- Red Hat Developer Hub 实例可以查询自动化控制器 API。
- 可选: 要使用集成的学习路径,您必须有对 developers.redhat.com 的出站访问权限。
3.2. 推荐的 RHDH 预配置
红帽建议在 RHDH 中执行以下初始配置任务。但是,您可以在完成这些任务前,为 Red Hat Developer Hub 安装 Ansible 插件。
红帽为使用 publish:github
操作的 RHDH 提供软件模板存储库。要使用这些软件模板,您必须安装所需的 GitHub 动态插件。
3.3. 在 RHDH Operator 自定义资源中添加 Ansible 开发工具的 sidecar 容器
在 Developer Hub pod 中为 Ansible 开发工具添加 sidecar 容器。要做到这一点,您必须修改 Red Hat Developer Hub 部署的基本 ConfigMap。
- 在 OpenShift 控制台中,选择 Topology 视图。
- 点 developer-hub 实例上的 More actions alsa,然后选择 Edit backstage 以打开 Backstage 详情页面。
- 选择 YAML 选项卡。
在编辑窗格中,在
spec.deployment.patch.spec.template.spec
块中添加containers
块:apiVersion: rhdh.redhat.com/v1alpha3 kind: Backstage metadata: name: developer-hub spec: deployment: patch: spec: template: spec: containers: - command: - adt - server image: registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest imagePullPolicy: always ports: - containerPort:8000 protocol: TCP terminationMessagePolicy: file
- 点击 。
如果要在部署中添加额外的环境变量,您可以在 spec.application.extraEnvs
块中添加它们:
spec: application: ... extraEnvs: envs: - name: <env_variable_name> value: <env_variable_value>
3.4. 下载 Ansible 插件文件
-
从 Red Hat Ansible Automation Platform 产品软件下载页面 下载 插件的最新
.tar
文件。文件名格式为ansible-backstage-rhaap-bundle-x.y.z.tar.gz
。替换 Ansible 插件发行版本,如1.0.0
,如x.y.z
。 在本地机器上创建一个目录来存储
.tar
文件。$ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
设置环境变量(
$DYNAMIC_PLUGIN_ROOT_DIR
)来代表目录路径。$ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
将
ansible-backstage-rhaap-bundle-<version-number>.tar.gz
内容提取到$DYNAMIC_PLUGIN_ROOT_DIR
。$ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR
替换 Ansible 插件发行版本,如
1.0.0
,如x.y.z
。
验证
运行 ls
以验证提取的文件是否在 $DYNAMIC_PLUGIN_ROOT_DIR
目录中:
$ ls $DYNAMIC_PLUGIN_ROOT_DIR ansible-plugin-backstage-rhaap-x.y.z.tgz ansible-plugin-backstage-rhaap-x.y.z.tgz.integrity ansible-plugin-backstage-rhaap-backend-x.y.z.tgz ansible-plugin-backstage-rhaap-backend-x.y.z.tgz.integrity ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz.integrity
具有 .integrity
文件类型的文件包含插件 SHA 值。SHA 值在插件配置过程中使用。
3.5. 为 Ansible 插件创建 registry
在 OpenShift 集群中设置 registry 以托管 Ansible 插件,并使其可用于在 Red Hat Developer Hub (RHDH)中安装。
流程
- 使用凭证登录到 OpenShift Container Platform 实例,以创建新应用程序。
打开 Red Hat Developer Hub OpenShift 项目。
$ oc project <YOUR_DEVELOPER_HUB_PROJECT>
运行以下命令,在 OpenShift 集群中创建插件 registry 构建。
$ oc new-build httpd --name=plugin-registry --binary $ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait $ oc new-app --image-stream=plugin-registry
验证
要验证 plugin-registry 是否已成功部署,请在 OpenShift Web 控制台中的 Red Hat Developer Hub 应用程序的 Developer 视角中打开 Topology 视图。
点插件 registry 查看日志。
(1)开发人员 hub 实例
(2)插件 registry
- 单击 terminal 选项卡,再登录容器。
在终端中,运行
ls
以确认 .tar 文件位于插件 registry 中。ansible-plugin-backstage-rhaap-x.y.z.tgz ansible-plugin-backstage-rhaap-backend-x.y.z.tgz ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz
版本号和文件名可能会有所不同。
3.6. 安装动态插件
要安装动态插件,请将它们添加到您的 RHDH 插件设置的 ConfigMap 中(例如 rhaap-dynamic-plugins-config
)。
如果您还没有为 RHDH 插件设置创建 ConfigMap 文件,请按照 Red Hat Developer Hub 管理指南中的 将自定义应用程序配置文件添加到 Red Hat OpenShift Container Platform 部分中的步骤 创建一个。
以下流程中使用的 ConfigMap 示例称为 rhaap-dynamic-plugins-config
。
流程
- 在 OpenShift 控制台导航窗格中选择 ConfigMap。
-
从列表中选择
rhaap-dynamic-plugins-config
ConfigMap。 -
选择 YAML 选项卡来编辑
rhaap-dynamic-plugins-config
ConfigMap。 在
data.dynamic-plugins.yaml.plugins
块中,添加插件 registry 的三个动态插件。-
对于
完整性
哈希值,请使用与每个插件对应的$DYNAMIC_PLUGIN_ROOT_DIR
目录中的.integrity
文件,例如,使用ansible-plugin-backstage-rhaap-x.y.z.tgz.integrity
用于ansible-plugin-backstage-rhaap-x.y.z.tgz
插件。 将
x.y.z
替换为正确的插件版本。kind: ConfigMap apiVersion: v1 metadata: name: rhaap-dynamic-plugins-config data: dynamic-plugins.yaml: | ... plugins: - disabled: false package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-x.y.z.tgz' integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-x.y.z.tgz.integrity pluginConfig: dynamicPlugins: frontend: ansible.plugin-backstage-rhaap: appIcons: - importName: AnsibleLogo name: AnsibleLogo dynamicRoutes: - importName: AnsiblePage menuItem: icon: AnsibleLogo text: Ansible path: /ansible - disabled: false package: >- http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-x.y.z.tgz integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-backend-x.y.z.tgz.integrity pluginConfig: dynamicPlugins: backend: ansible.plugin-backstage-rhaap-backend: null - disabled: false package: >- http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz integrity: <SHA512 value> # Use hash in ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz.integrity pluginConfig: dynamicPlugins: backend: ansible.plugin-scaffolder-backend-module-backstage-rhaap: null - ...<REDACTED>
-
对于
- 点击 。
查看滚动重启的进度:
- 在 Topology 视图中,选择部署 pod,再单击 View logs。
-
从容器列表中选择
install-dynamic-plugins
。
验证
- 在 OpenShift 控制台中,选择 Topology 视图。
- 单击部署 Pod 上的 Open URL 图标,在浏览器窗口中打开 Red Hat Developer Hub 实例。
Ansible 插件存在于导航窗格中,如果您选择 Administration,则安装插件将在 Plugins 选项卡中列出。
3.7. 添加自定义 ConfigMap
按照 Red Hat Developer Hub 管理指南中的 将自定义应用程序配置文件添加到 Red Hat OpenShift Container Platform 的步骤创建 Red Hat Developer Hub ConfigMap。以下示例使用一个名为 app-config-rhdh
的自定义 ConfigMap
要编辑您的自定义 ConfigMap,请登录 OpenShift UI 并导航到
→ → → → 。3.8. 配置 Ansible Dev Tools 服务器
Ansible 插件需要 creatorService
URL 来使用提供的软件模板调配新项目。
流程
-
编辑您在 添加自定义 ConfigMap 中创建的自定义 Red Hat Developer Hub 配置映射
app-config-rhdh
。 将以下代码添加到 Red Hat Developer Hub
app-config-rhdh.yaml
文件中。kind: ConfigMap apiVersion: v1 metadata: name: app-config-rhdh ... data: app-config-rhdh.yaml: |- ansible: creatorService: baseUrl: 127.0.0.1 port: '8000' ...
3.9. 配置 Ansible Automation Platform 详情
Ansible 插件使用令牌通过控制器 API 查询 Ansible Automation Platform 订阅状态。
无论 Ansible Automation Platform 订阅状态如何,Ansible 插件都可以继续正常工作。
流程
- 按照自动化控制器的 添加令牌 部分,使用 自动化控制器中的 "Read"范围创建个人访问令牌(PAT)。
-
编辑自定义 Red Hat Developer Hub 配置映射,如
app-config-rhdh
。 将您的 Ansible Automation Platform 详情添加到
app-config-rhdh.yaml
。-
使用自动化控制器 URL 设置
baseURL
密钥。 -
使用在第 1 步中创建的生成的令牌值设置
令牌
密钥。 将
checkSSL
密钥设为true
或false
。如果
checkSSL
设为true
,Ansible 插件将验证 SSL 证书是否有效。data: app-config-rhdh.yaml: | ... ansible: ... rhaap: baseUrl: '<https://MyControllerUrl>' token: '<AAP Personal Access Token>' checkSSL: true
-
使用自动化控制器 URL 设置
您需要从外部和未经授权的访问保护 Red Hat Developer Hub 安装。像管理任何其他 secret 一样管理后端身份验证密钥。满足强密码要求,不要将其公开在任何配置文件中,而是仅将其作为环境变量注入配置文件中。
3.10. 添加 Ansible 插件软件模板
Red Hat Ansible 为 Red Hat Developer Hub 提供软件模板,以根据 Ansible 最佳实践置备新的 playbook 和集合项目。
流程
-
编辑自定义 Red Hat Developer Hub 配置映射,如
app-config-rhdh
。 -
将以下代码添加到 Red Hat Developer Hub
app-config-rhdh.yaml
文件中。
data: app-config-rhdh.yaml: | catalog: ... locations: ... - type: url target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml rules: - allow: [Template]
如需更多信息,请参阅 Red Hat Developer Hub 管理指南中的管理模板 部分。
3.11. 配置基于角色的访问控制
Red Hat Developer Hub 提供基于角色的访问控制(RBAC)功能。然后,RBAC 可以应用到 Ansible 插件内容。
分配以下角色:
-
admin:superUsers
组的成员可以在 Ansible 插件的 Create 选项卡中选择模板,以创建 playbook 和集合项目。 -
admin:users
组的成员可以在 Ansible 插件的 Create 选项卡中查看模板。
以下示例将 RBAC 添加到 Red Hat Developer Hub。
data: app-config-rhdh.yaml: | plugins: ... permission: enabled: true rbac: admin: users: - name: user:default/<user-scm-ida> superUsers: - name: user:default/<user-admin-idb>
如需有关权限策略和管理 RBAC 的更多信息,请参阅 Red Hat Developer Hub 授权 指南。
3.12. Ansible 插件的可选配置
3.12.1. 启用 Red Hat Developer Hub 身份验证
Red Hat Developer Hub (RHDH)为多个源控制管理(SCM)系统提供集成。插件需要它来创建存储库。
请参阅 Red Hat Developer Hub 管理指南中的在 Red Hat Developer Hub 中启用身份验证章节 。
3.12.2. 配置 Ansible 插件可选集成
Ansible 插件提供与 Ansible Automation Platform 和其他可选红帽产品的集成。
要编辑您的自定义 ConfigMap,请登录 OpenShift UI 并导航到
→ → → 。3.12.2.1. 配置 OpenShift Dev Spaces
当为 Ansible 插件配置 OpenShift Dev Spaces 时,用户可以点击 Red Hat Developer Hub 中的目录项视图中的链接,并使用 Dev Spaces 编辑其置备的 Ansible Git 项目。
OpenShift Dev Spaces 是一个单独的产品,它是可选的。该插件将在没有它的情况下正常工作。
它是一个单独的红帽产品,不包括在 Ansible Automation Platform 或 Red Hat Developer Hub 订阅中。
如果 Ansible 插件中没有配置 OpenShift Dev Spaces 链接,则 Ansible 插件登录页面中的 DEVELOP 部分中的 Go to OpenShift Dev Spaces 仪表板 链接会将用户重定向到 Ansible 开发工具主页。
先决条件
- Dev Spaces 安装。请参阅 Red Hat OpenShift Dev Spaces Administration Guide 中的 Installing Dev Spaces 部分。
流程
-
编辑自定义 Red Hat Developer Hub 配置映射,如
app-config-rhdh
。 将以下代码添加到 Red Hat Developer Hub
app-config-rhdh.yaml
文件中。data: app-config-rhdh.yaml: |- ansible: devSpaces: baseUrl: >- https://<Your OpenShift Dev Spaces URL>
-
将
<Your OpenShft Dev Spaces URL&
gt; 替换为您的 OpenShift Dev Spaces URL。 -
在 OpenShift Developer UI 中,选择
Red Hat Developer Hub
pod。 - 打开 Actions。
- 点 Restart rollout。
3.12.2.2. 配置私有自动化中心 URL
私有自动化中心提供了一个集中的内部仓库,用于认证 Ansible 集合、执行环境以及您的机构提供的额外 vetted 内容。
如果没有在 Ansible 插件中配置私有自动化中心 URL,用户会被重定向到 Red Hat Hybrid Cloud Console Automation Hub。
私有自动化中心配置是可选的,但推荐使用。Ansible 插件将在没有它的情况下正常工作。
先决条件
私有自动化中心实例。
有关安装私有自动化中心的更多信息,请参阅 Ansible Automation Platform 文档中的 安装和升级 指南。
流程
-
编辑自定义 Red Hat Developer Hub 配置映射,fpr 示例
app-config-rhdh
。 将以下代码添加到 Red Hat Developer Hub
app-config-rhdh.yaml
文件中。data: app-config-rhdh.yaml: |- ansible: ... automationHub: baseUrl: '<https://MyOwnPAHUrl>' ...
-
将
<https://MyOwnPAHUrl/&
gt; 替换为您的私有自动化中心 URL。 -
在 OpenShift Developer UI 中,选择
Red Hat Developer Hub
pod。 - 打开 Actions。
- 点 Restart rollout。
3.13. Ansible 插件条目的完整的 app-config-rhdh ConfigMap 示例
kind: ConfigMap ... metadata: name: app-config-rhdh ... data: app-config-rhdh.yaml: |- ansible: creatorService: baseUrl: 127.0.0.1 port: '8000' rhaap: baseUrl: '<https://MyControllerUrl>' token: '<AAP Personal Access Token>' checkSSL: <true or false> # Optional integrations devSpaces: baseUrl: '<https://MyDevSpacesURL>' automationHub: baseUrl: '<https://MyPrivateAutomationHubURL>' ... catalog: locations: - type: url target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml rules: - allow: [Template] ...
第 4 章 Ansible 插件订阅警告信息
在以下情况下,Ansible 插件在用户界面中显示订阅警告横幅:
4.1. 无法连接到 Ansible Automation Platform
以下警告表示没有配置自动化控制器详情,或者控制器实例 API 无法查询订阅状态。
Unable to connect to Ansible Automation Platform Verify that Ansible Automation Platform is reachable and correctly configured in the Ansible plug-ins. To get help, please refer to the Ansible plug-ins installation guide.
修复步骤
-
验证 Ansible Automation Platform 是否可从 ConfigMap 的
rhaap
部分中访问并正确配置。 -
确保为您的环境正确设置了
checkSSL
密钥。 - 更正配置详情后,重启 Red Hat Developer Hub pod 以启动订阅查询。
4.2. 无法向 Ansible Automation Platform 进行身份验证
以下警告表示 Ansible 插件无法与 Ansible Automation Platform 进行身份验证来查询订阅状态。
Unable to authenticate to Ansible Automation Platform Verify that the authentication details for Ansible Automation Platform are correctly configured in the Ansible plug-ins. For help, please refer to the Ansible plug-ins installation guide.
修复步骤
- 验证 Ansible 插件中配置的自动化控制器个人访问令牌(PAT)是否正确。如需更多信息,请参阅 自动化控制器用户指南 的 Applications 部分。
- 更正身份验证详情后,重启 Red Hat Developer Hub pod 以启动订阅查询。
4.3. 无效的 Ansible Automation Platform 配置
以下警告表示 Ansible Automation Platform 配置部分无效或不完整。
Invalid resource for Ansible Automation Platform Verify that the resource url for Ansible Automation Platform are correctly configured in the Ansible plug-ins. For help, please refer to the Ansible plug-ins installation guide.
修复步骤
-
验证 Ansible 插件 ConfigMap 的
rhaap
部分是否已正确配置,并且包含所有必要的条目。如需更多信息,请参阅配置 Ansible Automation Platform 详情。 - 更正配置后,重启 Red Hat Developer Hub pod 以启动订阅查询。
4.4. Ansible Automation Platform 订阅不合规
以下警告表示 Ansible 插件已成功检索 Ansible Automation Platform 订阅状态。但是,订阅不符合要求。
Subscription non-compliant The connected Ansible Automation Platform subscription is out of compliance. Contact your Red Hat account team to obtain a new subscription entitlement. Learn more about account compliance.
修复步骤
- 请联系您的红帽客户团队以获取新的订阅权利。
- 了解有关 帐户合规性 的更多信息。
- 当订阅合规时,重启 Red Hat Developer Hub pod 以启动新的订阅查询。
4.5. 无效的 Ansible Automation Platform 订阅
以下警告表示 Ansible 插件已成功检索 Ansible Automation Platform 订阅状态。但是,对于 Ansible Automation Platform,订阅类型无效。
Invalid subscription The connected Ansible Automation Platform subscription is invalid. Contact your Red Hat account team, or start an Ansible Automation Platform trial.
修复步骤
- 请联系您的红帽客户团队以获取新的订阅权利或启动 Ansible Automation Platform 试用。
- 更新订阅后,重启 Red Hat Developer Hub pod 以启动新的订阅查询。
第 5 章 在 OpenShift Container Platform 上的 Helm 安装中升级 Ansible 插件
要升级 Ansible 插件,您必须使用最新的 Ansible 插件文件更新 plugin-registry
应用程序。
5.1. 下载 Ansible 插件文件
-
从 Red Hat Ansible Automation Platform 产品软件下载页面 下载 插件的最新
.tar
文件。文件名格式为ansible-backstage-rhaap-bundle-x.y.z.tar.gz
。替换 Ansible 插件发行版本,如1.0.0
,如x.y.z
。 在本地机器上创建一个目录来存储
.tar
文件。$ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
设置环境变量(
$DYNAMIC_PLUGIN_ROOT_DIR
)来代表目录路径。$ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
将
ansible-backstage-rhaap-bundle-<version-number>.tar.gz
内容提取到$DYNAMIC_PLUGIN_ROOT_DIR
。$ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR
替换 Ansible 插件发行版本,如
1.0.0
,如x.y.z
。
验证
运行 ls
以验证提取的文件是否在 $DYNAMIC_PLUGIN_ROOT_DIR
目录中:
$ ls $DYNAMIC_PLUGIN_ROOT_DIR ansible-plugin-backstage-rhaap-x.y.z.tgz ansible-plugin-backstage-rhaap-x.y.z.tgz.integrity ansible-plugin-backstage-rhaap-backend-x.y.z.tgz ansible-plugin-backstage-rhaap-backend-x.y.z.tgz.integrity ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz.integrity
具有 .integrity
文件类型的文件包含插件 SHA 值。SHA 值在插件配置过程中使用。
5.2. 更新插件 registry
使用最新的 Ansible 插件文件在 OpenShift 集群中重建插件 registry 应用。
先决条件
- 您已下载了 Ansible 插件文件。
-
您已设置了环境变量,如
$DYNAMIC_PLUGIN_ROOT_DIR
,以表示您存储了.tar
文件的本地目录的路径。
流程
- 使用凭证登录到 OpenShift Container Platform 实例,以创建新应用程序。
打开 Red Hat Developer Hub OpenShift 项目。
$ oc project <YOUR_DEVELOPER_HUB_PROJECT>
运行以下命令,以更新 OpenShift 集群中的插件 registry 构建。命令假定
$DYNAMIC_PLUGIN_ROOT_DIR
代表您的.tar
文件的目录。如果您选择了不同的环境变量名称,请在命令中替换它。$ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
$ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
当 registry 启动时,输出会显示以下信息:
Uploading directory "/path/to/dynamic_plugin_root" as binary input for the build … Uploading finished build.build.openshift.io/plugin-registry-1 started
验证
验证 plugin-registry
是否已更新。
- 在 OpenShift UI 中,单击 Topology。
- 单击 redhat-developer-hub 图标,以查看插件 registry 的 pod。
- 点插件 registry pod 的 View logs。
-
打开 Terminal 选项卡,再运行
ls
来查看插件 registry 中的
.tar
文件。 -
验证新
.tar
文件是否已上传。
5.3. 为 Helm 安装更新 Ansible 插件版本号
流程
- 登录您的 OpenShift Container Platform 实例。
- 在 OpenShift Developer UI 中,导航到 → → → → 。
更新 Ansible 插件版本号及关联的
.integrity
文件值。... global: ... plugins: - disabled: false integrity: <SHA512 value> package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-x.y.z.tgz' pluginConfig: dynamicPlugins: frontend: ansible.plugin-backstage-rhaap: appIcons: - importName: AnsibleLogo name: AnsibleLogo dynamicRoutes: - importName: AnsiblePage menuItem: icon: AnsibleLogo text: Ansible path: /ansible - disabled: false integrity: <SHA512 value> package: >- http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz pluginConfig: dynamicPlugins: backend: ansible.plugin-scaffolder-backend-module-backstage-rhaap: null - disabled: false integrity: <SHA512 value> package: >- http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-x.y.z.tgz pluginConfig: dynamicPlugins: backend: ansible.plugin-backstage-rhaap-backend: null
单击
。开发人员 hub pod 重启并安装了插件。
验证
- 在 OpenShift UI 中,单击 Topology。
- 确保 Red Hat Developer Hub 实例可用。
第 6 章 在 OpenShift Container Platform 上安装 Operator 上升级 Ansible 插件
要升级 Ansible 插件,您必须使用最新的 Ansible 插件文件更新 plugin-registry
应用程序。
6.1. 下载 Ansible 插件文件
-
从 Red Hat Ansible Automation Platform 产品软件下载页面 下载 插件的最新
.tar
文件。文件名格式为ansible-backstage-rhaap-bundle-x.y.z.tar.gz
。替换 Ansible 插件发行版本,如1.0.0
,如x.y.z
。 在本地机器上创建一个目录来存储
.tar
文件。$ mkdir /path/to/<ansible-backstage-plugins-local-dir-changeme>
设置环境变量(
$DYNAMIC_PLUGIN_ROOT_DIR
)来代表目录路径。$ export DYNAMIC_PLUGIN_ROOT_DIR=/path/to/<ansible-backstage-plugins-local-dir-changeme>
将
ansible-backstage-rhaap-bundle-<version-number>.tar.gz
内容提取到$DYNAMIC_PLUGIN_ROOT_DIR
。$ tar --exclude='*code*' -xzf ansible-backstage-rhaap-bundle-x.y.z.tar.gz -C $DYNAMIC_PLUGIN_ROOT_DIR
替换 Ansible 插件发行版本,如
1.0.0
,如x.y.z
。
验证
运行 ls
以验证提取的文件是否在 $DYNAMIC_PLUGIN_ROOT_DIR
目录中:
$ ls $DYNAMIC_PLUGIN_ROOT_DIR ansible-plugin-backstage-rhaap-x.y.z.tgz ansible-plugin-backstage-rhaap-x.y.z.tgz.integrity ansible-plugin-backstage-rhaap-backend-x.y.z.tgz ansible-plugin-backstage-rhaap-backend-x.y.z.tgz.integrity ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz.integrity
具有 .integrity
文件类型的文件包含插件 SHA 值。SHA 值在插件配置过程中使用。
6.2. 更新插件 registry
使用最新的 Ansible 插件文件在 OpenShift 集群中重建插件 registry 应用。
先决条件
- 您已下载了 Ansible 插件文件。
-
您已设置了环境变量,如
$DYNAMIC_PLUGIN_ROOT_DIR
,以表示您存储了.tar
文件的本地目录的路径。
流程
- 使用凭证登录到 OpenShift Container Platform 实例,以创建新应用程序。
打开 Red Hat Developer Hub OpenShift 项目。
$ oc project <YOUR_DEVELOPER_HUB_PROJECT>
运行以下命令,以更新 OpenShift 集群中的插件 registry 构建。命令假定
$DYNAMIC_PLUGIN_ROOT_DIR
代表您的.tar
文件的目录。如果您选择了不同的环境变量名称,请在命令中替换它。$ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
$ oc start-build plugin-registry --from-dir=$DYNAMIC_PLUGIN_ROOT_DIR --wait
当 registry 启动时,输出会显示以下信息:
Uploading directory "/path/to/dynamic_plugin_root" as binary input for the build … Uploading finished build.build.openshift.io/plugin-registry-1 started
验证
验证 plugin-registry
是否已更新。
- 在 OpenShift UI 中,单击 Topology。
- 单击 redhat-developer-hub 图标,以查看插件 registry 的 pod。
- 点插件 registry pod 的 View logs。
-
打开 Terminal 选项卡,再运行
ls
来查看插件 registry 中的
.tar
文件。 -
验证新
.tar
文件是否已上传。
6.3. 为 Operator 安装更新 Ansible 插件版本号
流程
- 登录您的 OpenShift Container Platform 实例。
-
在 OpenShift UI 中,打开您在安装过程中添加 Ansible 插件的 ConfigMap。本例使用名为
rhaap-dynamic-plugins-config
的 ConfigMap 文件。 -
使用更新的 Ansible 插件的版本号更新
x.y.z
。 使用从对应的 Ansible 插件
.tar
文件中对应的.integrity
值更新每个插件的完整性值。kind: ConfigMap apiVersion: v1 metadata: name: rhaap-dynamic-plugins-config data: dynamic-plugins.yaml: | ... plugins: # Update the Ansible plug-in entries below with the updated plugin versions - disabled: false package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-x.y.z.tgz' integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-x.y.z.tgz.integrity ... - disabled: false package: >- http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-x.y.z.tgz integrity: <SHA512 value> # Use hash in ansible-plugin-backstage-rhaap-backend-x.y.z.tgz.integrity ... - disabled: false package: >- http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz integrity: <SHA512 value> # Use hash in ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz.integrity ...
点击
。开发人员 hub pod 重启并安装了插件。
验证
- 在 OpenShift UI 中,单击 Topology。
- 确保 Red Hat Developer Hub 实例可用。
第 7 章 从 OpenShift Container Platform 上的 Helm 安装中卸载 Ansible 插件
要卸载 Ansible 插件,您必须从 Red Hat Developer Hub 中删除任何使用 ansible:content:create
操作的软件模板,并从 OpenShift 中的 Helm Chart 中删除插件配置。
7.1. 卸载 Helm Chart 安装
流程
-
在 Red Hat Developer Hub 中,删除使用
ansible:content:create
操作的任何软件模板。 - 在 OpenShift Developer UI 中,导航到 → → → → 。
删除
plugins
部分下的 Ansible 插件配置。... global: ... plugins: - disabled: false integrity: <SHA512 value> package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-x.y.z.tgz' pluginConfig: dynamicPlugins: frontend: ansible.plugin-backstage-rhaap: appIcons: - importName: AnsibleLogo name: AnsibleLogo dynamicRoutes: - importName: AnsiblePage menuItem: icon: AnsibleLogo text: Ansible path: /ansible - disabled: false integrity: <SHA512 value> package: >- http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz pluginConfig: dynamicPlugins: backend: ansible.plugin-scaffolder-backend-module-backstage-rhaap: null - disabled: false integrity: <SHA512 value> package: >- http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-x.y.z.tgz pluginConfig: dynamicPlugins: backend: ansible.plugin-backstage-rhaap-backend: null
删除
extraContainers
部分。upstream: backstage: | ... extraContainers: - command: - adt - server image: >- registry.redhat.io/ansible-automation-platform-25/ansible-dev-tools-rhel8:latest imagePullPolicy: IfNotPresent name: ansible-devtools-server ports: - containerPort: 8000 image: pullPolicy: Always pullSecrets: - ... - rhdh-secret-registry ...
- 单击 。
-
编辑自定义 Red Hat Developer Hub 配置映射,如
app-config-rhdh
。 删除
ansible
部分。data: app-config-rhdh.yaml: | ... ansible: analytics: enabled: true devSpaces: baseUrl: '<https://MyOwnDevSpacesUrl/>' creatorService: baseUrl: '127.0.0.1' port: '8000' rhaap: baseUrl: '<https://MyAapSubcriptionUrl>' token: '<TopSecretAAPToken>' checkSSL: true automationHub: baseUrl: '<https://MyOwnPAHUrl/>'
- 重启 Red Hat Developer Hub 部署。
删除
plugin-registry
OpenShift 应用。oc delete all -l app=plugin-registry
第 8 章 在 OpenShift Container Platform 上卸载 Operator 安装
要从安装中删除动态插件,您必须编辑引用 Ansible 的 ConfigMap。
更新 ConfigMap 时,部署会自动重新加载。您不需要手动重新加载部署。
8.1. 从 ConfigMap 中删除 Ansible 插件
流程
-
打开您引用 Ansible 插件的自定义 ConfigMap。在本例中,ConfigMap 名称为
rhaap-dynamic-plugins-config
。 在
plugins:
block 中找到动态插件。-
要禁用插件,请将这三个插件的
disabled
属性更新为true
。 要删除插件,请从
plugins:
块中删除引用插件的行:kind: ConfigMap apiVersion: v1 metadata: name: rhaap-dynamic-plugins-config data: dynamic-plugins.yaml: | ... plugins: # Remove the Ansible plug-ins entries below the ‘plugins’ YAML key - disabled: false package: 'http://plugin-registry:8080/ansible-plugin-backstage-rhaap-x.y.z.tgz' integrity: <SHA512 value> ... - disabled: false package: >- http://plugin-registry:8080/ansible-plugin-backstage-rhaap-backend-x.y.z.tgz integrity: <SHA512 value> ... - disabled: false package: >- http://plugin-registry:8080/ansible-plugin-scaffolder-backend-module-backstage-rhaap-x.y.z.tgz integrity: <SHA512 value> ...
-
要禁用插件,请将这三个插件的
- 点击 。
8.2. 从自定义 Red Hat Developer Hub ConfigMap 中删除 Ansible Automation Platform 和 Dev Spaces
流程
打开自定义 Red Hat Developer Hub ConfigMap,在其中为模板添加配置并连接到 Ansible Automation Platform 和 Dev Spaces。在本例中,Red Hat Developer Hub ConfigMap 名称是
app-config-rhdh
。kind: ConfigMap apiVersion: v1 metadata: name: rhdh-app-config data: app-config-custom.yaml: | ... catalog: ... locations: # Remove the YAML entry below the 'locations' YAML key - type: url target: https://github.com/ansible/ansible-rhdh-templates/blob/main/all.yaml rules: - allow: [Template] ... # Remove the entire 'ansible' YAML key and all sub-entries ansible: devSpaces: baseUrl: '<https://YOUR_DEV_SPACES_URL>' creatorService: baseUrl: '127.0.0.1' port: '8000' rhaap: baseUrl: '<https://YOUR_AAP_URL>' token: <REDACTED> checkSSL: false
-
删除 location
:
块中的url
,以从 RHDH 实例中删除模板。 -
删除
ansible:
块,以删除 Ansible 特定的配置。 - 点击 。
8.3. 卸载 sidecar 容器
要从 developer-hub pod 中删除 Ansible 开发工具的 sidecar 容器,您必须修改 Red Hat Developer Hub 部署的基本 ConfigMap。
流程
- 在 OpenShift 控制台中,选择 Topology 视图。
- 点 developer-hub 实例上的 More actions alsa,然后选择 Edit backstage 来编辑基本 ConfigMap。
- 选择 YAML 选项卡。
在编辑窗格中,从
spec.deployment.patch.spec.template.spec
块中删除 sidecar 容器的containers
块:... spec: deployment: patch: spec: template: spec: containers: - command: - adt - server image: ghcr.io/ansible/community-ansible-dev-tools:latest imagePullPolicy: always ports: - containerPort:8000 protocol: TCP terminationMessagePolicy: file
- 点击 。
第 9 章 Red Hat Developer Hub 数据遥测捕获
Red Hat Developer Hub (RHDH)使用 backstage-plugin-analytics-provider-segment
插件向红帽发送遥测数据,该插件默认启用。这包括 Ansible 插件的遥测数据。
红帽收集并分析以下数据以改进 Red Hat Developer Hub 体验:
- 页面访问的事件,然后单击链接或按钮。
- 系统相关信息,如区域设置、时区、用户代理,包括浏览器和操作系统详情。
- 页面相关信息,如标题、类别、扩展名称、URL、路径、引用和搜索参数。
- 匿名 IP 地址,记录为 0.0.0.0。
- 匿名用户名哈希,这是唯一标识符,仅用于识别 RHDH 应用的唯一用户数量。
- Ansible 插件反馈表单中提供的反馈和发送。
使用 Red Hat Developer Hub,您可以禁用或自定义遥测数据收集功能。如需更多信息,请参阅 Red Hat Developer Hub 管理指南中的 遥测数据收集 部分。