3.8.8. 手动创建安装配置文件
在 Microsoft Azure 上安装 OpenShift Container Platform 时,您必须手动生成安装配置文件。
先决条件
- 获取 OpenShift Container Platform 安装程序和集群的访问令牌。
流程
创建用来存储您所需的安装资产的安装目录:
$ mkdir <installation_directory>
重要您必须创建目录。一些安装信息,如 bootstrap X.509 证书,有较短的过期间隔,因此不要重复使用安装目录。如果要重复使用另一个集群安装中的个别文件,可以将其复制到您的目录中。但是,一些安装数据的文件名可能会在发行版本之间有所改变。从 OpenShift Container Platform 老版本中复制安装文件时要格外小心。
自定义以下
install-config.yaml
文件模板,并将它保存到<installation_directory>
中。注意此配置文件必须命名为
install-config.yaml
。备份
install-config.yaml
文件,以便用于安装多个集群。重要install-config.yaml
文件会在安装过程的下一步骤中消耗掉。现在必须备份它。
3.8.8.1. 安装配置参数
在部署 OpenShift Container Platform 集群前,您可以提供参数值,以描述托管集群的云平台的帐户并选择性地自定义集群平台。在创建 install-config.yaml
安装配置文件时,您可以通过命令行来提供所需的参数的值。如果要自定义集群,可以修改 install-config.yaml
文件来提供关于平台的更多信息。
安装之后,您无法修改 install-config.yaml
文件中的这些参数。
openshift-install
命令不验证参数的字段名称。如果指定了不正确的名称,则不会创建相关的文件或对象,且不会报告错误。确保所有指定的参数的字段名称都正确。
3.8.8.1.1. 所需的配置参数
下表描述了所需的安装配置参数:
参数 | 描述 | 值 |
---|---|---|
|
| 字符串 |
|
云供应商的基域。此基础域用于创建到 OpenShift Container Platform 集群组件的路由。集群的完整 DNS 名称是 |
完全限定域名或子域名,如 |
|
Kubernetes 资源 | 对象 |
|
集群的名称。集群的 DNS 记录是 |
小写字母,连字符(- |
|
执行安装的具体平台配置: | 对象 |
| 从 Red Hat OpenShift Cluster Manager 获取 pull secret,验证从 Quay.io 等服务中下载 OpenShift Container Platform 组件的容器镜像。 |
{ "auths":{ "cloud.openshift.com":{ "auth":"b3Blb=", "email":"you@example.com" }, "quay.io":{ "auth":"b3Blb=", "email":"you@example.com" } } } |
3.8.8.1.2. 网络配置参数
您可以根据现有网络基础架构的要求自定义安装配置。例如,您可以扩展集群网络的 IP 地址块,或者提供不同于默认值的不同 IP 地址块。
只支持 IPv4 地址。
参数 | 描述 | 值 |
---|---|---|
| 集群网络的配置。 | 对象 注意
您不能在安装后修改 |
| 要安装的集群网络供应商 Container Network Interface(CNI)插件。 |
|
| pod 的 IP 地址块。
默认值为 如果您指定多个 IP 地址块,则块不得互相重叠。 | 一个对象数组。例如: networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 |
|
使用 一个 IPv4 网络。 |
使用 CIDR 形式的 IP 地址块。IPv4 块的前缀长度介于 |
|
分配给每个单独节点的子网前缀长度。例如,如果 | 子网前缀。
默认值为 |
|
服务的 IP 地址块。默认值为 OpenShift SDN 和 OVN-Kubernetes 网络供应商只支持服务网络的一个 IP 地址块。 | CIDR 格式具有 IP 地址块的数组。例如: networking: serviceNetwork: - 172.30.0.0/16 |
| 机器的 IP 地址块。 如果您指定多个 IP 地址块,则块不得互相重叠。 | 一个对象数组。例如: networking: machineNetwork: - cidr: 10.0.0.0/16 |
|
使用 | CIDR 表示法中的 IP 网络块。
例如: 注意
将 |
3.8.8.1.3. 可选配置参数
下表描述了可选安装配置参数:
参数 | 描述 | 值 |
---|---|---|
| 添加到节点可信证书存储中的 PEM 编码 X.509 证书捆绑包。配置了代理时,也可以使用这个信任捆绑包。 | 字符串 |
| 组成计算节点的机器的配置。 | machine-pool 对象的数组。详情请查看以下"Machine-pool"表。 |
|
决定池中机器的指令集合架构。目前不支持异构集群,因此所有池都必须指定相同的架构。有效值为 | 字符串 |
|
是否在计算机器上启用或禁用并发多线程或 重要 如果禁用并发多线程,请确保在容量规划时考虑到机器性能可能会显著降低的问题。 |
|
|
使用 |
|
|
使用 |
|
| 要置备的计算机器数量,也称为 worker 机器。 |
大于或等于 |
| 组成 control plane 的机器的配置。 |
|
|
决定池中机器的指令集合架构。目前不支持异构集群,因此所有池都必须指定相同的架构。有效值为 | 字符串 |
|
是否在 control plane 机器上启用或禁用并发多线程或 重要 如果禁用并发多线程,请确保在容量规划时考虑到机器性能可能会显著降低的问题。 |
|
|
使用 |
|
|
使用 |
|
| 要置备的 control plane 机器数量。 |
唯一支持的值是 |
| Cloud Credential Operator(CCO)模式。如果没有指定任何模式,CCO 会动态地尝试决定提供的凭证的功能,在支持多个模式的平台上使用 mint 模式。 注意 不是所有 CCO 模式都支持所有云供应商。如需有关 CCO 模式的更多信息,请参阅Red Hat Operator 参考指南内容中的 Cloud Credential Operator 条目。 |
|
|
启用或禁用 FIPS 模式。默认为 重要
只有在 注意 如果使用 Azure File 存储,则无法启用 FIPS 模式。 |
|
| release-image 内容的源和仓库。 |
对象数组。包括一个 |
|
使用 | 字符串 |
| 指定可能还包含同一镜像的一个或多个仓库。 | 字符串数组 |
| 如何发布或公开集群的面向用户的端点,如 Kubernetes API、OpenShift 路由。 |
|
| 用于验证集群机器访问的 SSH 密钥或密钥。 注意
对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定 | 一个或多个密钥。例如: sshKey: <key1> <key2> <key3> |
3.8.8.1.4. 其他 Azure 配置参数
下表描述了其他 Azure 配置参数:
参数 | 描述 | 值 |
---|---|---|
| 虚拟机的 Azure 磁盘大小。 |
以 GB 为单位表示磁盘大小的整数。默认值为 |
| 定义磁盘的类型。 |
|
| 虚拟机的 Azure 磁盘大小。 |
以 GB 为单位表示磁盘大小的整数。默认值为 |
| 定义磁盘的类型。 |
|
| 包含基域的 DNS 区的资源组的名称。 |
字符串,如 |
| 用于将集群连接到互联网的出站路由策略。如果使用用户定义的路由,则必须在安装集群前配置出站路由。安装程序不负责配置用户定义的路由。 |
|
| 托管集群的 Azure 区域名称。 |
任何有效的区域名称,如 |
| 可在其中放入机器的可用区的列表。如需高可用性,请至少指定两个区域。 |
区域列表,如 |
|
包含要将集群部署到的现有 VNet 的资源组名称。这个名称不能和 | 字符串。 |
| 要将集群部署到的现有 VNet 的名称。 | 字符串。 |
| 要将 control plane 机器部署到的 VNet 中现有子网的名称。 |
有效的 CIDR,如 |
| 您要将计算机器部署到的 VNet 中现有子网的名称。 |
有效的 CIDR,如 |
|
用于使用适当 Azure API 端点配置 Azure SDK 的 Azure 云环境名称。如果为空,则使用默认值 |
任何有效的云环境,如 |
您无法自定义 Azure 可用区,也不能使用标签来整理用于 Azure 集群的 Azure 资源。