4.22. 自定义服务目录选项
服务目录在安装过程中默认启用。启用服务代理允许您在目录中注册服务代理。启用服务目录后,OpenShift Ansible 代理和模板服务代理也会被安装。如需更多信息,请参阅配置 OpenShift Ansible Broker 和配置 Template Service Broker。如果您禁用服务目录,则不会安装 OpenShift Ansible 代理和模板服务代理。
要禁用服务目录的自动部署,请在清单文件中设置以下集群变量:
openshift_enable_service_catalog=false
如果使用自己的 registry,您必须添加:
-
openshift_service_catalog_image_prefix
:拉取服务目录镜像时,强制使用特定的前缀(如registry
)。您必须提供镜像名称前的完整 registry 名称。 -
openshift_service_catalog_image_version
:拉取服务目录镜像时,强制使用特定镜像版本。
例如:
openshift_service_catalog_image="docker-registry.default.example.com/openshift/ose-service-catalog:${version}" openshift_service_catalog_image_prefix="docker-registry-default.example.com/openshift/ose-" openshift_service_catalog_image_version="v3.9.30"
4.22.1. 配置 OpenShift Ansible Broker
OpenShift Ansible 代理(OAB)在安装过程中默认启用。
如果您不想安装 OAB,请在清单文件中将 ansible_service_broker_install
参数值设置为 false
:
ansible_service_broker_install=false
变量 | 用途 |
---|---|
| 指定服务目录组件镜像的前缀。 |
4.22.1.1. 为 OpenShift Ansible Broker 配置持久性存储
OAB 部署其自身的 etcd 实例与 OpenShift Container Platform 集群的其他集群使用的 etcd 实例不同。OAB 的 etcd 实例需要使用持久性卷(PV)的独立存储才能正常工作。如果没有 PV 可用,etcd 将等待到 PV 满足为止。OAB 应用程序将进入 CrashLoop
状态,直到 etcd 实例可用。
为了进行部署,一些 Ansible playbook 捆绑包(APB)还需要一个 PV。例如,每个数据库 APB 都有两个计划:Development 计划使用临时存储且不需要 PV,而 Production 计划会使用持久性存储,且需要一个 PV。
APB | PV 需要吗? |
---|---|
postgresql-apb | 需要,但只适用于 Production 计划 |
mysql-apb | 需要,但只适用于 Production 计划 |
mariadb-apb | 需要,但只适用于 Production 计划 |
mediawiki-apb | 是 |
为 OAB 配置持久性存储:
以下示例显示使用 NFS 主机来提供所需的 PV,但可使用其他持久性存储供应商。
在清单文件中,在
[OSEv3: Child]
部分添加nfs
来启用[nfs]
组:[OSEv3:children] masters nodes nfs
添加
[nfs]
组部分并为系统添加将会是 NFS 主机的主机名:[nfs] master1.example.com
在
[OSEv3:vars]
部分添加以下内容:# nfs_directory must conform to DNS-1123 subdomain must consist of lower case # alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character openshift_hosted_etcd_storage_kind=nfs openshift_hosted_etcd_storage_nfs_options="*(rw,root_squash,sync,no_wdelay)" openshift_hosted_etcd_storage_nfs_directory=/opt/osev3-etcd 1 openshift_hosted_etcd_storage_volume_name=etcd-vol2 2 openshift_hosted_etcd_storage_access_modes=["ReadWriteOnce"] openshift_hosted_etcd_storage_volume_size=1G openshift_hosted_etcd_storage_labels={'storage': 'etcd'}
这些设置会创建一个持久性卷,在集群安装过程中附加到 OAB 的 etcd 实例。
4.22.1.2. 为本地 APB 开发配置 OpenShift Ansible Broker
要将 APB 开发与 OpenShift Container Registry 和 OAB 结合,必须定义 OAB 可访问的镜像白名单。如果没有定义白名单,代理将忽略 APB,用户将不会看到可用的 APB。
默认情况下,白名单为空,用户在没有配置代理的情况下无法将 APB 镜像添加到代理中。将所有以 -apb
结尾的镜像列入白名单:
在清单文件中,将以下内容添加到
[OSEv3:vars]
部分:ansible_service_broker_local_registry_whitelist=['.*-apb$']