7.12. 手动创建安装配置文件
安装集群要求您手动创建安装配置文件。
先决条件
- 在本地机器上有一个 SSH 公钥用于安装程序。您可以使用密钥在集群节点上进行 SSH 身份验证,以进行调试和灾难恢复。
- 已获取 OpenShift Container Platform 安装程序和集群的 pull secret。
流程
创建一个安装目录来存储所需的安装资产:
mkdir <installation_directory>
$ mkdir <installation_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要您必须创建一个目录。有些安装资产,如 bootstrap X.509 证书的过期间隔较短,因此不得重复使用安装目录。如果要重复使用另一个集群安装中的单个文件,您可以将它们复制到您的目录中。但是,安装资产的文件名可能会在发行版本间有所变化。从以前的 OpenShift Container Platform 版本中复制安装文件时请小心。
对提供的
install-config.yaml
文件模板示例进行自定义,并将文件保存到<installation_directory>
中。注意此配置文件必须命名为
install-config.yaml
。备份
install-config.yaml
文件,以便使用它来安装多个集群。重要现在备份
install-config.yaml
文件,因为安装过程会在下一步中消耗该文件。
7.12.1. VMware vSphere 的 install-config.yaml 文件示例 复制链接链接已复制到粘贴板!
您可以自定义 install-config.yaml
文件,以指定有关 OpenShift Container Platform 集群平台的更多详情,或修改所需参数的值。
- 1
- 集群的基域。所有 DNS 记录都必须是这个基域的子域,并包含集群名称。
- 2 4
controlPlane
部分是一个单个映射,但 compute 部分是一系列映射。为了满足不同数据结构的要求,compute
部分的第一行必须以连字符(-
)开头,controlPlane
部分的第一行不能以它开头。虽然这两个部分目前都定义了单一机器池,但未来的 OpenShift Container Platform 版本可能在安装过程中支持定义多个计算池。仅使用一个 control plane 池。- 3
replicas
参数的值必须设置为0
。此参数控制集群为您创建和管理的 worker 数量,在使用用户置备的基础架构时集群不会执行这些功能。在完成 OpenShift Container Platform 安装前,您必须手动为集群部署 worker 机器。- 5
- 您添加到集群的 control plane 机器数量。由于集群使用此值作为集群中的 etcd 端点数量,所以该值必须与您部署的 control plane 机器数量匹配。
- 6
- 您在 DNS 记录中指定的集群名称。
- 7
- vCenter 服务器的完全限定主机名或 IP 地址。重要
Cluster Cloud Controller Manager Operator 对提供的主机名或 IP 地址执行连接检查。确保为可访问的 vCenter 服务器指定主机名或 IP 地址。如果您向不存在的 vCenter 服务器提供元数据,集群安装会在 bootstrap 阶段失败。
- 8
- 用于访问服务器的用户的名称。
- 9
- 与 vSphere 用户关联的密码。
- 10
- vSphere 数据中心.
- 11
- 要使用的默认 vSphere 数据存储。
- 12
- 可选参数:对于安装程序置备的基础架构,安装程序创建虚拟机的现有文件夹的绝对路径,如
/<datacenter_name>/vm/<folder_name>/<subfolder_name>
。如果没有提供这个值,安装程序会在数据中心虚拟机文件夹中创建一个顶层文件夹,其名称为基础架构 ID。如果您为集群提供基础架构,且您不想使用默认的StorageClass
对象(名为thin
),您可以从install-config.yaml
文件中省略folder
参数。 - 13
- 可选参数:对于安装程序置备的基础架构,安装程序创建虚拟机的现有文件夹的绝对路径,如
/<datacenter_name>/vm/<folder_name>/<subfolder_name>
。如果没有提供这个值,安装程序会在数据中心虚拟机文件夹中创建一个顶层文件夹,其名称为基础架构 ID。如果您为集群提供基础架构,请省略此参数。 - 14
- vSphere 磁盘置备方法。
- 15
- 是否启用或禁用 FIPS 模式。默认情况下不启用 FIPS 模式。如果启用了 FIPS 模式,运行 OpenShift Container Platform 的 Red Hat Enterprise Linux CoreOS(RHCOS)机器会绕过默认的 Kubernetes 加密套件,并使用由 RHCOS 提供的加密模块。重要
要为集群启用 FIPS 模式,您必须从配置为以 FIPS 模式操作的 Red Hat Enterprise Linux (RHEL) 计算机运行安装程序。有关在 RHEL 中配置 FIPS 模式的更多信息,请参阅在 FIPS 模式中安装该系统。只有在
x86_64
、ppc64le
和s390x
架构的 OpenShift Container Platform 部署中才支持使用 FIPS 验证的或Modules In Process 加密库。 - 16
- 从 OpenShift Cluster Manager Hybrid Cloud 控制台 获取的 pull secret。此 pull secret 允许您与所含授权机构提供的服务进行身份验证,这些服务包括为 OpenShift Container Platform 组件提供容器镜像的 Quay.io。
- 17
- Red Hat Enterprise Linux CoreOS(RHCOS)中
core
用户的默认 SSH 密钥的公钥部分。
7.12.2. 在安装过程中配置集群范围的代理 复制链接链接已复制到粘贴板!
生产环境可能会拒绝直接访问互联网,而是提供 HTTP 或 HTTPS 代理。您可以通过在 install-config.yaml
文件中配置代理设置,将新的 OpenShift Container Platform 集群配置为使用代理。
先决条件
-
您有一个现有的
install-config.yaml
文件。 您检查了集群需要访问的站点,并确定它们中的任何站点是否需要绕过代理。默认情况下,所有集群出口流量都经过代理,包括对托管云供应商 API 的调用。如果需要,您将在
Proxy 对象的
spec.noProxy
字段中添加站点来绕过代理。注意Proxy
对象status.noProxy
字段使用安装配置中的networking.machineNetwork[].cidr
、networking.clusterNetwork[].cidr
和networking.serviceNetwork[]
字段的值填充。对于在 Amazon Web Services(AWS)、Google Cloud Platform(GCP)、Microsoft Azure 和 Red Hat OpenStack Platform(RHOSP)上安装,
Proxy
对象status.noProxy
字段也会使用实例元数据端点填充(169.254.169.254
)。
流程
编辑
install-config.yaml
文件并添加代理设置。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 用于创建集群外 HTTP 连接的代理 URL。URL 方案必须是
http
。 - 2
- 用于创建集群外 HTTPS 连接的代理 URL。
- 3
- 要从代理中排除的目标域名、IP 地址或其他网络 CIDR 的逗号分隔列表。在域前面加上
.
以仅匹配子域。例如,.y.com
匹配x.y.com
,但不匹配y.com
。使用*
绕过所有目的地的代理。您必须包含 vCenter 的 IP 地址以及用于其机器的 IP 范围。 - 4
- 如果提供,安装程序会在
openshift-config
命名空间中生成名为user-ca-bundle
的配置映射,其包含代理 HTTPS 连接所需的一个或多个额外 CA 证书。然后,Cluster Network Operator 会创建trusted-ca-bundle
配置映射,将这些内容与 Red Hat Enterprise Linux CoreOS(RHCOS)信任捆绑包合并,Proxy
对象的trustedCA
字段中也会引用此配置映射。additionalTrustBundle
字段是必需的,除非代理的身份证书由来自 RHCOS 信任捆绑包的颁发机构签名。 - 5
- 可选:决定
Proxy
对象的配置以引用trustedCA
字段中user-ca-bundle
配置映射的策略。允许的值是Proxyonly
和Always
。仅在配置了http/https
代理时,使用Proxyonly
引用user-ca-bundle
配置映射。使用Always
始终引用user-ca-bundle
配置映射。默认值为Proxyonly
。
注意安装程序不支持代理的
readinessEndpoints
字段。注意如果安装程序超时,重启并使用安装程序的
wait-for
命令完成部署。例如:./openshift-install wait-for install-complete --log-level debug
$ ./openshift-install wait-for install-complete --log-level debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存该文件并在安装 OpenShift Container Platform 时引用。
安装程序会创建一个名为 cluster 的集群范围代理,该代理 使用
提供的 install-config.yaml
文件中的代理设置。如果没有提供代理设置,仍然会创建一个 cluster
Proxy
对象,但它会有一个空 spec
。
只支持名为 cluster
的 Proxy
对象,且无法创建额外的代理。
7.12.3. 为 VMware vCenter 配置区域和区域 复制链接链接已复制到粘贴板!
您可以修改默认安装配置文件,将 OpenShift Container Platform 集群部署到在单个 VMware vCenter 中运行的多个 vSphere 数据中心。
VMware vSphere 区域和区启用只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
这个示例使用 govc
命令。govc
命令是 VMware 提供的开源命令。红帽没有提供 govc
命令。红帽支持不维护 govc
命令。有关下载和安装 govc
的说明,请参阅 VMware 文档网站。
先决条件
您有一个现有的
install-config.yaml
安装配置文件。重要您必须为 OpenShift Container Platform 集群指定一个故障域,以便您可以为 VMware vCenter 服务器置备数据中心对象。如果您需要在不同的数据中心、集群、数据存储和其他组件中置备虚拟机节点,请考虑指定多个故障域。要启用区域和区域,您必须为 OpenShift Container Platform 集群定义多个故障域。
注意在 VMware vSphere 平台上安装 OpenShift Container Platform 集群后,您无法更改故障域。您可以在集群安装后添加额外的故障域。
流程
输入以下
govc
命令行工具命令,以创建openshift-region
和openshift-zone
vCenter 标签类别:重要如果为
openshift-region
和openshift-zone
vCenter 标签类别指定不同的名称,OpenShift Container Platform 集群的安装会失败。govc tags.category.create -d "OpenShift region" openshift-region
$ govc tags.category.create -d "OpenShift region" openshift-region
Copy to Clipboard Copied! Toggle word wrap Toggle overflow govc tags.category.create -d "OpenShift zone" openshift-zone
$ govc tags.category.create -d "OpenShift zone" openshift-zone
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要为您要部署集群的每个区域 vSphere 数据中心创建一个 region 标签,请在终端中输入以下命令:
govc tags.create -c <region_tag_category> <region_tag>
$ govc tags.create -c <region_tag_category> <region_tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要为您要部署集群的每个 vSphere 集群创建一个区标签,请输入以下命令:
govc tags.create -c <zone_tag_category> <zone_tag>
$ govc tags.create -c <zone_tag_category> <zone_tag>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令将区域标签附加到每个 vCenter 数据中心对象:
govc tags.attach -c <region_tag_category> <region_tag_1> /<datacenter_1>
$ govc tags.attach -c <region_tag_category> <region_tag_1> /<datacenter_1>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令将区标签附加到每个 vCenter 数据中心对象:
govc tags.attach -c <zone_tag_category> <zone_tag_1> /<datacenter_1>/host/vcs-mdcnc-workload-1
$ govc tags.attach -c <zone_tag_category> <zone_tag_1> /<datacenter_1>/host/vcs-mdcnc-workload-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 进入包含安装程序的目录,并根据您选择的安装要求初始化集群部署。
在 vSphere 数据中心中定义的多个数据中心的 install-config.yaml
文件示例
- 1
- 您必须将
TechPreviewNoUpgrade
定义为此参数的值,以便您可以使用 VMware vSphere 区域和区启用功能。 - 2 3
- 用于指定 vCenter 集群的可选参数。您可以使用
openshift-zone
标签类别中的标签来定义区。如果没有定义此参数,节点将分布到所有定义的 failure-domains 中。 - 4 5 6 7 8 9 10 11
- 默认 vCenter 拓扑。安装程序使用此拓扑信息来部署 bootstrap 节点。另外,拓扑定义了 vSphere 持久性卷的默认数据存储。
- 12
- 建立地区和区域之间的关系。您可以使用 vCenter 对象(如数据存储对象)定义故障域。故障域定义 OpenShift Container Platform 集群节点的 vCenter 位置。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。
- 13
- 定义故障域的名称。在
zones
参数中引用每个故障域,将机器池范围到故障域。 - 14
- 您可以使用
openshift-region
标签类别中的标签来定义区域。标签必须附加到 vCenter 数据中心。 - 15
- 您可以使用
openshift-zone tag
类别中的标签来定义区。标签必须附加到 vCenter 数据中心。 - 16
- 指定与故障域关联的 vCenter 资源。
- 17
- 用于定义与故障域关联的 vSphere 数据中心的可选参数。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。
- 18
- 可选参数,用于指示与故障域关联的计算集群的绝对路径。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。
- 19
- 安装程序置备的基础架构的可选参数。参数设置安装程序创建虚拟机的现有资源池的绝对路径,例如
/<datacenter_name>/host/<cluster_name>/Resources/<resource_pool_name>/<optional_nested_resource_pool_name>
。如果没有指定值,则会在集群/example_datacenter/host/example_cluster/Resources
根中安装资源。 - 20
- 列出 vCenter 实例中包含您配置的虚拟 IP 地址和 DNS 记录的任何网络的可选参数。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。
- 21
- 用于指定用于置备卷的数据存储的可选参数。如果没有定义此参数,安装程序将使用默认 vCenter 拓扑。