3.2. 使用基于代理的安装程序安装 OpenShift Container Platform
以下流程在断开连接的环境中部署单节点 OpenShift Container Platform。您可以使用这些步骤作为基础,并根据您的要求进行修改。
3.2.1. 下载基于代理的安装程序
使用这个流程下载安装所需的基于代理的安装程序和 CLI。
目前,IBM Z® (s390x
) 架构不支持下载基于代理的安装程序。推荐的方法是创建 PXE 资产。
流程
- 使用您的登录凭证登录到 OpenShift Container Platform web 控制台。
- 进入到 Datacenter。
- 在本地点 Run Agent-based Installer。
- 为 OpenShift Installer 和命令行界面选择操作系统和架构。
- 点 Download Installer 下载并提取安装程序。
- 通过点 Download pull secret 或 Copy pull secret 下载或复制 pull secret。
-
点 Download command-line tools,将
openshift-install
二进制文件放在PATH
中的目录中。
3.2.2. 创建配置输入
您必须创建安装程序用来创建代理镜像的配置文件。
流程
-
将
openshift-install
二进制文件放到 PATH 中的目录中。 运行以下命令,创建一个目录来存储安装配置:
$ mkdir ~/<directory_name>
运行以下命令来创建
install-config.yaml
文件:$ cat << EOF > ./my-cluster/install-config.yaml apiVersion: v1 baseDomain: test.example.com compute: - architecture: amd64 1 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 hyperthreading: Enabled name: master replicas: 1 metadata: name: sno-cluster 2 networking: clusterNetwork: - cidr: fd01::/48 hostPrefix: 64 machineNetwork: - cidr: fd2e:6f44:5dd8:c956::/120 networkType: OVNKubernetes 3 serviceNetwork: - fd02::/112 platform: 4 none: {} pullSecret: '<pull_secret>' 5 sshKey: '<ssh_pub_key>' 6 additionalTrustBundle: | 7 -----BEGIN CERTIFICATE----- ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ -----END CERTIFICATE----- imageContentSources: 8 - mirrors: - <local_registry>/<local_repository_name>/release source: quay.io/openshift-release-dev/ocp-release - mirrors: - <local_registry>/<local_repository_name>/release source: quay.io/openshift-release-dev/ocp-v4.0-art-dev EOF
- 1
- 指定系统架构。有效值为
amd64
,arm64
,ppc64le
, 和s390x
。如果使用带有
multi
有效负载的发行镜像,则可以在不同的架构上安装集群,如arm64
,amd64
,s390x
, 和ppc64le
。否则,您只能在openshift-install version
命令的输出中所显示的发行构架
上安装集群。如需更多信息,请参阅"验证安装基于代理的安装程序集群的受支持架构"。 - 2
- 必需。指定集群名称。
- 3
- 要安装的集群网络插件。默认值
OVNKubernetes
是唯一支持的值。 - 4
- 指定您的平台。注意
对于裸机平台,默认使用
install-config.yaml
文件的 platform 部分中进行的主机设置,除非它们被agent-config.yaml
文件中的配置覆盖。 - 5
- 指定 pull secret。
- 6
- 指定 SSH 公钥。
- 7
- 提供用于镜像 registry 的证书文件内容。证书文件可以是现有的可信证书颁发机构,也可以是您为镜像 registry 生成的自签名证书。如果使用断开连接的镜像 registry,则必须指定此参数。
- 8
- 根据您用来镜像存储库的命令输出提供
imageContentSources
部分。如果使用断开连接的镜像 registry,则必须指定此参数。重要-
使用
oc adm release mirror
命令时,请使用imageContentSources
部分中的输出。 -
使用
oc mirror
命令时,请使用ImageContentSourcePolicy
文件的repositoryDigestMirrors
部分,该文件源自运行命令。 -
ImageContentSourcePolicy
资源已弃用。
-
使用
运行以下命令来创建
agent-config.yaml
文件:$ cat > agent-config.yaml << EOF apiVersion: v1beta1 kind: AgentConfig metadata: name: sno-cluster rendezvousIP: fd2e:6f44:5dd8:c956::50 1 EOF
- 1
- 此 IP 地址用于确定哪些节点执行 bootstrap 过程,以及运行
assisted-service
组件。当您没有在networkConfig
参数中指定至少一个主机 IP 地址时,您必须提供 rendezvous IP 地址。如果没有提供这个地址,则会从提供的主机networkConfig
参数中选择一个 IP 地址。
3.2.3. 创建并引导代理镜像
使用这个流程在机器上引导代理镜像。
流程
运行以下命令来创建代理镜像:
$ openshift-install --dir <install_directory> agent create image
注意Red Hat Enterprise Linux CoreOS (RHCOS) 支持主磁盘上的多路径,允许对硬件故障进行更强大的弹性,以实现更高的主机可用性。在代理 ISO 镜像中默认启用多路径,默认
/etc/multipath.conf
配置。-
在裸机机器上引导
agent.x86_64.iso
或agent.aarch64.iso
镜像。
3.2.4. 验证当前安装主机是否可以拉取发行镜像
引导代理镜像和网络服务可用于主机后,代理控制台应用会执行拉取检查,以验证当前主机是否可以检索发行镜像。
如果主拉取检查通过,您可以退出应用程序以继续安装。如果拉取检查失败,应用程序会执行额外的检查,如 TUI 的额外检查
部分中所示,以帮助您对问题进行故障排除。只要主拉取检查成功,则对任何其他检查失败不一定至关重要。
如果有可能导致安装失败的主机网络配置问题,您可以使用控制台应用程序调整网络配置。
如果代理控制台应用程序检测到主机网络配置问题,则安装工作流将停止,直到用户手动停止控制台应用程序并信号继续操作。
流程
- 等待代理控制台应用程序检查是否可以从 registry 中拉取配置的发行镜像。
如果代理控制台应用程序指出安装程序连接检查已通过,请等待提示符超时。
注意您仍然可以选择查看或更改网络配置设置,即使连接检查已通过了。
但是,如果您选择与代理控制台应用程序交互,而不是让其超时,您必须手动退出 TUI 才能继续安装。
如果代理控制台应用程序检查失败(由
发行镜像 URL
pull 检查旁的红色图标表示),请按照以下步骤重新配置主机的网络设置:阅读 TUI 的
检查错误
部分。本节显示特定于失败检查的错误消息。- 选择 Configure network 以启动 NetworkManager TUI。
- 选择 Edit a connection 并选择您要重新配置的连接。
- 编辑配置并选择 OK 保存您的更改。
- 选择 Back 返回到 NetworkManager TUI 的主屏幕。
- 选择 Activate a Connection。
- 选择重新配置的网络来取消激活它。
- 再次选择重新配置的网络来重新激活它。
- 选择 Back,然后选择 Quit 以返回到代理控制台应用程序。
- 至少等待五秒,以便持续网络检查使用新的网络配置重新启动。
-
如果
Release image URL
pull 检查成功,并显示 URL 旁边的绿色图标,请选择 Quit 退出代理控制台应用程序并继续安装。
3.2.5. 跟踪并验证安装进度
使用以下步骤跟踪安装进度并验证安装是否成功。
先决条件
- 您已为 Kubernetes API 服务器配置了 DNS 记录。
流程
可选: 要了解 bootstrap 主机(渲染主机)何时重启,请运行以下命令:
$ ./openshift-install --dir <install_directory> agent wait-for bootstrap-complete \1 --log-level=info 2
输出示例
................................................................... ................................................................... INFO Bootstrap configMap status is complete INFO cluster bootstrap is complete
当 Kubernetes API 服务器提示已在 control plane 机器上引导它时,该命令会成功。
要跟踪进度并验证安装是否成功,请运行以下命令:
$ openshift-install --dir <install_directory> agent wait-for install-complete 1
- 1
- 对于
<install_directory>
目录,请指定到生成代理 ISO 的目录的路径。
输出示例
................................................................... ................................................................... INFO Cluster is installed INFO Install complete! INFO To access the cluster as the system:admin user when using 'oc', run INFO export KUBECONFIG=/home/core/installer/auth/kubeconfig INFO Access the OpenShift web-console here: https://console-openshift-console.apps.sno-cluster.test.example.com