22.2. 在 RHV 上快速安装集群
您可以快速在 Red Hat Virtualization(RHV)集群中安装默认、非自定义的 OpenShift Container Platform 集群,如下图所示。
安装程序使用安装程序置备的基础架构自动创建和部署集群。
要安装默认集群,请准备环境,运行安装程序并根据提示回答其提示。然后,安装程序会创建 OpenShift Container Platform 集群。
有关安装默认集群的其他方法,请参阅使用自定义安装集群。
这个安装程序只适用于 Linux 和 macOS。
22.2.1. 先决条件
- 您可以参阅有关 OpenShift Container Platform 安装和更新 流程的详细信息。
- 在 Red Hat Virtualization(RHV)上的 OpenShift Container Platform Support Matrix 中支持的版本组合。
- 您可以阅读有关 选择集群安装方法的文档,并为用户准备它。
- 如果使用防火墙,则会 将其配置为允许集群需要访问的站点。
22.2.2. OpenShift Container Platform 互联网访问
在 OpenShift Container Platform 4.12 中,您需要访问互联网来安装集群。
您必须具有以下互联网访问权限:
- 访问 OpenShift Cluster Manager Hybrid Cloud Console 以下载安装程序并执行订阅管理。如果集群可以访问互联网,并且没有禁用 Telemetry,该服务会自动授权您的集群。
- 访问 Quay.io,以获取安装集群所需的软件包。
- 获取执行集群更新所需的软件包。
如果您的集群无法直接访问互联网,则可以在置备的某些类型的基础架构上执行受限网络安装。在此过程中,您可以下载所需的内容,并使用它为镜像 registry 填充安装软件包。对于某些安装类型,集群要安装到的环境不需要访问互联网。在更新集群前,您要更新镜像 registry 的内容。
22.2.3. RHV 环境的要求
要安装并运行 OpenShift Container Platform 版本 4.12 集群,RHV 环境必须满足以下要求。
不满足这些要求可能会导致安装或进程失败。另外,无法满足这些要求可能会导致 OpenShift Container Platform 集群在安装后几天或几星期后失败。
对 CPU、内存和存储资源的以下要求是基于 默认值 乘以安装程序创建的默认虚拟机数。除了 RHV 环境用于非 OpenShift Container Platform 操作的资源外,这些资源还必须可用。
默认情况下,安装程序会在安装过程中创建七台虚拟机。首先,它会创建一个 bootstrap 虚拟机来提供临时服务和 control plane,同时创建 OpenShift Container Platform 集群的其余部分。当安装程序完成集群创建后,删除 bootstrap 机器会释放其资源。
如果在 RHV 环境中增加虚拟机数量,则必须相应地增加资源。
要求
- RHV 版本为 4.4。
- RHV 环境有一个数据中心,其状态为 Up。
- RHV 数据中心包含一个 RHV 集群。
RHV 集群具有专门用于 OpenShift Container Platform 集群的以下资源:
- 最小 28 个 vCPU:在安装过程中创建的七台虚拟机中每个都需要 4 个.
112 GiB RAM 或更多,包括:
- 16 GiB 或更多用于提供临时 control plane 的 bootstrap 机器。
- 每个提供 control plane 机器的 control plane 机器都需要 16 GiB 或以上。
- 每个运行应用程序工作负载的三台计算机器都需要 16 GiB 或以上。
- RHV 存储域必须满足 etcd 后端性能要求。
- 对于关联性组支持:RHV 集群中的三个或更多主机。如果需要,您可以禁用关联性组。详情请查看 Installing a cluster on RHV with customizations 中的 Example: Removing all affinity groups for a non-production lab setup
- 在生产环境中,每个虚拟机必须具有 120 GiB 或更多存储。因此,存储域必须为默认的 OpenShift Container Platform 集群提供 840 GiB 或更多存储。在资源受限或非生产环境中,每个虚拟机必须具有 32 GiB 或更多存储,因此对于默认的 OpenShift Container Platform 集群,存储域必须具有 230 GiB 或更多存储。
- 要在安装和更新过程中从红帽生态系统目录下载镜像,RHV 集群必须可以访问互联网。Telemetry 服务还需要互联网连接来简化订阅和权利流程。
- RHV 集群必须具有一个虚拟网络,可访问 RHV Manager 上的 REST API。确保在这个网络中启用了 DHCP,因为安装程序创建的虚拟机会使用 DHCP 获取其 IP 地址。
具有以下最低权限的用户帐户和组,用于在目标 RHV 集群上安装和管理 OpenShift Container Platform 集群:
-
DiskOperator
-
DiskCreator
-
UserTemplateBasedVm
-
TemplateOwner
-
TemplateCreator
-
目标集群中的
ClusterAdmin
-
应用最小权限原则:避免在安装过程中使用带有 RHV SuperUser
权限的管理员帐户。安装程序会将您提供的凭证保存到一个临时的 ovirt-config.yaml
文件中,该文件可能会被破坏。
其他资源
22.2.4. 验证 RHV 环境的要求
验证 RHV 环境是否满足安装和运行 OpenShift Container Platform 集群的要求。不满足这些要求可能会导致失败。
这些要求基于安装程序用来创建 control plane 和计算机器的默认资源。这些资源包括 vCPU、内存和存储。如果更改这些资源或增加 OpenShift Container Platform 机器的数量,请相应地调整这些要求。
流程
检查 RHV 版本是否支持安装 OpenShift Container Platform 版本 4.12。
- 在 RHV 管理门户中,单击右上角的 ? 帮助图标,然后选择 About。
- 在打开的窗口中,记下 RHV 软件版本。
- 确认 RHV 版本为 4.4。如需有关支持的版本组合的更多信息,请参阅 RHV 上的 OpenShift Container Platform 支持列表。
检查数据中心、集群和存储。
-
在 RHV 管理门户中,点击 Compute
Data Centers。 - 确认可以访问您要安装 OpenShift Container Platform 的数据中心。
- 单击该数据中心的名称。
- 在数据中心详情中,Storage 选项卡中确认您要安装 OpenShift Container Platform 的存储域是 Active。
- 记录下 域名 以供稍后使用。
- 确认 Free Space 至少为 230 GiB。
- 确认存储域满足 etcd 后端性能要求,您可以使用 fio 性能基准工具进行测量。
- 在数据中心详情中点击 Clusters 选项卡。
- 找到您要安装 OpenShift Container Platform 的 RHV 集群。记录集群名称以供稍后使用。
-
在 RHV 管理门户中,点击 Compute
检查 RHV 主机资源。
- 在 RHV 管理门户中,点击 Compute > Clusters。
- 点击您要安装 OpenShift Container Platform 的集群。
- 在集群详情中点击 Hosts 选项卡。
- 检查主机,并确认它们有至少 28 个 逻辑 CPU 内核, 专门用于 OpenShift Container Platform 集群。
- 记录 逻辑 CPU 内核数 以便稍后使用。
- 确认这些 CPU 内核被分配,在安装过程中创建的七台虚拟机中的每一台都可以有四个内核。
确认主机总共有 112 GiB 的 Max free Memory for scheduling new virtual machines,以满足以下每个 OpenShift Container Platform 机器的要求:
- bootstrap 机器需要 16 GiB
- 三个 control plane 机器都需要 16 GiB
- 三个计算机器各自都需要 16 GiB
- 记录下 Max free Memory for scheduling new virtual machine 的数量, 以便稍后使用。
验证安装 OpenShift Container Platform 的虚拟网络是否可以访问 RHV Manager 的 REST API。在这个网络上的虚拟机中,使用 curl 访问 RHV Manager 的 REST API:
$ curl -k -u <username>@<profile>:<password> \ 1 https://<engine-fqdn>/ovirt-engine/api 2
例如:
$ curl -k -u ocpadmin@internal:pw123 \ https://rhv-env.virtlab.example.com/ovirt-engine/api
22.2.5. 在 RHV 上准备网络环境
为 OpenShift Container Platform 集群配置两个静态 IP 地址,并使用这些地址创建 DNS 条目。
流程
保留两个静态 IP 地址
- 在您要安装 OpenShift Container Platform 的网络上,标识 DHCP 租期池之外的两个静态 IP 地址。
连接到此网络上的主机,并验证每个 IP 地址都没有被使用。例如,使用地址解析协议(ARP)检查 IP 地址是否有条目:
$ arp 10.35.1.19
输出示例
10.35.1.19 (10.35.1.19) -- no entry
- 为您的网络环境保留两个静态 IP 地址。
- 记录这些 IP 地址以备将来参考。
为 OpenShift Container Platform REST API 创建 DNS 条目,并使用以下格式应用域名:
api.<cluster-name>.<base-domain> <ip-address> 1 *.apps.<cluster-name>.<base-domain> <ip-address> 2
例如:
api.my-cluster.virtlab.example.com 10.35.1.19 *.apps.my-cluster.virtlab.example.com 10.35.1.20
22.2.6. 以不安全的模式在 RHV 上安装 OpenShift Container Platform
默认情况下,安装程序会创建一个 CA 证书,提示您确认并保存在安装过程中要使用的证书。您不需要手动创建或安装。
虽然不建议您这样做,但您可以覆盖此功能并在不验证证书的情况下安装 OpenShift Container Platform,方法是以 不安全的 模式在 RHV 上安装 OpenShift Container Platform。
不 建议使用不安全 模式安装,因为它可让潜在的攻击者执行 Man-in-the-Middle 攻击并在网络中捕获敏感凭证。
流程
-
创建名为
~/.ovirt/ovirt-config.yaml
的文件。 在
ovirt-config.yaml
中添加以下内容:ovirt_url: https://ovirt.example.com/ovirt-engine/api 1 ovirt_fqdn: ovirt.example.com 2 ovirt_pem_url: "" ovirt_username: ocpadmin@internal ovirt_password: super-secret-password 3 ovirt_insecure: true
- 运行安装程序。
22.2.7. 为集群节点 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 公钥。
不要在生产环境中跳过这个过程,在生产环境中需要灾难恢复和调试。
流程
如果您在本地计算机上没有可用于在集群节点上进行身份验证的现有 SSH 密钥对,请创建一个。例如,在使用 Linux 操作系统的计算机上运行以下命令:
$ ssh-keygen -t ed25519 -N '' -f <path>/<file_name> 1
- 1
- 指定新 SSH 密钥的路径和文件名,如
~/.ssh/id_ed25519
。如果您已有密钥对,请确保您的公钥位于~/.ssh
目录中。
注意如果您计划在
x86_64
、ppc64le
和s390x
架构上安装使用 FIPS 验证或 Modules In Process 加密库的 OpenShift Container Platform 集群。请不要创建使用ed25519
算法的密钥。相反,创建一个使用rsa
或ecdsa
算法的密钥。查看公共 SSH 密钥:
$ cat <path>/<file_name>.pub
例如,运行以下命令来查看
~/.ssh/id_ed25519.pub
公钥:$ cat ~/.ssh/id_ed25519.pub
将 SSH 私钥身份添加到本地用户的 SSH 代理(如果尚未添加)。在集群节点上,或者要使用
./openshift-install gather
命令,需要对该密钥进行 SSH 代理管理,才能在集群节点上进行免密码 SSH 身份验证。注意在某些发行版中,自动管理默认 SSH 私钥身份,如
~/.ssh/id_rsa
和~/.ssh/id_dsa
。如果
ssh-agent
进程尚未为您的本地用户运行,请将其作为后台任务启动:$ eval "$(ssh-agent -s)"
输出示例
Agent pid 31874
注意如果集群处于 FIPS 模式,则只使用 FIPS 兼容算法来生成 SSH 密钥。密钥必须是 RSA 或 ECDSA。
将 SSH 私钥添加到
ssh-agent
:$ ssh-add <path>/<file_name> 1
- 1
- 指定 SSH 私钥的路径和文件名,如
~/.ssh/id_ed25519.pub
输出示例
Identity added: /home/<you>/<path>/<file_name> (<computer_name>)
后续步骤
- 安装 OpenShift Container Platform 时,为安装程序提供 SSH 公钥。
22.2.8. 获取安装程序
在安装 OpenShift Container Platform 前,将安装文件下载到您用于安装的主机上。
先决条件
- 您有一台运行 Linux 或 macOS 的计算机,本地磁盘空间为 500 MB。
流程
- 访问 OpenShift Cluster Manager 站点的 Infrastructure Provider 页面。如果您有红帽帐户,请使用您的凭证登录。如果没有,请创建一个帐户。
- 选择您的基础架构供应商。
进入到安装类型的页面,下载与您的主机操作系统和架构对应的安装程序,并将该文件放在您要存储安装配置文件的目录中。
重要安装程序会在用来安装集群的计算机上创建几个文件。在完成集群安装后,您必须保留安装程序和安装程序所创建的文件。这两个文件都需要删除集群。
重要删除安装程序创建的文件不会删除您的集群,即使集群在安装过程中失败也是如此。要删除集群,请为特定云供应商完成 OpenShift Container Platform 卸载流程。
提取安装程序。例如,在使用 Linux 操作系统的计算机上运行以下命令:
$ tar -xvf openshift-install-linux.tar.gz
- 从 Red Hat OpenShift Cluster Manager 下载安装 pull secret。此 pull secret 允许您与所含授权机构提供的服务进行身份验证,这些服务包括为 OpenShift Container Platform 组件提供容器镜像的 Quay.io。
22.2.9. 部署集群
您可以在兼容云平台上安装 OpenShift Container Platform。
在初始安装过程中,您只能运行安装程序的 create cluster
命令一次。
先决条件
-
从运行安装程序的机器中打开
ovirt-imageio
端口到 Manager。默认情况下,端口为54322
。 - 获取 OpenShift Container Platform 安装程序和集群的 pull secret。
- 验证主机上的云供应商帐户是否有部署集群的正确权限。权限不正确的帐户会导致安装过程失败,并显示包括缺失权限的错误消息。
流程
进入包含安装程序的目录并初始化集群部署:
$ ./openshift-install create cluster --dir <installation_directory> \ 1 --log-level=info 2
在指定目录时:
-
验证该目录是否具有
执行
权限。在安装目录中运行 Terraform 二进制文件需要这个权限。 - 使用空目录。有些安装资产,如 bootstrap X.509 证书的过期间隔较短,因此不得重复使用安装目录。如果要重复使用另一个集群安装中的单个文件,您可以将它们复制到您的目录中。但是,安装资产的文件名可能会在发行版本间有所变化。从以前的 OpenShift Container Platform 版本中复制安装文件时请小心。
-
验证该目录是否具有
根据安装程序提示。
可选:对于
SSH 公钥
,请选择无密码公钥,如~/.ssh/id_rsa.pub
。此密钥验证与新 OpenShift Container Platform 集群的连接。注意对于您要在其上执行安装调试或灾难恢复的生产环境 OpenShift Container Platform 集群,请选择
ssh-agent
进程使用的 SSH 密钥。-
对于
Platform
,选择ovirt
。 对于
Engine FQDN[:PORT]
,请输入 RHV 环境的完全限定域名(FQDN)。例如:
rhv-env.virtlab.example.com:443
-
安装程序自动生成 CA 证书。对于
您想要使用上述证书连接到管理器吗?
,回答y 或
N
。如果回答N
,则必须以不安全的模式安装 OpenShift Container Platform。 对于
Engine username
,请使用以下格式输入 RHV 管理员的用户名和配置文件:<username>@<profile> 1
- 1
- 对于
<username>
,请指定 RHV 管理员的用户名。对于<profile>,
请指定登录配置集,您可以进入 RHV 管理门户登录页面并查看 Profile 下拉列表。例如:admin@internal
。
-
对于
Engine 密码
,请输入 RHV admin 密码。 -
对于
Cluster
,请选择用于安装 OpenShift Container Platform 的 RHV 集群。 -
对于
Storage domain
,请选择安装 OpenShift Container Platform 的存储域。 -
对于
Network
,请选择可访问 RHV Manager REST API 的虚拟网络。 -
对于
Internal API Virtual IP
,请为集群的 REST API 输入您设置的静态 IP 地址。 -
对于
Ingress 虚拟 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 的副本。
注意如果您在主机上配置的云供应商帐户没有足够的权限来部署集群,安装过程将停止,并显示缺少的权限。
验证
当集群部署成功完成时:
-
终端会显示用于访问集群的说明,包括指向 Web 控制台和
kubeadmin
用户的凭证的链接。 -
凭证信息还会输出到
<installation_directory>/.openshift_install.log
.
不要删除安装程序或安装程序所创建的文件。需要这两者才能删除集群。
输出示例
... INFO Install complete! INFO To access the cluster as the system:admin user when using 'oc', run 'export KUBECONFIG=/home/myuser/install_dir/auth/kubeconfig' INFO Access the OpenShift web-console here: https://console-openshift-console.apps.mycluster.example.com INFO Login to the console with user: "kubeadmin", and password: "password" INFO Time elapsed: 36m22s
-
安装程序生成的 Ignition 配置文件包含在 24 小时后过期的证书,然后在过期时进行续订。如果在更新证书前关闭集群,且集群在 24 小时后重启,集群会自动恢复过期的证书。一个例外是,您必须手动批准待处理的
node-bootstrapper
证书签名请求(CSR)来恢复 kubelet 证书。如需更多信息,请参阅从过期的 control plane 证书 中恢复的文档。 - 建议您在 Ignition 配置文件生成后的 12 小时内使用它们,因为 24 小时的证书会在集群安装后的 16 小时到 22 小时间进行轮转。通过在 12 小时内使用 Ignition 配置文件,您可以避免在安装过程中因为执行了证书更新而导致安装失败的问题。
您已完成了安装集群所需的步骤。剩余的步骤演示了如何验证集群并对安装进行故障排除。
22.2.10. 通过下载二进制文件安装 OpenShift CLI
您可以安装 OpenShift CLI(oc
)来使用命令行界面与 OpenShift Container Platform 进行交互。您可以在 Linux、Windows 或 macOS 上安装 oc
。
如果安装了旧版本的 oc
,则无法使用 OpenShift Container Platform 4.12 中的所有命令。下载并安装新版本的 oc
。
在 Linux 上安装 OpenShift CLI
您可以按照以下流程在 Linux 上安装 OpenShift CLI(oc
)二进制文件。
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 产品变体 下拉列表中选择架构。
- 从 版本 下拉列表中选择适当的版本。
- 点 OpenShift v4.12 Linux Client 条目旁的 Download Now 来保存文件。
解包存档:
$ tar xvf <file>
将
oc
二进制文件放到PATH 中的目录中
。要查看您的
PATH
,请执行以下命令:$ echo $PATH
验证
安装 OpenShift CLI 后,可以使用
oc
命令:$ oc <command>
在 Windows 上安装 OpenShift CLI
您可以按照以下流程在 Windows 上安装 OpenShift CLI(oc
)二进制文件。
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 版本 下拉列表中选择适当的版本。
- 点 OpenShift v4.12 Windows Client 条目旁的 Download Now 来保存文件。
- 使用 ZIP 程序解压存档。
将
oc
二进制文件移到PATH 中的目录中
。要查看您的
PATH
,请打开命令提示并执行以下命令:C:\> path
验证
安装 OpenShift CLI 后,可以使用
oc
命令:C:\> oc <command>
在 macOS 上安装 OpenShift CLI
您可以按照以下流程在 macOS 上安装 OpenShift CLI(oc
)二进制文件。
流程
- 导航到红帽客户门户网站上的 OpenShift Container Platform 下载页面。
- 从 版本 下拉列表中选择适当的版本。
点 OpenShift v4.12 macOS Client 条目旁的 Download Now 来保存文件。
注意对于 macOS arm64,请选择 OpenShift v4.12 macOS arm64 Client 条目。
- 解包和解压存档。
将
oc
二进制文件移到 PATH 的目录中。要查看您的
PATH
,请打开终端并执行以下命令:$ echo $PATH
验证
安装 OpenShift CLI 后,可以使用
oc
命令:$ oc <command>
如需更多信息,请参阅 OpenShift CLI 入门。
22.2.11. 使用 CLI 登录集群
您可以通过导出集群 kubeconfig
文件,以默认系统用户身份登录集群。kubeconfig
文件包含有关集群的信息,供 CLI 用于将客户端连接到正确的集群和 API 服务器。该文件特定于集群,在 OpenShift Container Platform 安装过程中创建。
先决条件
- 已部署 OpenShift Container Platform 集群。
-
已安装
oc
CLI。
流程
导出
kubeadmin
凭证:$ export KUBECONFIG=<installation_directory>/auth/kubeconfig 1
- 1
- 对于
<installation_directory>
,请指定安装文件保存到的目录的路径。
验证您可以使用导出的配置成功运行
oc
命令:$ oc whoami
输出示例
system:admin
其他资源
- 如需有关 访问和了解 OpenShift Container Platform Web 控制台的更多详情,请参阅 访问 Web 控制台。
22.2.12. 验证集群状态
您可以在安装过程中或安装后验证 OpenShift Container Platform 集群的状态。
流程
在集群环境中,导出管理员的 kubeconfig 文件:
$ export KUBECONFIG=<installation_directory>/auth/kubeconfig 1
- 1
- 对于
<installation_directory>
,请指定安装文件保存到的目录的路径。
kubeconfig
文件包含有关集群的信息,供 CLI 用于将客户端连接到正确的集群和 API 服务器。查看部署后创建的 control plane 和计算机器:
$ oc get nodes
查看集群的版本:
$ oc get clusterversion
查看 Operator 的状态:
$ oc get clusteroperator
查看集群中的所有正在运行的 pod:
$ oc get pods -A
故障排除
如果安装失败,安装程序会超时并显示错误消息。如需更多信息,请参阅 故障排除安装问题。
22.2.13. 访问 RHV 上的 OpenShift Container Platform Web 控制台
OpenShift Container Platform 集群初始化后,您可以登录到 OpenShift Container Platform Web 控制台。
流程
-
可选: 在 Red Hat Virtualization(RHV)管理门户中,打开 Compute
Cluster。 - 验证安装程序是否创建了虚拟机。
- 返回到安装程序正在运行的命令行。安装程序完成后,它会显示登录 OpenShift Container Platform Web 控制台的用户名和临时密码。
在一个浏览器中,打开 OpenShift Container Platform Web 控制台的 URL。URL 使用以下格式:
console-openshift-console.apps.<clustername>.<basedomain> 1
- 1
- 对于
<clustername>.<basedomain>
,请指定集群名称和基域。
例如:
console-openshift-console.apps.my-cluster.virtlab.example.com
22.2.14. OpenShift Container Platform 的 Telemetry 访问
在 OpenShift Container Platform 4.12 中,默认运行的 Telemetry 服务提供有关集群健康状况和成功更新的指标,需要访问互联网。如果您的集群连接到互联网,Telemetry 会自动运行,并且集群会注册到 OpenShift Cluster Manager Hybrid Cloud Console。
确认 OpenShift Cluster Manager Hybrid Cloud Console 清单正确后,可以由 Telemetry 自动维护,也可以使用 OpenShift Cluster Manager 手动维护,使用订阅监控来跟踪帐户或多集群级别的 OpenShift Container Platform 订阅。
其他资源
- 有关 Telemetry 服务的更多信息,请参阅关于 远程健康监控
22.2.15. 在 Red Hat Virtualization(RHV)上安装时的常见问题
以下是您可能遇到的一些常见问题,以及推荐的原因和解决方案。
22.2.15.1. CPU 负载增加和节点进入非 就绪
状态
-
症状:CPU 负载显著增加,节点开始处于非
Ready 状态
。 - 原因 :存储域延迟可能太大,特别是 control plane 节点。
解决方案 :
通过重启 kubelet 服务使节点再次就绪:
$ systemctl restart kubelet
检查 OpenShift Container Platform 指标服务,该服务会自动收集并报告一些有价值的数据,如 etcd 磁盘同步持续时间。如果集群是可操作的,请使用这些数据来帮助确定存储延迟或吞吐量是否为根本问题。如果是这样,请考虑使用一个较低延迟和更高吞吐量的存储资源。
要获取原始指标,请以 kubeadmin 或具有 cluster-admin 权限的用户身份输入以下命令:
$ oc get --insecure-skip-tls-verify --server=https://localhost:<port> --raw=/metrics
如需更多信息,请参阅 使用 OpenShift 4.x 调试应用程序端点。
22.2.15.2. 连接 OpenShift Container Platform 集群 API 存在问题
症状 :安装程序完成,但无法使用 OpenShift Container Platform 集群 API。bootstrap 虚拟机在 bootstrap 过程完成后仍然会保留。当您输入以下命令时,响应会超时。
$ oc login -u kubeadmin -p *** <apiurl>
- 原因 : 安装程序没有删除 bootstrap 虚拟机,且没有释放集群的 API IP 地址。
解决方案 :
使用 wait-for
子命令在 bootstrap 过程完成后获得通知:$ ./openshift-install wait-for bootstrap-complete
bootstrap 过程完成后,删除 bootstrap 虚拟机:
$ ./openshift-install destroy bootstrap
22.2.16. 安装后的任务
OpenShift Container Platform 集群初始化后,您可以执行以下任务。
- 可选:部署后,使用 OpenShift Container Platform 中的 Machine Config Operator(MCO)添加或替换 SSH 密钥。
-
可选:删除
kubeadmin
用户。取而代之,使用身份验证提供程序来创建具有 cluster-admin 特权的用户。