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/api1 - 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文件会在安装过程中消耗掉。如果要重复使用此文件,必须现在备份。
您可以通过更改 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...