14.3. 使用基于代理的安装程序安装 OpenShift Container Platform 集群
14.3.1. 先决条件 复制链接链接已复制到粘贴板!
- 您可以参阅有关 OpenShift Container Platform 安装和更新 流程的详细信息。
- 您可以阅读选择集群安装方法并为用户准备它的文档。
- 如果使用防火墙或代理,将其配置为允许集群需要访问的站点。
14.3.2. 使用基于代理的安装程序安装 OpenShift Container Platform 复制链接链接已复制到粘贴板!
以下流程在断开连接的环境中部署单节点 OpenShift Container Platform。您可以使用此流程作为基础,并根据您的要求进行修改。
流程
- 使用您的登录凭证登录到 OpenShift Container Platform web 控制台。
进入到 Datacenter。
- 在本地点 Run Agent-based Installer。您会进入 Install OpenShift Container Platform on Bare Metal locally with Agent 页。
可选: 另外,您还可以在 Select an OpenShift Container Platform cluster type to create 页中点 Bare Metal (x86_64)。您会被定向到 Create a OpenShift Container Platform Cluster: Bare Metal 页面。然后,选择 Local Agent-based 进入 Install OpenShift Container Platform on Bare Metal locally with Agent 页。
- 选择操作系统和架构。
- 点 Download Installer 下载并提取安装程序。
- 您可以通过点 Download pull secret 或 Copy pull secret 下载或复制 pull secret。
-
点 Download command-line tools,将
openshift-install
二进制文件放在PATH
中的目录中。 运行以下命令来安装
nmstate
依赖项:sudo dnf install /usr/bin/nmstatectl -y
$ sudo dnf install /usr/bin/nmstatectl -y
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
openshift-install
二进制文件放到 PATH 中的目录中。 运行以下命令,创建一个目录来存储安装配置:
mkdir ~/<directory_name>
$ mkdir ~/<directory_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意这是基于代理的安装的首选方法。使用 ZTP 清单是可选的。
创建
install-config.yaml
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果将平台设置为
vSphere
或baremetal
,您可以使用三种方式为集群节点配置 IP 地址端点:- IPv4
- IPv6
- IPv4 和 IPv6 并行 (dual-stack)
双栈网络示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IPv6 仅在裸机平台上被支持。
创建
agent-config.yaml
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 此 IP 地址用于确定哪些节点执行 bootstrap 过程,以及运行
assisted-service
组件。当您没有在networkConfig
参数中指定至少一个主机的 IP 地址时,您必须提供 rendezvous IP 地址。如果没有提供此地址,则会从提供的主机的networkConfig
中选择一个 IP 地址。 - 2
- 主机配置是可选的。定义的主机数量不能超过
install-config.yaml
文件中定义的主机总数,这是compute.replicas
和controlPlane.replicas
参数的值的总和。 - 3
- 可选
hostname
参数覆盖从动态主机配置协议 (DHCP) 或反向 DNS 查找中获取的主机名。每个主机必须具有由这些方法提供的唯一主机名。 - 4
rootDeviceHints
参数启用将 Red Hat Enterprise Linux CoreOS (RHCOS) 镜像置备到特定设备。它会按照发现设备的顺序检查设备,并将发现的值与 hint 值进行比较。它使用第一个与 hint 值匹配的发现设备。- 5
- 设置此可选参数,以 NMState 格式配置主机的网络接口。
运行以下命令来创建代理镜像:
openshift-install --dir <install_directory> agent create image
$ openshift-install --dir <install_directory> agent create image
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意Red Hat Enterprise Linux CoreOS (RHCOS) 支持主磁盘上的多路径,允许对硬件故障进行更强大的弹性,以实现更高的主机可用性。在代理 ISO 镜像中默认启用多路径,默认
/etc/multipath.conf
配置。-
在裸机上引导
agent.x86_64.iso
镜像。 可选: 要了解 bootstrap 主机(这是 rendezvous 主机)重启时,请运行以下命令:
./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \ --log-level=info
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \
1 --log-level=info
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当 Kubernetes API 服务器提示已在 control plane 机器上引导它时,该命令会成功。
要跟踪进度并验证安装正常,请运行以下命令:
openshift-install --dir <install_directory> agent wait-for install-complete
$ openshift-install --dir <install_directory> agent wait-for install-complete
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于
<install_directory>
目录,请指定到生成代理 ISO 的目录的路径。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果使用可选的 ZTP 清单方法,您可以以三种方式通过 AgentClusterInstall.yaml
文件为集群节点配置 IP 地址端点:
- IPv4
- IPv6
- IPv4 和 IPv6 并行 (dual-stack)
双栈网络示例
IPv6 仅在裸机平台上被支持。
14.3.3. 从基于代理的安装收集日志数据 复制链接链接已复制到粘贴板!
使用以下步骤收集有关基于代理的安装失败的日志数据,以便为支持问题单提供。
流程
运行以下命令并收集输出:
./openshift-install --dir <install_directory> agent wait-for bootstrap-complete --log-level=debug
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete --log-level=debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 错误信息示例
... ERROR Bootstrap failed to complete: : bootstrap process timed out: context deadline exceeded
... ERROR Bootstrap failed to complete: : bootstrap process timed out: context deadline exceeded
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果上一命令的输出显示失败,或者 bootstrap 没有进行,请在节点 0 上运行以下命令并收集输出:
ssh core@<node-ip> sudo /usr/local/bin/agent-gather -O > <local_tmp_path>/agent-gather.tar.xz
$ ssh core@<node-ip> sudo /usr/local/bin/agent-gather -O > <local_tmp_path>/agent-gather.tar.xz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意您只需要从节点 0 收集数据,但从每个节点收集数据会很有用。
如果 bootstrap 完成且集群节点重启,请运行以下命令并收集输出:
./openshift-install --dir <install_directory> agent wait-for install-complete --log-level=debug
$ ./openshift-install --dir <install_directory> agent wait-for install-complete --log-level=debug
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果上一命令的输出显示失败,请执行以下步骤:
运行以下命令,将
kubeconfig
文件导出到您的环境:export KUBECONFIG=<install_directory>/auth/kubeconfig
$ export KUBECONFIG=<install_directory>/auth/kubeconfig
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要收集用于调试的信息,请运行以下命令:
oc adm must-gather
$ oc adm must-gather
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,从工作目录中刚刚创建的
must-gather
目录创建一个压缩文件:tar cvaf must-gather.tar.gz <must_gather_directory>
$ tar cvaf must-gather.tar.gz <must_gather_directory>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
排除
/auth
子目录,将部署期间使用的安装目录附加到 红帽客户门户网站上的 支持问题单中。 - 将从此流程收集的所有其他数据添加到您的支持问题单中。
14.3.4. ZTP 自定义资源示例 复制链接链接已复制到粘贴板!
可选: 您可以使用 Zero touch provisioning (ZTP) 自定义资源 (CR) 对象来使用基于代理的安装程序安装 OpenShift Container Platform 集群。
您可以自定义以下 ZTP 自定义资源,以指定有关 OpenShift Container Platform 集群的更多详情。以下 ZTP 自定义资源示例是单节点集群。
agent-cluster-install.yaml
cluster-deployment.yaml
cluster-image-set.yaml
infra-env.yaml
nmstateconfig.yaml
pull-secret.yaml