13.2.9. 创建安装配置文件
您可以自定义在 Red Hat Virtualization (RHV) 上安装的 OpenShift Container Platform 集群。
先决条件
- 获取 OpenShift Container Platform 安装程序以及集群的 pull secret。
- 在订阅级别获取服务主体权限。
流程
创建
install-config.yaml
文件。更改到包含安装程序的目录,再运行以下命令:
$ ./openshift-install create install-config --dir <installation_directory> 1
- 1
- 对于
<installation_directory>
,请指定用于保存安装程序所创建的文件的目录名称。
重要指定一个空目录。一些安装信息,如 bootstrap X.509 证书,有较短的过期间隔,因此不要重复使用安装目录。如果要重复使用另一个集群安装中的个别文件,可以将其复制到您的目录中。但是,一些安装数据的文件名可能会在发行版本之间有所改变。从 OpenShift Container Platform 老版本中复制安装文件时要格外小心。
根据安装程序提示输入相关的值。
对于
SSH 公钥
,请选择免密码公钥,如~/.ssh/id_rsa.pub
。这个密钥被用来验证与新的 OpenShift Container Platform 集群的连接。注意如果您要在生产环境中执行安装调试或灾难恢复,请指定
ssh-agent
进程需要使用的 SSH 密钥。-
对于
Platform
,选择ovirt
。 对于
Enter oVirt’s API endpoint URL
,使用以下格式输入 RHV API 的 URL:https://<engine-fqdn>/ovirt-engine/api 1
- 1
- 对于
<engine-fqdn>
,请指定 RHV 环境的完全限定域名。
例如:
$ curl -k -u ocpadmin@internal:pw123 \ https://rhv-env.virtlab.example.com/ovirt-engine/api
-
对于
Is the oVirt CA local?
,请输入Yes
,因为您已经设置了 CA 证书。否则,请输入No
。 -
对于
oVirt 的 CA bundle
,如果您为前一个问题输入的是Yes
,请从/etc/pki/ca-trust/source/anchors/ca.pem
中复制证书内容并粘贴到这里。然后按两次Enter
键。如果您就前一个问题输入No
,则不会出现这个问题。 对于
oVirt engine username
,请使用以下格式输入 RHV 管理员的用户名和配置文件:<username>@<profile> 1
- 1
- 对于
<username>
,请指定 RHV 管理员的用户名。对于<profile>
,请指定登录配置集,您可以登陆到 RHV 管理门户查看 Profile 下拉列表。用户名和配置集应与以下示例相似:
ocpadmin@internal
-
对于
oVirt engine password
,请输入 RHV admin 密码。 -
对于
oVirt cluster
,请选择用于安装 OpenShift Container Platform 的集群。 -
对于
oVirt storage domain
,请选择安装 OpenShift Container Platform 的存储域。 -
对于
oVirt network
,请选择可访问 RHV Manager REST API 的虚拟网络。 -
对于
Internal API Virtual IP
,请为集群的 REST API 输入您设置的静态 IP 地址。 -
对于
Ingress virtual IP
,请为通配符应用程序域输入您保留的静态 IP 地址。 -
对于
Base Domain
,请输入 OpenShift Container Platform 集群的基域。如果这个群集暴露于外部世界,这必须是 DNS 基础结构可识别的有效域。例如: 输入virtlab.example.com
-
对于
Cluster Name
,请输入集群名称。例如:my-cluster
。使用您为 OpenShift Container Platform REST API 创建的外部注册/可解析 DNS 条目的集群名称,以及应用域名。安装程序也将此名称提供给 RHV 环境中的集群。 -
对于
Pull Secret
,请从之前下载并粘贴的pull-secret.txt
文件中复制 pull secret。您还可以从 Red Hat OpenShift Cluster Manager 获取同一 pull secret 的副本。
修改
install-config.yaml
文件。您可以在"安装配置参数"部分找到有关可用参数的更多信息。注意如果您在 Manager 上有任何中间 CA 证书,请验证证书是否出现在
ovirt-config.yaml
文件中以及install-config.yaml
文件中。如果没有存在,请按如下所示添加:在
~/.ovirt/ovirt-config.yaml
文件中:[ovirt_ca_bundle]: | -----BEGIN CERTIFICATE----- <MY_TRUSTED_CA> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <INTERMEDIATE_CA> -----END CERTIFICATE-----
在
install-config.yaml
文件中:[additionalTrustBundle]: | -----BEGIN CERTIFICATE----- <MY_TRUSTED_CA> -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- <INTERMEDIATE_CA> -----END CERTIFICATE-----
备份
install-config.yaml
文件,以便用于安装多个集群。重要install-config.yaml
文件会在安装过程中消耗掉。如果要重复使用此文件,必须现在备份。
13.2.9.1. Red Hat Virtualization(RHV)的 install-config.yaml
文件示例
您可以通过更改 install-config.yaml
文件中的参数和参数值来自定义安装程序创建的 OpenShift Container Platform 集群。
以下示例专用于在 RHV 上安装 OpenShift Container Platform。
该文件位于您运行以下命令时指定的 <installation_directory>
中。
$ ./openshift-install create install-config --dir <installation_directory>
-
这些示例文件仅供参考。您必须使用安装程序来获取
install-config.yaml
文件。 -
更改
install-config.yaml
文件可以增加集群所需的资源。验证您的 RHV 环境是否具有这些其他资源。否则,安装或集群将失败。
示例:这是默认的 install-config.yaml
文件
apiVersion: v1 baseDomain: example.com compute: - architecture: amd64 hyperthreading: Enabled name: worker platform: {} replicas: 3 controlPlane: architecture: amd64 hyperthreading: Enabled name: master platform: {} replicas: 3 metadata: creationTimestamp: null name: my-cluster networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 machineNetwork: - cidr: 10.0.0.0/16 networkType: OpenShiftSDN serviceNetwork: - 172.30.0.0/16 platform: ovirt: api_vip: 10.46.8.230 ingress_vip: 192.168.1.5 ovirt_cluster_id: 68833f9f-e89c-4891-b768-e2ba0815b76b ovirt_storage_domain_id: ed7b0f4e-0e96-492a-8fff-279213ee1468 ovirt_network_name: ovirtmgmt vnicProfileID: 3fa86930-0be5-4052-b667-b79f0a729692 publish: External pullSecret: '{"auths": ...}' sshKey: ssh-ed12345 AAAA...
示例:最小 install-config.yaml
文件
apiVersion: v1 baseDomain: example.com metadata: name: test-cluster platform: ovirt: api_vip: 10.46.8.230 ingress_vip: 10.46.8.232 ovirt_cluster_id: 68833f9f-e89c-4891-b768-e2ba0815b76b ovirt_storage_domain_id: ed7b0f4e-0e96-492a-8fff-279213ee1468 ovirt_network_name: ovirtmgmt vnicProfileID: 3fa86930-0be5-4052-b667-b79f0a729692 pullSecret: '{"auths": ...}' sshKey: ssh-ed12345 AAAA...
示例: install-config.yaml
文件中的自定义机器池
apiVersion: v1 baseDomain: example.com controlPlane: name: master platform: ovirt: cpu: cores: 4 sockets: 2 memoryMB: 65536 osDisk: sizeGB: 100 vmType: server replicas: 3 compute: - name: worker platform: ovirt: cpu: cores: 4 sockets: 4 memoryMB: 65536 osDisk: sizeGB: 200 vmType: server replicas: 5 metadata: name: test-cluster platform: ovirt: api_vip: 10.46.8.230 ingress_vip: 10.46.8.232 ovirt_cluster_id: 68833f9f-e89c-4891-b768-e2ba0815b76b ovirt_storage_domain_id: ed7b0f4e-0e96-492a-8fff-279213ee1468 ovirt_network_name: ovirtmgmt vnicProfileID: 3fa86930-0be5-4052-b667-b79f0a729692 pullSecret: '{"auths": ...}' sshKey: ssh-ed25519 AAAA...