4.2. 安装自动化 hub Operator
使用这个流程安装自动化中心 Operator。
流程
-
进入到
。 - 找到 Automation hub 条目,然后点 。
- 点 。
- 输入新控制器的名称。
- 可选:添加所需的任何标签。
- 点 。
在 PostgreSQL 容器存储要求 下拉菜单中选择 请求 :
- 在 storage 字段中输入 "100Gi"。
在 PostgreSQL 容器资源要求 下拉菜单中选择 请求 :
- 在 cpu 字段中输入 "200"。
- 在 memory 字段中输入 "512Mi"。
4.2.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 动态存储部署创建存储类?
4.2.1.1. 使用 ReadWriteMany
访问模式置备 OCP 存储
要确保成功安装 Ansible Automation Platform Operator,您必须为自动化 hub 置备存储类型,最初为 ReadWriteMany
访问模式。
流程
- 单击 Provisioning 以更新访问模式。
-
在第一步中,将
accessModes
从默认的ReadWriteOnce
更新为ReadWriteMany
。 - 完成本节中的额外步骤,以创建持久性卷声明 (PVC)。
4.2.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
4.2.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
4.2.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。
4.2.3. 为自动化中心 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 错误来进一步诊断此问题。