6.4. 使用网络自定义在 Azure Stack Hub 上安装集群
在 OpenShift Container Platform 版本 4.16 中,您可以使用自定义的网络配置在安装程序在 Azure Stack Hub 上置备的基础架构上安装集群。通过自定义网络配置,您的集群可以与环境中现有的 IP 地址分配共存,并与现有的 MTU 和 VXLAN 配置集成。
					虽然您可以在使用安装程序使用安装程序置备的基础架构部署集群时选择 azure,但这个选项只支持 Azure Public Cloud。
				
6.4.1. 先决条件
- 您可以参阅有关 OpenShift Container Platform 安装和更新 流程的详细信息。
- 您可以阅读选择集群安装方法并为用户准备它的文档。
- 已将 Azure Stack Hub 帐户配置为托管集群。
- 如果使用防火墙,则会 将其配置为允许集群需要访问的站点。
- 您确认有大约 16 GB 的本地磁盘空间。安装集群要求您下载 RHCOS 虚拟硬盘(VHD)集群镜像,并将其上传到 Azure Stack Hub 环境,以便在部署过程中访问它。解压缩 VHD 文件需要这个数量的本地磁盘空间。
6.4.2. OpenShift Container Platform 互联网访问
在 OpenShift Container Platform 4.16 中,您需要访问互联网来安装集群。
您必须具有以下互联网访问权限:
- 访问 OpenShift Cluster Manager 以下载安装程序并执行订阅管理。如果集群可以访问互联网,并且没有禁用 Telemetry,该服务会自动授权您的集群。
- 访问 Quay.io,以获取安装集群所需的软件包。
- 获取执行集群更新所需的软件包。
如果您的集群无法直接访问互联网,则可以在置备的某些类型的基础架构上执行受限网络安装。在此过程中,您可以下载所需的内容,并使用它为镜像 registry 填充安装软件包。对于某些安装类型,集群要安装到的环境不需要访问互联网。在更新集群前,您要更新镜像 registry 的内容。
6.4.3. 为集群节点 SSH 访问生成密钥对
					在 OpenShift Container Platform 安装过程中,您可以为安装程序提供 SSH 公钥。密钥通过它们的 Ignition 配置文件传递给 Red Hat Enterprise Linux CoreOS(RHCOS)节点,用于验证对节点的 SSH 访问。密钥添加到每个节点上 core 用户的 ~/.ssh/authorized_keys 列表中,这将启用免密码身份验证。
				
					将密钥传递给节点后,您可以使用密钥对作为用户 核心 通过 SSH 连接到 RHCOS 节点。若要通过 SSH 访问节点,必须由 SSH 为您的本地用户管理私钥身份。
				
					如果要通过 SSH 连接到集群节点来执行安装调试或灾难恢复,则必须在安装过程中提供 SSH 公钥。./openshift-install gather 命令还需要在集群节点上设置 SSH 公钥。
				
不要在生产环境中跳过这个过程,在生产环境中需要灾难恢复和调试。
您必须使用本地密钥,而不是使用特定平台方法配置 的密钥,如 AWS 密钥对。
流程
- 如果您在本地计算机上没有可用于在集群节点上进行身份验证的现有 SSH 密钥对,请创建一个。例如,在使用 Linux 操作系统的计算机上运行以下命令: - ssh-keygen -t ed25519 -N '' -f <path>/<file_name> - $ ssh-keygen -t ed25519 -N '' -f <path>/<file_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 指定新 SSH 密钥的路径和文件名,如~/.ssh/id_ed25519。如果您已有密钥对,请确保您的公钥位于~/.ssh目录中。
 注意- 如果您计划在 - x86_64、- ppc64le和- s390x架构上安装使用 RHEL 加密库(这些加密库已提交给 NIST 用于 FIPS 140-2/140-3 验证)的 OpenShift Container Platform 集群,则不要创建使用- ed25519算法的密钥。相反,创建一个使用- rsa或- ecdsa算法的密钥。
- 查看公共 SSH 密钥: - cat <path>/<file_name>.pub - $ cat <path>/<file_name>.pub- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 例如,运行以下命令来查看 - ~/.ssh/id_ed25519.pub公钥:- cat ~/.ssh/id_ed25519.pub - $ cat ~/.ssh/id_ed25519.pub- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将 SSH 私钥身份添加到本地用户的 SSH 代理(如果尚未添加)。在集群节点上,或者要使用 - ./openshift-install gather命令,需要对该密钥进行 SSH 代理管理,才能在集群节点上进行免密码 SSH 身份验证。注意- 在某些发行版中,自动管理默认 SSH 私钥身份,如 - ~/.ssh/id_rsa和- ~/.ssh/id_dsa。- 如果 - ssh-agent进程尚未为您的本地用户运行,请将其作为后台任务启动:- eval "$(ssh-agent -s)" - $ eval "$(ssh-agent -s)"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Agent pid 31874 - Agent pid 31874- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 如果集群处于 FIPS 模式,则只使用 FIPS 兼容算法来生成 SSH 密钥。密钥必须是 RSA 或 ECDSA。 
 
- 将 SSH 私钥添加到 - ssh-agent:- ssh-add <path>/<file_name> - $ ssh-add <path>/<file_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 指定 SSH 私钥的路径和文件名,如~/.ssh/id_ed25519.pub
 - 输出示例 - Identity added: /home/<you>/<path>/<file_name> (<computer_name>) - Identity added: /home/<you>/<path>/<file_name> (<computer_name>)- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
后续步骤
- 安装 OpenShift Container Platform 时,为安装程序提供 SSH 公钥。
6.4.4. 上传 RHCOS 集群镜像
您必须下载 RHCOS 虚拟硬盘(VHD)集群镜像,并将其上传到 Azure Stack Hub 环境,以便在部署过程中访问它。
先决条件
- 配置 Azure 帐户。
流程
- 获取 RHCOS VHD 集群镜像: - 将 RHCOS VHD 的 URL 导出为环境变量。 - export COMPRESSED_VHD_URL=$(openshift-install coreos print-stream-json | jq -r '.architectures.x86_64.artifacts.azurestack.formats."vhd.gz".disk.location') - $ export COMPRESSED_VHD_URL=$(openshift-install coreos print-stream-json | jq -r '.architectures.x86_64.artifacts.azurestack.formats."vhd.gz".disk.location')- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 本地下载压缩的 RHCOS VHD 文件。 - curl -O -L ${COMPRESSED_VHD_URL}- $ curl -O -L ${COMPRESSED_VHD_URL}- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 解压缩 VHD 文件。 注意- 解压缩的 VHD 文件大约为 16 GB,因此请确保您的主机系统有 16 GB 的可用空间。上传后,可以删除 VHD 文件。 
- 
							将本地 VHD 上传到 Azure Stack Hub 环境,确保 blob 已公开可用。例如,您可以使用 azcli 或 web 门户将 VHD 上传到 blob。
6.4.5. 获取安装程序
在安装 OpenShift Container Platform 前,将安装文件下载到您用于安装的主机上。
先决条件
- 您有一台运行 Linux 或 macOS 的计算机,本地磁盘空间为 500 MB。
流程
- 访问 OpenShift Cluster Manager 站点的 Infrastructure Provider 页面。如果您有红帽帐户,请使用您的凭证登录。如果没有,请创建一个帐户。
- 选择 Azure 作为云供应商。
- 进入到安装类型的页面,下载与您的主机操作系统和架构对应的安装程序,并将该文件放在您要存储安装配置文件的目录中。 重要- 安装程序会在用来安装集群的计算机上创建几个文件。在完成集群安装后,您必须保留安装程序和安装程序所创建的文件。这两个文件都需要删除集群。 重要- 删除安装程序创建的文件不会删除您的集群,即使集群在安装过程中失败也是如此。要删除集群,请为特定云供应商完成 OpenShift Container Platform 卸载流程。 
- 提取安装程序。例如,在使用 Linux 操作系统的计算机上运行以下命令: - tar -xvf openshift-install-linux.tar.gz - $ tar -xvf openshift-install-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 从 Red Hat OpenShift Cluster Manager 下载安装 pull secret。此 pull secret 允许您与所含授权机构提供的服务进行身份验证,这些服务包括为 OpenShift Container Platform 组件提供容器镜像的 Quay.io。
6.4.6. 手动创建安装配置文件
安装集群要求您手动创建安装配置文件。
先决条件
- 您在本地机器上有一个 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。- 进行以下修改: - 指定所需的安装参数。
- 
									更新 platform.azure部分,以指定特定于 Azure Stack Hub 的参数。
- 可选:更新一个或多个默认配置参数以自定义安装。 - 有关参数的更多信息,请参阅"安装配置参数"。 
 
- 备份 - install-config.yaml文件,以便您可以使用它安装多个集群。重要- install-config.yaml文件会在安装过程的下一步中使用。现在必须备份它。
6.4.6.1. Azure Stack Hub 的自定义 install-config.yaml 文件示例
						您可以自定义 install-config.yaml 文件,以指定有关 OpenShift Container Platform 集群平台的更多详情,或修改所需参数的值。
					
此示例 YAML 文件仅供参考。使用它作为资源,在您手动创建的安装配置文件中输入参数值。
- 1 7 10 12 14 17 18 20
- 必需。
- 2 5
- 如果没有提供这些参数和值,安装程序会提供默认值。
- 3
- controlPlane部分是一个单个映射,但- compute部分是一系列映射。为满足不同数据结构的要求,- compute部分的第一行必须以连字符- -开头,controlPlane- 部分的第一行则不以连字符开头。虽然这两个部分目前都定义了单一机器池,但未来的 OpenShift Container Platform 版本可能在安装过程中支持定义多个计算池。仅使用一个 control plane 池。
- 4 6
- 您可以指定要使用的磁盘大小(以 GB 为单位)。control plane 节点的最低推荐值为 1024 GB。
- 8
- 集群的名称。
- 9
- 要安装的集群网络插件。默认值OVNKubernetes是唯一支持的值。
- 11
- Azure Stack Hub Operator 提供的 Azure Resource Manager 端点。
- 13
- 包含基域的 DNS 区的资源组的名称。
- 15
- Azure Stack Hub 本地区域的名称。
- 16
- 安装集群的现有资源组的名称。如果未定义,则会为集群创建新的资源组。
- 19
- Azure Stack 环境中包含 RHCOS VHD 存储 blob 的 URL。
- 21
- 对集群进行身份验证所需的 pull secret。
- 22
- 是否启用或禁用 FIPS 模式。默认情况下不启用 FIPS 模式。如果启用了 FIPS 模式,运行 OpenShift Container Platform 的 Red Hat Enterprise Linux CoreOS(RHCOS)机器会绕过默认的 Kubernetes 加密套件,并使用由 RHCOS 提供的加密模块。重要当以 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。 
- 23
- 您可以选择提供您用来访问集群中机器的sshKey值。注意对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请指定 ssh-agent进程使用的 SSH 密钥。
- 24
- 如果 Azure Stack Hub 环境使用内部证书颁发机构(CA),则需要添加 CA 证书。
6.4.7. 手动管理云凭证
Cloud Credential Operator(CCO)只支持手动模式的云供应商。因此,您必须为云供应商指定身份和访问管理(IAM)secret。
流程
- 如果您之前还没有创建安装清单文件,请运行以下命令: - openshift-install create manifests --dir <installation_directory> - $ openshift-install create manifests --dir <installation_directory>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 其中 - <installation_directory>是安装程序在其中创建文件的目录。
- 运行以下命令,使用安装文件中的发行镜像设置 - $RELEASE_IMAGE变量:- RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')- $ RELEASE_IMAGE=$(./openshift-install version | awk '/release image/ {print $3}')- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 运行以下命令,从 OpenShift Container Platform 发行镜像中提取 - CredentialsRequest自定义资源 (CR) 列表:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 此命令为每个 - CredentialsRequest对象创建一个 YAML 文件。- CredentialsRequest对象示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在之前生成的 - openshift-install清单目录中为 secret 创建 YAML 文件。secret 必须使用在- spec.secretRef中为每个- CredentialsRequest定义的命名空间和 secret 名称存储。- 带有 secret 的 - CredentialsRequest对象示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Secret对象示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
在升级使用手动维护凭证的集群前,您必须确保 CCO 处于可升级状态。
6.4.8. 配置集群以使用内部 CA
					如果 Azure Stack Hub 环境使用内部证书颁发机构(CA),请更新 cluster-proxy-01-config.yaml 文件 将集群配置为使用内部 CA。
				
先决条件
- 
							创建 install-config.yaml文件,并以.pem格式指定证书信任捆绑包。
- 创建集群清单。
流程
- 
							从安装程序创建文件的目录中,前往 manifests目录。
- 将 - user-ca-bundle添加到- spec.trustedCA.name字段中。- cluster-proxy-01-config.yaml文件示例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
							可选:备份 manifests/ cluster-proxy-01-config.yaml文件。在部署集群时,安装程序会消耗manifests/目录。
6.4.9. 网络配置阶段
OpenShift Container Platform 安装前有两个阶段,您可以在其中自定义网络配置。
- 第 1 阶段
- 在创建清单文件前,您可以自定义 - install-config.yaml文件中的以下与网络相关的字段:- 
										networking.networkType
- 
										networking.clusterNetwork
- 
										networking.serviceNetwork
- networking.machineNetwork- 如需更多信息,请参阅"安装配置参数"。 注意- 将 - networking.machineNetwork设置为与首选子网所在的无类别域间路由 (CIDR) 匹配。重要- CIDR 范围 - 172.17.0.0/16由- libVirt保留。对于集群中的网络,您无法使用与- 172.17.0.0/16CIDR 范围重叠的任何其他 CIDR 范围。
 
- 
										
- 第 2 阶段
- 
								运行 openshift-install create 清单创建清单文件后,您可以只使用您要修改的字段定义自定义 Cluster Network Operator 清单。您可以使用 清单指定高级网络配置。
					在阶段 2 中,您无法覆盖 install-config.yaml 文件中在第 1 阶段指定的值。但是,您可以在第 2 阶段自定义网络插件。
				
6.4.10. 指定高级网络配置
您可以使用网络插件的高级网络配置将集群集成到现有网络环境中。
您只能在安装集群前指定高级网络配置。
不支持通过修改安装程序创建的 OpenShift Container Platform 清单文件来自定义网络配置。支持应用您创建的清单文件,如以下流程中所示。
先决条件
- 
							您已创建 install-config.yaml文件并完成对其所做的任何修改。
流程
- 进入包含安装程序的目录并创建清单: - ./openshift-install create manifests --dir <installation_directory> - $ ./openshift-install create manifests --dir <installation_directory>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- <installation_directory>指定包含集群的- install-config.yaml文件的目录名称。
 
- 在 - <installation_directory>/manifests/目录中- 为高级网络配置创建一个名为 cluster-network-03-config.yml的 stub 清单文件:- apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: - apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在 - cluster-network-03-config.yml文件中指定集群的高级网络配置,如下例所示:- 为 OVN-Kubernetes 网络供应商启用 IPsec - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
							可选:备份 manifests/cluster-network-03-config.yml文件。创建 Ignition 配置文件时,安装程序会使用manifests/目录。
6.4.11. Cluster Network Operator 配置
					集群网络的配置作为 Cluster Network Operator(CNO)配置的一部分指定,并存储在名为 cluster 的自定义资源(CR)对象中。CR 指定 operator.openshift.io API 组中的 Network API 的字段。
				
					CNO 配置在集群安装过程中从 Network.config.openshift.io API 组中的 Network API 继承以下字段:
				
- clusterNetwork
- 从中分配 Pod IP 地址的 IP 地址池。
- serviceNetwork
- 服务的 IP 地址池.
- defaultNetwork.type
- 
								集群网络插件。OVNKubernetes是安装期间唯一支持的插件。
					您可以通过在名为 cluster 的 CNO 对象中设置 defaultNetwork 对象的字段来为集群指定集群网络插件配置。
				
6.4.11.1. Cluster Network Operator 配置对象
下表中描述了 Cluster Network Operator(CNO)的字段:
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 
										 | 
										CNO 对象的名称。这个名称始终是  | 
| 
										 | 
										 | 用于指定从哪些 IP 地址块分配 Pod IP 地址以及集群中每个节点的子网前缀长度的列表。例如: | 
| 
										 | 
										 | 服务的 IP 地址块。OpenShift SDN 和 OVN-Kubernetes 网络插件只支持服务网络的一个 IP 地址块。例如: spec: serviceNetwork: - 172.30.0.0/14 
										您只能在创建清单前在  | 
| 
										 | 
										 | 为集群网络配置网络插件。 | 
| 
										 | 
										 | 此对象的字段指定 kube-proxy 配置。如果使用 OVN-Kubernetes 集群网络供应商,则 kube-proxy 配置不会起作用。 | 
defaultNetwork 对象配置
						下表列出了 defaultNetwork 对象的值:
					
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 
										 | 
										 注意 OpenShift Container Platform 默认使用 OVN-Kubernetes 网络插件。OpenShift SDN 不再作为新集群的安装选择提供。 | 
| 
										 | 
										 | 此对象仅对 OVN-Kubernetes 网络插件有效。 | 
配置 OVN-Kubernetes 网络插件
下表描述了 OVN-Kubernetes 网络插件的配置字段:
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 
										 | Geneve(通用网络虚拟化封装)覆盖网络的最大传输单元(MTU)。这根据主网络接口的 MTU 自动探测。您通常不需要覆盖检测到的 MTU。 如果自动探测的值不是您期望的值,请确认节点上主网络接口上的 MTU 是否正确。您不能使用这个选项更改节点上主网络接口的 MTU 值。 
										如果集群中不同节点需要不同的 MTU 值,则必须将此值设置为  | 
| 
										 | 
										 | 
										用于所有 Geneve 数据包的端口。默认值为  | 
| 
										 | 
										 | 指定用于自定义 IPsec 配置的配置对象。 | 
| 
										 | 
										 | 为 IPv4 设置指定配置对象。 | 
| 
										 | 
										 | 为 IPv6 设置指定配置对象。 | 
| 
										 | 
										 | 指定用于自定义网络策略审计日志的配置对象。如果未设置,则使用默认的审计日志设置。 | 
| 
										 | 
										 | 可选:指定一个配置对象来自定义如何将出口流量发送到节点网关。 注意 在迁移出口流量时,工作负载和服务流量会受到一定影响,直到 Cluster Network Operator (CNO) 成功推出更改。 | 
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 字符串 | 
										如果您的现有网络基础架构与  
										默认值为  | 
| 
										 | 字符串 | 
										如果您的现有网络基础架构与  
										默认值为  | 
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 字符串 | 
										如果您的现有网络基础架构与  
										默认值为  | 
| 
										 | 字符串 | 
										如果您的现有网络基础架构与  
										默认值为  | 
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 整数 | 
										每个节点每秒生成一次的消息数量上限。默认值为每秒  | 
| 
										 | 整数 | 
										审计日志的最大大小,以字节为单位。默认值为  | 
| 
										 | 整数 | 保留的日志文件的最大数量。 | 
| 
										 | 字符串 | 以下附加审计日志目标之一: 
 | 
| 
										 | 字符串 | 
										syslog 工具,如 as  | 
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 
										 | 
										将此字段设置为  
										此字段与 Open vSwitch 硬件卸载功能有交互。如果将此字段设置为  | 
| 
										 | 
										 | 
										您可以使用  | 
| 
										 | 
										 | 可选:指定一个对象来为主机配置内部 OVN-Kubernetes 伪装地址,以服务 IPv4 地址的流量。 | 
| 
										 | 
										 | 可选:指定一个对象来为主机配置内部 OVN-Kubernetes 伪装地址,以服务 IPv6 地址的流量。 | 
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 
										 | 
										内部使用的伪装 IPv4 地址,以启用主机服务流量。主机配置了这些 IP 地址和共享网关网桥接口。默认值为  | 
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 
										 | 
										内部使用的伪装 IPv6 地址,以启用主机服务流量。主机配置了这些 IP 地址和共享网关网桥接口。默认值为  | 
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 
										 | 指定 IPsec 实现的行为。必须是以下值之一: 
 | 
启用 IPSec 的 OVN-Kubernetes 配置示例
使用 OVNKubernetes 可能会导致 IBM Power® 上的堆栈耗尽问题。
kubeProxyConfig 对象配置(仅限 OpenShiftSDN 容器网络接口)
						kubeProxyConfig 对象的值在下表中定义:
					
| 字段 | 类型 | 描述 | 
|---|---|---|
| 
										 | 
										 | 
										 注意 
											由于 OpenShift Container Platform 4.3 及更高版本中引进了性能改进,不再需要调整  | 
| 
										 | 
										 | 
										刷新  kubeProxyConfig:
  proxyArguments:
    iptables-min-sync-period:
    - 0s | 
6.4.12. 使用 OVN-Kubernetes 配置混合网络
您可以将集群配置为使用 OVN-Kubernetes 网络插件的混合网络。这允许支持不同节点网络配置的混合集群。
此配置是在同一集群中同时运行 Linux 和 Windows 节点所必需的。
先决条件
- 
							您在 install-config.yaml文件中为networking.networkType参数定义了OVNKubernetes。如需更多信息,请参阅有关在所选云供应商上配置 OpenShift Container Platform 网络自定义的安装文档。
流程
- 进入包含安装程序的目录并创建清单: - ./openshift-install create manifests --dir <installation_directory> - $ ./openshift-install create manifests --dir <installation_directory>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 其中: - <installation_directory>
- 
										指定包含集群的 install-config.yaml文件的目录名称。
 
- 在 - <installation_directory>/manifests/目录中- 为高级网络配置创建一个名为 cluster-network-03-config.yml的 stub 清单文件:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 其中: - <installation_directory>
- 
										指定包含集群的 manifests/目录的目录名称。
 
- 在编辑器中打开 - cluster-network-03-config.yml文件,并使用混合网络配置 OVN-Kubernetes,如下例所示:- 指定混合网络配置 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 指定用于额外覆盖网络上节点的 CIDR 配置。hybridClusterNetworkCIDR 无法与clusterNetworkCIDR 重叠。
- 2
- 为额外覆盖网络指定自定义 VXLAN 端口。这是在 vSphere 上安装的集群中运行 Windows 节点所需要的,且不得为任何其他云供应商配置。自定义端口可以是除默认4789端口外的任何打开的端口。有关此要求的更多信息,请参阅 Microsoft 文档中的 Pod 到主机间的 pod 连接性。
 注意- Windows Server Long-Term Servicing Channel(LTSC):Windows Server 2019 在带有自定义 - hybridOverlayVXLANPort值的集群中不被支持,因为这个 Windows server 版本不支持选择使用自定义的 VXLAN 端口。
有关在同一集群中使用 Linux 和 Windows 节点的更多信息,请参阅了解 Windows 容器工作负载。
6.4.13. 部署集群
您可以在兼容云平台上安装 OpenShift Container Platform。
						在初始安装过程中,您只能运行安装程序的 create cluster 命令一次。
					
先决条件
- 您已使用托管集群的云平台配置了帐户。
- 您有 OpenShift Container Platform 安装程序和集群的 pull secret。
- 已确认主机上的云供应商帐户具有部署集群的正确权限。权限不正确的帐户会导致安装过程失败,并显示包括缺失权限的错误消息。
流程
- 进入包含安装程序的目录并初始化集群部署: - ./openshift-install create cluster --dir <installation_directory> \ --log-level=info- $ ./openshift-install create cluster --dir <installation_directory> \- 1 - --log-level=info- 2 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
当集群部署成功完成时:
- 
							终端会显示用于访问集群的说明,包括指向 Web 控制台和 kubeadmin用户的凭证的链接。
- 
							凭证信息还会输出到 <installation_directory>/.openshift_install.log.
不要删除安装程序或安装程序所创建的文件。需要这两者才能删除集群。
输出示例
- 
								安装程序生成的 Ignition 配置文件包含在 24 小时后过期的证书,然后在过期时进行续订。如果在更新证书前关闭集群,且集群在 24 小时后重启,集群会自动恢复过期的证书。一个例外是,您必须手动批准待处理的 node-bootstrapper证书签名请求(CSR)来恢复 kubelet 证书。如需更多信息,请参阅从过期的 control plane 证书 中恢复的文档。
- 建议您在 Ignition 配置文件生成后的 12 小时内使用它们,因为 24 小时的证书会在集群安装后的 16 小时到 22 小时间进行轮转。通过在 12 小时内使用 Ignition 配置文件,您可以避免在安装过程中因为执行了证书更新而导致安装失败的问题。
6.4.14. 安装 OpenShift CLI
					您可以安装 OpenShift CLI(oc)来使用命令行界面与 OpenShift Container Platform 进行交互。您可以在 Linux、Windows 或 macOS 上安装 oc。
				
						如果安装了旧版本的 oc,则可能无法使用 OpenShift Container Platform 4.16 中的所有命令。下载并安装新版本的 oc。
					
在 Linux 上安装 OpenShift CLI
					您可以按照以下流程在 Linux 上安装 OpenShift CLI(oc)二进制文件。
				
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 产品变体 下拉列表中选择架构。
- 从 版本 下拉列表中选择适当的版本。
- 点 OpenShift v4.16 Linux Client 条目旁的 Download Now 来保存文件。
- 解包存档: - tar xvf <file> - $ tar xvf <file>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 将 - oc二进制文件放到- PATH 中的目录中。- 要查看您的 - PATH,请执行以下命令:- echo $PATH - $ echo $PATH- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 安装 OpenShift CLI 后,可以使用 - oc命令:- oc <command> - $ oc <command>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
在 Windows 上安装 OpenShift CLI
					您可以按照以下流程在 Windows 上安装 OpenShift CLI(oc)二进制文件。
				
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 版本 下拉列表中选择适当的版本。
- 点 OpenShift v4.16 Windows Client 条目旁的 Download Now 来保存文件。
- 使用 ZIP 程序解压存档。
- 将 - oc二进制文件移到- PATH 中的目录中。- 要查看您的 - PATH,请打开命令提示并执行以下命令:- path - C:\> path- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 安装 OpenShift CLI 后,可以使用 - oc命令:- oc <command> - C:\> oc <command>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
在 macOS 上安装 OpenShift CLI
					您可以按照以下流程在 macOS 上安装 OpenShift CLI(oc)二进制文件。
				
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 版本 下拉列表中选择适当的版本。
- 点 OpenShift v4.16 macOS Client 条目旁的 Download Now 来保存文件。 注意- 对于 macOS arm64,请选择 OpenShift v4.16 macOS arm64 Client 条目。 
- 解包和解压存档。
- 将 - oc二进制文件移到 PATH 的目录中。- 要查看您的 - PATH,请打开终端并执行以下命令:- echo $PATH - $ echo $PATH- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 使用 - oc命令验证安装:- oc <command> - $ oc <command>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
6.4.15. 使用 CLI 登录集群
					您可以通过导出集群 kubeconfig 文件,以默认系统用户身份登录集群。kubeconfig 文件包含有关集群的信息,供 CLI 用于将客户端连接到正确的集群和 API 服务器。该文件特定于集群,在 OpenShift Container Platform 安装过程中创建。
				
先决条件
- 已部署 OpenShift Container Platform 集群。
- 
							已安装 ocCLI。
流程
- 导出 - kubeadmin凭证:- export KUBECONFIG=<installation_directory>/auth/kubeconfig - $ export KUBECONFIG=<installation_directory>/auth/kubeconfig- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 对于<installation_directory>,请指定安装文件保存到的目录的路径。
 
- 验证您可以使用导出的配置成功运行 - oc命令:- oc whoami - $ oc whoami- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - system:admin - system:admin- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
6.4.16. 使用 Web 控制台登录到集群
					kubeadmin 用户默认在 OpenShift Container Platform 安装后存在。您可以使用 OpenShift Container Platform Web 控制台以 kubeadmin 用户身份登录集群。
				
先决条件
- 有访问安装主机的访问权限。
- 您完成了集群安装,所有集群 Operator 都可用。
流程
- 从安装主机上的 - kubeadmin- -password文件中获取 kubeadmin 用户的密码:- cat <installation_directory>/auth/kubeadmin-password - $ cat <installation_directory>/auth/kubeadmin-password- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 另外,您还可以从安装主机上的 - <installation_directory>/.openshift_install.log日志文件获取- kubeadmin密码。
- 列出 OpenShift Container Platform Web 控制台路由: - oc get routes -n openshift-console | grep 'console-openshift' - $ oc get routes -n openshift-console | grep 'console-openshift'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 另外,您还可以从安装主机上的 - <installation_directory>/.openshift_install.log 日志文件获取 OpenShift Container Platform 路由。- 输出示例 - console console-openshift-console.apps.<cluster_name>.<base_domain> console https reencrypt/Redirect None - console console-openshift-console.apps.<cluster_name>.<base_domain> console https reencrypt/Redirect None- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
							在 Web 浏览器中导航到上一命令输出中包括的路由,以 kubeadmin用户身份登录。
6.4.17. OpenShift Container Platform 的 Telemetry 访问
在 OpenShift Container Platform 4.16 中,默认运行的 Telemetry 服务提供有关集群健康状况和成功更新的指标,需要访问互联网。如果您的集群连接到互联网,Telemetry 会自动运行,而且集群会注册到 OpenShift Cluster Manager。
确认 OpenShift Cluster Manager 清单正确后,可以由 Telemetry 自动维护,也可以使用 OpenShift Cluster Manager 手动维护,使用订阅监控来跟踪帐户或多集群级别的 OpenShift Container Platform 订阅。