第 15 章 Azure 的安装配置参数
在 Microsoft Azure 上部署 OpenShift Container Platform 集群前,您可以提供参数来自定义集群以及托管它的平台。在创建 install-config.yaml
文件时,您可以通过命令行为所需参数提供值。然后,您可以修改 install-config.yaml
文件以进一步自定义集群。
15.1. Azure 可用的安装配置参数
下表指定您可以在安装过程中设置所需的、可选和特定于 Azure 的安装配置参数。
安装后,您无法在 install-config.yaml
文件中修改这些参数。
15.1.1. 所需的配置参数
下表描述了所需的安装配置参数:
参数 | 描述 | 值 |
---|---|---|
apiVersion: |
| 字符串 |
baseDomain: |
云供应商的基域。基域用于创建到 OpenShift Container Platform 集群组件的路由。集群的完整 DNS 名称是 |
完全限定域名或子域名,如 |
metadata: |
Kubernetes 资源 | 对象 |
metadata: name: |
集群的名称。集群的 DNS 记录是 |
小写字母、连字符( |
platform: |
对于特定平台的配置取决于执行安装的环境: | 对象 |
pullSecret: | 从 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" } } } |
15.1.2. 网络配置参数
您可以根据现有网络基础架构的要求自定义安装配置。例如,您可以扩展集群网络的 IP 地址块,或者提供不同于默认值的不同 IP 地址块。
仅支持 IPv4 地址。
参数 | 描述 | 值 |
---|---|---|
networking: | 集群网络的配置。 | 对象 注意
您无法在安装后修改 |
networking: networkType: | 要安装的 Red Hat OpenShift Networking 网络插件。 |
|
networking: clusterNetwork: | pod 的 IP 地址块。
默认值为 如果您指定了多个 IP 地址块,块不得重叠。 | 对象数组。例如: networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 |
networking: clusterNetwork: cidr: |
使用 IPv4 网络。 |
无类别域间路由(CIDR)表示法中的 IP 地址块。IPv4 块的前缀长度介于 |
networking: clusterNetwork: hostPrefix: |
分配给每个节点的子网前缀长度。例如,如果 | 子网前缀。
默认值为 |
networking: serviceNetwork: |
服务的 IP 地址块。默认值为 OVN-Kubernetes 网络插件只支持服务网络的一个 IP 地址块。 | CIDR 格式具有 IP 地址块的数组。例如: networking: serviceNetwork: - 172.30.0.0/16 |
networking: machineNetwork: | 机器的 IP 地址块。 如果您指定了多个 IP 地址块,块不得重叠。 | 对象数组。例如: networking: machineNetwork: - cidr: 10.0.0.0/16 |
networking: machineNetwork: cidr: |
使用 | CIDR 表示法中的 IP 网络块。
例如: 注意
将 |
15.1.3. 可选的配置参数
下表描述了可选的安装配置参数:
参数 | 描述 | 值 |
---|---|---|
additionalTrustBundle: | 添加到节点可信证书存储中的 PEM 编码 X.509 证书捆绑包。配置了代理时,也可以使用此信任捆绑包。 | 字符串 |
capabilities: | 控制可选核心组件的安装。您可以通过禁用可选组件来减少 OpenShift Container Platform 集群的空间。如需更多信息,请参阅安装中的"集群功能"页面。 | 字符串数组 |
capabilities: baselineCapabilitySet: |
选择要启用的一组初始可选功能。有效值为 | 字符串 |
capabilities: additionalEnabledCapabilities: |
将可选功能集合扩展到您在 | 字符串数组 |
cpuPartitioningMode: | 启用工作负载分区,它会隔离 OpenShift Container Platform 服务、集群管理工作负载和基础架构 pod,以便在保留的一组 CPU 上运行。工作负载分区只能在安装过程中启用,且在安装后无法禁用。虽然此字段启用工作负载分区,但它不会将工作负载配置为使用特定的 CPU。如需更多信息,请参阅 Scalability and Performance 部分中的 Workload partitioning 页面。 |
|
compute: | 组成计算节点的机器的配置。 |
|
compute: architecture: |
决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为 | 字符串 |
compute: hyperthreading: |
是否在计算机器上启用或禁用并发多 重要 如果您禁用并发多线程,请确保您的容量规划考虑机器性能显著降低的情况。 |
|
compute: name: |
使用 |
|
compute: platform: |
使用 |
|
compute: replicas: | 要置备的计算机器数量,也称为 worker 机器。 |
大于或等于 |
featureSet: | 为功能集启用集群。功能集是 OpenShift Container Platform 功能的集合,默认情况下不启用。有关在安装过程中启用功能集的更多信息,请参阅"使用功能门启用功能"。 |
字符串.要启用的功能集的名称,如 |
controlPlane: | 组成 control plane 的机器的配置。 |
|
controlPlane: architecture: |
决定池中机器的指令集合架构。目前,不支持具有不同架构的集群。所有池都必须指定相同的架构。有效值为 | 字符串 |
controlPlane: hyperthreading: |
是否在 control plane 机器上启用或禁用并发多 重要 如果您禁用并发多线程,请确保您的容量规划考虑机器性能显著降低的情况。 |
|
controlPlane: name: |
使用 |
|
controlPlane: platform: |
使用 |
|
controlPlane: replicas: | 要置备的 control plane 机器数量。 |
部署单节点 OpenShift 时支持的值为 |
credentialsMode: | Cloud Credential Operator(CCO)模式。如果没有指定模式,CCO 会动态尝试决定提供的凭证的功能,在支持多个模式的平台上首选 mint 模式。 注意 不是所有 CCO 模式都支持所有云供应商。有关 CCO 模式的更多信息,请参阅身份验证和授权内容中的"管理云供应商凭证"条目。 |
|
fips: |
启用或禁用 FIPS 模式。默认值为 重要 要为集群启用 FIPS 模式,您必须从配置为以 FIPS 模式操作的 Red Hat Enterprise Linux (RHEL) 计算机运行安装程序。有关在 RHEL 中配置 FIPS 模式的更多信息,请参阅将 RHEL 切换到 FIPS 模式。 当以 FIPS 模式运行 Red Hat Enterprise Linux (RHEL) 或 Red Hat Enterprise Linux CoreOS (RHCOS)时,OpenShift Container Platform 核心组件使用 RHEL 加密库,在 x86_64、ppc64le 和 s390x 架构上提交到 NIST FIPS 140-2/140-3 Validation。 注意 如果使用 Azure File 存储,则无法启用 FIPS 模式。 |
|
imageContentSources: | release-image 内容的源和存储库。 |
对象数组。包括一个 |
imageContentSources: source: |
使用 | 字符串 |
imageContentSources: mirrors: | 指定可能还包含同一镜像的一个或多个仓库。 | 字符串数组 |
publish: | 如何发布或公开集群的面向用户的端点,如 Kubernetes API、OpenShift 路由。 |
|
sshKey: | 用于验证对集群机器的访问的 SSH 密钥。 注意
对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定 |
例如, |
+
将此参数设置为 Manual
可启用在 kube-system
项目中存储管理员级别的 secret 的替代方案,这需要额外的配置步骤。如需更多信息,请参阅"在 kube-system 项目中存储管理员级别的 secret"。
15.1.4. 其他 Azure 配置参数
下表描述了其他 Azure 配置参数。
默认情况下,如果您在 install-config.yaml
文件中指定可用区,安装程序会在一个区(region)内的这些可用区间分发 control plane 机器和计算机器。要确保集群的高可用性,请选择至少含有三个可用区的区域。如果您的区域包含的可用区少于三个,安装程序将在可用区中放置多台 control plane 机器。
参数 | 描述 | 值 |
---|---|---|
compute: platform: azure: encryptionAtHost: | 为计算机器启用主机级别的加密。您可以启用这个加密,以及用户管理的服务器端加密。此功能加密虚拟机主机上的临时、临时、缓存和未管理的磁盘。这不是用户管理的服务器端加密的先决条件。 |
|
compute: platform: azure: osDisk: diskSizeGB: | 虚拟机的 Azure 磁盘大小。 |
以 GB 为单位表示磁盘大小的整数。默认值为 |
compute: platform: azure: osDisk: diskType: | 定义磁盘的类型。 |
|
compute: platform: azure: ultraSSDCapability: | 启用 Azureultra 磁盘用于计算节点上的持久性存储。这需要您的 Azure 区域和区有可用的 ultra 磁盘。 |
|
compute: platform: azure: osDisk: diskEncryptionSet: resourceGroup: | 包含安装先决条件集中磁盘加密的 Azure 资源组名称。此资源组应和安装集群的资源组不同,以避免在集群销毁时删除 Azure 加密密钥。只有在打算使用用户管理的磁盘加密安装集群时才需要这个值。 |
字符串,如 |
compute: platform: azure: osDisk: diskEncryptionSet: name: | 包含安装先决条件中加密密钥的磁盘加密集名称。 |
字符串,如 |
compute: platform: azure: osDisk: diskEncryptionSet: subscriptionId: | 定义磁盘加密集所在的磁盘加密集的 Azure 订阅。此辅助磁盘加密集用于加密计算机器。 |
字符串,格式为 |
compute: platform: azure: osImage: publisher: | 可选。默认情况下,安装程序会下载并安装用于引导计算机器的 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像。您可以使用 Azure Marketplace 中提供的自定义 RHCOS 镜像来覆盖默认行为。安装程序仅将此镜像用于计算机器。 | 字符串.镜像发布者的名称。 |
compute: platform: azure: osImage: offer: |
与自定义 RHCOS 镜像关联的 Azure Marketplace 提供的名称。如果使用 | 字符串.镜像提供的名称。 |
compute: platform: azure: osImage: sku: |
Azure Marketplace 提供的实例。如果使用 | 字符串.镜像提供的 SKU。 |
compute: platform: azure: osImage: version: |
镜像 SKU 的版本号。如果使用 | 字符串.要使用的镜像版本。 |
compute: platform: azure: vmNetworkingType: |
启用加速网络。加速网络可让单个根 I/O 虚拟化 (SR-IOV) 为虚拟机提高其网络性能。如果计算机器的实例类型支持 |
|
compute: platform: azure: type: | 为计算机器定义 Azure 实例类型。 | 字符串 |
compute: platform: azure: zones: | 安装程序在其中创建计算机器的可用区。 | 字符串列表 |
compute: platform: azure: settings: securityType: | 为计算节点启用机密虚拟机或可信启动。默认情况下不启用这个选项。 |
|
compute: platform: azure: settings: confidentialVM: uefiSettings: secureBoot: | 如果使用机密虚拟机,则在计算节点上启用安全引导。 |
|
compute: platform: azure: settings: confidentialVM: uefiSettings: virtualizedTrustedPlatformModule: | 如果使用机密虚拟机,请在计算节点上启用虚拟化受信任的平台模块 (vTPM) 功能。 |
|
compute: platform: azure: settings: trustedLaunch: uefiSettings: secureBoot: | 如果使用可信启动,则在计算节点上启用安全引导。 |
|
compute: platform: azure: settings: trustedLaunch: uefiSettings: virtualizedTrustedPlatformModule: | 如果使用可信启动,则在计算节点上启用 vTPM 功能。 |
|
compute: platform: azure: osDisk: securityProfile: securityEncryptionType: | 为计算节点启用虚拟机客户机状态加密。只有在使用机密虚拟机时,才可以使用此参数。 |
|
controlPlane: platform: azure: settings: securityType: | 为 control plane 节点启用机密虚拟机或可信启动。默认情况下不启用这个选项。 |
|
controlPlane: platform: azure: settings: confidentialVM: uefiSettings: secureBoot: | 如果使用机密虚拟机,请在 control plane 节点上启用安全引导。 |
|
controlPlane: platform: azure: settings: confidentialVM: uefiSettings: virtualizedTrustedPlatformModule: | 如果使用机密虚拟机,请在 control plane 节点上启用 vTPM 功能。 |
|
controlPlane: platform: azure: settings: trustedLaunch: uefiSettings: secureBoot: | 如果使用可信启动,则在 control plane 节点上启用安全引导。 |
|
controlPlane: platform: azure: settings: trustedLaunch: uefiSettings: virtualizedTrustedPlatformModule: | 如果使用可信启动,请在 control plane 节点上启用 vTPM 功能。 |
|
controlPlane: platform: azure: osDisk: securityProfile: securityEncryptionType: | 为 control plane 节点启用虚拟机客户机状态加密。只有在使用机密虚拟机时,才可以使用此参数。 |
|
controlPlane: platform: azure: type: | 为 control plane 机器定义 Azure 实例类型。 | 字符串 |
controlPlane: platform: azure: zones: | 安装程序在其中创建 control plane 机器的可用区。 | 字符串列表 |
platform: azure: defaultMachinePlatform: settings: securityType: | 为所有节点启用机密虚拟机或可信启动。默认情况下不启用这个选项。 |
|
platform: azure: defaultMachinePlatform: settings: confidentialVM: uefiSettings: secureBoot: | 如果使用机密虚拟机,请在所有节点上启用安全引导。 |
|
platform: azure: defaultMachinePlatform: settings: confidentialVM: uefiSettings: virtualizedTrustedPlatformModule: | 如果您使用机密虚拟机,在所有节点上启用虚拟化受信任的平台模块 (vTPM) 功能。 |
|
platform: azure: defaultMachinePlatform: settings: trustedLaunch: uefiSettings: secureBoot: | 如果使用可信启动,则在所有节点上启用安全引导。 |
|
platform: azure: defaultMachinePlatform: settings: trustedLaunch: uefiSettings: virtualizedTrustedPlatformModule: | 如果使用可信启动,则在所有节点上启用 vTPM 功能。 |
|
platform: azure: defaultMachinePlatform: osDisk: securityProfile: securityEncryptionType: | 为所有节点启用虚拟机客户机状态加密。只有在使用机密虚拟机时,才可以使用此参数。 |
|
platform: azure: defaultMachinePlatform: encryptionAtHost: | 为计算机器启用主机级别的加密。您可以启用这个加密,以及用户管理的服务器端加密。此功能加密虚拟机主机上的临时、临时、缓存和未管理的磁盘。这个参数不是用户管理的服务器端加密的先决条件。 |
|
platform: azure: defaultMachinePlatform: osDisk: diskEncryptionSet: name: | 包含安装先决条件中加密密钥的磁盘加密集名称。 |
字符串,如 |
platform: azure: defaultMachinePlatform: osDisk: diskEncryptionSet: resourceGroup: | 包含安装先决条件集中磁盘加密的 Azure 资源组名称。为了避免在集群销毁时删除 Azure 加密密钥,此资源组必须与安装集群的资源组不同。只有在打算使用用户管理的磁盘加密安装集群时才需要这个值。 |
字符串,如 |
platform: azure: defaultMachinePlatform: osDisk: diskEncryptionSet: subscriptionId: | 定义磁盘加密集所在的磁盘加密集的 Azure 订阅。此辅助磁盘加密集用于加密计算机器。 |
字符串,格式为 |
platform: azure: defaultMachinePlatform: osDisk: diskSizeGB: | 虚拟机的 Azure 磁盘大小。 |
以 GB 为单位表示磁盘大小的整数。默认值为 |
platform: azure: defaultMachinePlatform: osDisk: diskType: | 定义磁盘的类型。 |
|
platform: azure: defaultMachinePlatform: osImage: publisher: | 可选。默认情况下,安装程序会下载并安装用于引导 control plane 和计算机器的 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像。您可以使用 Azure Marketplace 中提供的自定义 RHCOS 镜像来覆盖默认行为。安装程序将此镜像用于两种类型的机器。 | 字符串.镜像发布者的名称。 |
platform: azure: defaultMachinePlatform: osImage: offer: |
与自定义 RHCOS 镜像关联的 Azure Marketplace 提供的名称。如果您使用 | 字符串.镜像提供的名称。 |
platform: azure: defaultMachinePlatform: osImage: sku: |
Azure Marketplace 提供的实例。如果您使用 | 字符串.镜像提供的 SKU。 |
platform: azure: defaultMachinePlatform: osImage: version: |
镜像 SKU 的版本号。如果您使用 | 字符串.要使用的镜像版本。 |
platform: azure: defaultMachinePlatform: type: | control plane 和计算机器的 Azure 实例类型。 | Azure 实例类型。 |
platform: azure: defaultMachinePlatform: zones: | 安装程序在其中创建计算和 control plane 机器的可用区。 | 字符串列表。 |
controlPlane: platform: azure: encryptionAtHost: | 为 control plane 机器启用主机级别的加密。您可以启用这个加密,以及用户管理的服务器端加密。此功能加密虚拟机主机上的临时、临时、缓存和未管理的磁盘。这不是用户管理的服务器端加密的先决条件。 |
|
controlPlane: platform: azure: osDisk: diskEncryptionSet: resourceGroup: | 包含安装先决条件集中磁盘加密的 Azure 资源组名称。此资源组应和安装集群的资源组不同,以避免在集群销毁时删除 Azure 加密密钥。只有在打算使用用户管理的磁盘加密安装集群时才需要这个值。 |
字符串,如 |
controlPlane: platform: azure: osDisk: diskEncryptionSet: name: | 包含安装先决条件中加密密钥的磁盘加密集名称。 |
字符串,如 |
controlPlane: platform: azure: osDisk: diskEncryptionSet: subscriptionId: | 定义磁盘加密集所在的磁盘加密集的 Azure 订阅。这个辅助磁盘加密集用于加密 control plane 机器。 |
字符串,格式为 |
controlPlane: platform: azure: osDisk: diskSizeGB: | 虚拟机的 Azure 磁盘大小。 |
以 GB 为单位表示磁盘大小的整数。默认值为 |
controlPlane: platform: azure: osDisk: diskType: | 定义磁盘的类型。 |
|
controlPlane: platform: azure: osImage: publisher: | 可选。默认情况下,安装程序会下载并安装用于引导 control plane 机器的 Red Hat Enterprise Linux CoreOS (RHCOS)镜像。您可以使用 Azure Marketplace 中提供的自定义 RHCOS 镜像来覆盖默认行为。安装程序仅将此镜像用于 control plane 机器。 | 字符串.镜像发布者的名称。 |
controlPlane: platform: azure: osImage: offer: |
与自定义 RHCOS 镜像关联的 Azure Marketplace 提供的名称。如果使用 | 字符串.镜像提供的名称。 |
controlPlane: platform: azure: osImage: sku: |
Azure Marketplace 提供的实例。如果使用 | 字符串.镜像提供的 SKU。 |
controlPlane: platform: azure: osImage: version: |
镜像 SKU 的版本号。如果使用 | 字符串.要使用的镜像版本。 |
controlPlane: platform: azure: ultraSSDCapability: | 为 control plane 机器上的持久性存储启用 Azureultra 磁盘使用。这需要您的 Azure 区域和区有可用的 ultra 磁盘。 |
|
controlPlane: platform: azure: vmNetworkingType: |
启用加速网络。加速网络可让单个根 I/O 虚拟化 (SR-IOV) 为虚拟机提高其网络性能。如果 control plane 机器的实例类型支持 |
|
platform: azure: baseDomainResourceGroupName: | 包含基域的 DNS 区的资源组的名称。 |
字符串,如 |
platform: azure: resourceGroupName: | 集群要安装到的已有资源组的名称。此资源组必须为空,并且仅用于此特定群集;群集组件假定资源组中所有资源的所有权。如果您将安装程序的服务主体范围限制到这个资源组,您必须确保您的环境中安装程序使用的所有其他资源都有必要的权限,如公共 DNS 区和虚拟网络。使用安装程序销毁集群会删除此资源组。 |
字符串,如 |
platform: azure: outboundType: |
用于将集群连接到互联网的出站路由策略。如果您使用用户定义的路由,则必须在安装集群前配置出站路由。安装程序不负责配置用户定义的路由。如果您指定了 重要
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。 |
|
platform: azure: region: | 托管集群的 Azure 区域的名称。 |
任何有效的区域名称,如 |
platform: azure: zone: | 要放入机器的可用区列表。如需高可用性,请至少指定两个区域。 |
区域列表,如 |
platform: azure: customerManagedKey: keyVault: name: | 指定包含用于加密 Azure 存储的加密密钥的密钥 vault 名称。 | 字符串. |
platform: azure: customerManagedKey: keyVault: keyName: | 指定用于加密 Azure 存储的用户管理的加密密钥名称。 | 字符串. |
platform: azure: customerManagedKey: keyVault: resourceGroup: | 指定包含密钥 vault 和受管身份的资源组的名称。 | 字符串. |
platform: azure: customerManagedKey: keyVault: subscriptionId: | 指定与密钥 vault 关联的订阅 ID。 |
字符串,格式为 |
platform: azure: customerManagedKey: userAssignedIdentityKey: | 指定位于带有密钥 vault 资源组中的用户分配的受管身份的名称,并可访问用户管理的密钥。 | 字符串. |
platform: azure: defaultMachinePlatform: ultraSSDCapability: | 为 control plane 和计算机器上的持久性存储启用 Azureultra 磁盘使用。这需要您的 Azure 区域和区有可用的 ultra 磁盘。 |
|
platform: azure: networkResourceGroupName: |
包含您要将集群部署到的现有 VNet 的资源组的名称。这个名称不能与 platform. | 字符串. |
platform: azure: virtualNetwork: | 要将集群部署到的现有 VNet 的名称。 | 字符串. |
platform: azure: controlPlaneSubnet: | 要将 control plane 机器部署到的 VNet 中现有子网的名称。 |
有效的 CIDR,如 |
platform: azure: computeSubnet: | 要将计算机器部署到的 VNet 中现有子网的名称。 |
有效的 CIDR,如 |
platform: azure: cloudName: |
用于使用适当的 Azure API 端点配置 Azure SDK 的 Azure 云环境名称。如果为空,则使用默认值 |
任何有效的云环境,如 |
platform: azure: defaultMachinePlatform: vmNetworkingType: | 启用加速网络。加速网络可让单个根 I/O 虚拟化 (SR-IOV) 为虚拟机提高其网络性能。 |
|
operatorPublishingStrategy: apiserver: |
决定服务 API 的负载均衡器是公共还是私有的。将此参数设置为 |
|
operatorPublishingStrategy: ingress: |
决定集群为入口流量创建的 DNS 资源是否公开可见。将此参数设置为 |
|
您无法自定义 Azure 可用区,也不能使用 标签来整理 Azure 集群的 Azure 资源。