第 7 章 在 Red Hat OpenShift Container Platform Web 控制台中配置自动化中心
您可以使用以下说明在 Red Hat OpenShift Container Platform 上配置自动化中心 Operator,指定自定义资源,并使用外部数据库部署 Ansible Automation Platform。
自动化中心配置可以通过自动化中心 pulp_settings 或部署后直接在用户界面中进行。但请注意,在 pulp_settings 中进行的配置优先于用户界面中进行的设置。Hub 自定义资源规格应始终将 hub 设置设置为小写。
当删除自动化 hub 实例时,PVC 不会被自动删除。如果新部署的名称与前一名称相同,这可能会导致迁移期间出现问题。因此,建议您在在同一命名空间中部署新自动化 hub 实例前手动删除旧的 PVC。如需更多信息,请参阅查找和删除 PVC。
7.1. 先决条件
- 您已在 Operator Hub 中安装了 Ansible Automation Platform Operator。
7.1.1. 在 Red Hat OpenShift Container Platform 上安装 Ansible Automation Platform Operator 的存储选项
自动化 hub 需要基于 ReadWriteMany
文件、Azure Blob 存储或 Amazon S3 兼容存储才能进行操作,以便多个 pod 可以访问共享内容,如集合。
在 AutomationHub
CR 上配置对象存储的过程与 Amazon S3 和 Azure Blob Storage 类似。
如果您使用基于文件的存储,且安装场景包含自动化中心,请确保 Ansible Automation Platform Operator 的 storage 选项被设置为 ReadWriteMany
。ReadWriteMany
是默认的存储选项。
另外,OpenShift Data Foundation 提供了一个 ReadWriteMany
或 S3 兼容实现。另外,您可以设置 NFS 存储配置来支持 ReadWriteMany
。但是,这会将 NFS 服务器作为潜在的单点故障引入。
其他资源
- OpenShift Container Platform Storage 指南中的使用 NFS 的持久性存储
- IBM 如何在 OpenShift 环境中为 NFS 动态存储部署创建存储类?
7.1.1.1. 使用 ReadWriteMany
访问模式置备 OCP 存储
要确保成功安装 Ansible Automation Platform Operator,您必须为自动化 hub 置备存储类型,最初为 ReadWriteMany
访问模式。
流程
-
进入
。 - 点 。
在第一步中,将
accessModes
从默认的ReadWriteOnce
更新为ReadWriteMany
。- 如需了解详细的概述,请参阅 Provisioning 以更新访问模式。
- 完成本节中的额外步骤,以创建持久性卷声明 (PVC)。
7.1.1.2. 在 Amazon S3 中配置对象存储
红帽支持用于自动化中心的 Amazon Simple Storage Service (S3)。您可以在部署 AutomationHub
自定义资源 (CR) 时配置它,也可以为现有实例配置它。
先决条件
- 创建 Amazon S3 存储桶以存储对象。
- 请注意 S3 存储桶的名称。
流程
创建包含 AWS 凭证和连接详情的 Kubernetes secret,以及 Amazon S3 存储桶的名称。以下示例创建一个名为
test-s3
的 secret:$ oc -n $HUB_NAMESPACE apply -f- <<EOF apiVersion: v1 kind: Secret metadata: name: 'test-s3' stringData: s3-access-key-id: $S3_ACCESS_KEY_ID s3-secret-access-key: $S3_SECRET_ACCESS_KEY s3-bucket-name: $S3_BUCKET_NAME s3-region: $S3_REGION EOF
将 secret 添加到自动化中心自定义资源 (CR)
spec
中:spec: object_storage_s3_secret: test-s3
-
如果要将此 secret 应用到现有实例,请重启 API pod 以使更改生效。
<hub-name>
是 hub 实例的名称。
$ oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-api
7.1.1.3. 在 Azure Blob 中配置对象存储
红帽支持用于自动化中心的 Azure Blob Storage。您可以在部署 AutomationHub
自定义资源 (CR) 时配置它,也可以为现有实例配置它。
先决条件
- 创建 Azure Storage blob 容器来存储对象。
- 请注意 blob 容器的名称。
流程
创建一个包含 Azure 帐户凭证和连接详情的 Kubernetes secret,以及 Azure Storage blob 容器的名称。以下示例创建一个名为
test-azure
的 secret:$ oc -n $HUB_NAMESPACE apply -f- <<EOF apiVersion: v1 kind: Secret metadata: name: 'test-azure' stringData: azure-account-name: $AZURE_ACCOUNT_NAME azure-account-key: $AZURE_ACCOUNT_KEY azure-container: $AZURE_CONTAINER azure-container-path: $AZURE_CONTAINER_PATH azure-connection-string: $AZURE_CONNECTION_STRING EOF
将 secret 添加到自动化中心自定义资源 (CR)
spec
中:spec: object_storage_azure_secret: test-azure
-
如果要将此 secret 应用到现有实例,请重启 API pod 以使更改生效。
<hub-name>
是 hub 实例的名称。
$ oc -n $HUB_NAMESPACE delete pod -l app.kubernetes.io/name=<hub-name>-api
7.1.2. 配置自动化 hub Operator 路由选项
Red Hat Ansible Automation Platform Operator 安装表单允许您在 高级配置下进一步配置 Automation hub operator 路由选项。
流程
- 登录到 Red Hat OpenShift Container Platform。
-
进入到
。 - 选择 Ansible Automation Platform Operator 部署。
- 选择 Automation Hub 选项卡。
对于新实例,点
。- 对于现有实例,您可以通过点 WWN 图标,然后编辑 YAML 视图。
- 点 。
- 在 Ingress type 下,点下拉菜单并选择 Route。
- 在 Route DNS host 下,输入路由要回答的通用主机名。
- 在 Route TLS termination mechanism 下,点下拉菜单并选择 Edge 或 Passthrough。
- 在 Route TLS credential secret 下,点下拉菜单并从列表中选择一个 secret。
7.1.3. 为自动化 hub Operator 配置 ingress 类型
Ansible Automation Platform Operator 安装表单允许您在 高级配置下进一步配置 Automation hub operator ingress。
流程
- 登录到 Red Hat OpenShift Container Platform。
-
进入到
。 - 选择 Ansible Automation Platform Operator 部署。
- 选择 Automation Hub 选项卡。
对于新实例,点
。- 对于现有实例,您可以通过点 WWN 图标,然后编辑 YAML 视图。
- 点 。
- 在 Ingress type 下,点下拉菜单并选择 Ingress。
- 在 Ingress annotations 下,输入要添加到 ingress 的任何注解。
- 在 Ingress TLS secret 下,点下拉菜单并从列表中选择一个 secret。
配置 Automation hub Operator 后,点表单视图底部的
。Red Hat OpenShift Container Platform 创建 pod。这可能需要几分钟时间。
您可以通过进入到
验证
验证来自自动化中心的 Ansible Automation Platform Operator 安装提供的以下 Operator pod 是否正在运行:
Operator Manager 控制器 | 自动化控制器 | Automation hub |
---|---|---|
每 3 个 operator 的 operator 管理器控制器,包括:
| 部署自动化控制器后,您将看到添加的 pod:
| 部署自动化中心后,您将看到添加的 pod:
|
缺少 pod 可以代表需要 pull secret。受保护的或私有镜像 registry 需要 pull secret。如需更多信息,请参阅使用镜像 pull secret。您可以通过运行 oc describe pod <pod-name> 来查看
该 pod 上是否有 ImagePullBackOff 错误来进一步诊断此问题。