2.5. 所需的配置


2.5.1. 添加 Ansible 插件配置

  1. 在 OpenShift Developer UI 中,导航到 Helm developer-hub Actions Upgrade Yaml view
  2. 更新 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
  3. package 部分中,将插件文件名中的 x.y.z 替换为 Ansible 插件的正确版本号。
  4. 对于每个 Ansible 插件,使用对应的 .integrity 文件内容更新完整性值。
  5. 单击 Upgrade

    开发人员 hub pod 重启并安装了插件。

验证

要验证插件是否已安装,请打开 install-dynamic-plugin 容器日志,并检查 Red Hat Developer Hub 中是否可以看到 Ansible 插件:

  1. 在 OpenShift Web 控制台中,打开 Red Hat Developer Hub 应用程序的 Developer 视角。
  2. 选择 Topology 视图。
  3. 选择 Red Hat Developer Hub 部署 pod 来打开一个信息窗格。
  4. 选择信息窗格的 Resources 选项卡。
  5. Pods 部分中,点 View logs 打开 Pod 详情页面
  6. Pod 详情页面中,选择 Logs 选项卡。
  7. 从容器下拉列表中,选择 install-dynamic-plugins 来查看容器日志。
  8. install-dynamic-plugin 容器日志中,搜索 Ansible 插件。

    日志中的示例表示其中一个插件成功安装:

    => Successfully installed dynamic plugin http://plugin-registry-1:8080/ansible-plugin-backstage-rhaap-1.1.0.tgz

    下图显示了容器登录 Pod 详情页面。版本号和文件名可能会有所不同。

    install-dynamic-plugin 的容器日志

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 帐户。

流程

  1. 如果需要,创建一个新的 Red Hat Registry Service 帐户
  2. 单击 Account name 列下的令牌名称。
  3. 选择 OpenShift Secret 选项卡,并按照说明将 pull secret 添加到 Red Hat Developer Hub OpenShift 项目中。
  4. 将新 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 配置来添加额外的容器。

流程

  1. 登录 OpenShift UI。
  2. 进入 Helm developer-hub Actions upgrade Yaml view 以打开 Helm Chart。
  3. 更新 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,如果总是要使用最新的镜像。

  4. 单击 Upgrade

验证

要验证容器是否正在运行,请检查容器日志:

查看容器日志

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 并导航到 Select Project (developerHubProj) ConfigMaps {developer-hub}-app-config EditConfigMaps app-config-rhdh

2.5.4. 配置 Ansible Dev Tools 服务器

Ansible 插件需要 creatorService URL 来使用提供的软件模板调配新项目。

流程

  1. 编辑您在 添加自定义 ConfigMap 中创建的自定义 Red Hat Developer Hub 配置映射 app-config-rhdh
  2. 将以下代码添加到 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 插件都可以继续正常工作。

流程

  1. 按照自动化控制器的 添加令牌 部分,使用 自动化控制器中的 "Read"范围创建个人访问令牌(PAT)。
  2. 编辑自定义 Red Hat Developer Hub 配置映射,如 app-config-rhdh
  3. 将您的 Ansible Automation Platform 详情添加到 app-config-rhdh.yaml

    1. 使用自动化控制器 URL 设置 baseURL 密钥。
    2. 使用在第 1 步中创建的生成的令牌值设置 令牌 密钥。
    3. checkSSL 密钥设为 truefalse

      如果 checkSSL 设为 true,Ansible 插件将验证 SSL 证书是否有效。

      data:
        app-config-rhdh.yaml: |
          ...
          ansible:
          ...
            rhaap:
              baseUrl: '<https://MyControllerUrl>'
              token: '<AAP Personal Access Token>'
              checkSSL: true
注意

您需要从外部和未经授权的访问保护 Red Hat Developer Hub 安装。像管理任何其他 secret 一样管理后端身份验证密钥。满足强密码要求,不要将其公开在任何配置文件中,而是仅将其作为环境变量注入配置文件中。

2.5.6. 添加 Ansible 插件软件模板

Red Hat Ansible 为 Red Hat Developer Hub 提供软件模板,以根据 Ansible 最佳实践置备新的 playbook 和集合项目。

流程

  1. 编辑自定义 Red Hat Developer Hub 配置映射,如 app-config-rhdh
  2. 将以下代码添加到 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 授权 指南。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.