2.3. 创建用于在 OCI 上安装集群的配置文件
您需要创建 install-config.yaml
和 agent-config.yaml
配置文件,以便您可以使用基于 Agent 的安装程序来生成可引导 ISO 镜像。基于代理的安装包含一个可引导 ISO,它带有辅助发现代理和辅助服务。这两个组件都需要执行集群安装,但后者的组件仅在其中一个主机上运行。
在以后的阶段,您必须按照 Oracle 文档中的步骤将生成的代理 ISO 镜像上传到 Oracle 的默认对象存储存储桶,这是在 Oracle® Cloud Infrastructure (OCI)上集成 OpenShift Container Platform 集群的初始步骤。
您还可以使用基于代理的安装程序来生成或接受 Zero Touch Provisioning (ZTP)自定义资源。
先决条件
- 您可以参阅有关 OpenShift Container Platform 安装和更新流程的详细信息。
- 您可以阅读有关选择集群安装方法的文档,并为用户准备相关的环境。
- 您已阅读了"准备基于代理的安装程序"文档。
- 您已从 Red Hat Hybrid Cloud Console 下载了基于代理的安装程序和命令行界面 (CLI)。
- 已使用管理员权限登录到 OpenShift Container Platform。
流程
对于断开连接的环境,将 Red Hat OpenShift 的镜像 registry 镜像到本地容器镜像 registry。
重要检查您的
openshift-install
二进制版本是否与本地镜像容器 registry 相关,而不是共享的 registry,如 Red Hat Quay。$ ./openshift-install version
共享 registry 二进制文件的输出示例
./openshift-install 4.15.0 built from commit ae7977b7d1ca908674a0d45c5c243c766fa4b2ca release image registry.ci.openshift.org/origin/release:4.15ocp-release@sha256:0da6316466d60a3a4535d5fed3589feb0391989982fba59d47d4c729912d6363 release architecture amd64
配置
install-config.yaml
配置文件以满足您的机构需求。演示设置外部平台的
install-config.yaml
配置文件示例# install-config.yaml apiVersion: v1 baseDomain: <base_domain> 1 networking: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 network type: OVNKubernetes machineNetwork: - cidr: <ip_address_from_cidr> 2 serviceNetwork: - 172.30.0.0/16 compute: - architecture: amd64 3 hyperthreading: Enabled name: worker replicas: 0 controlPlane: architecture: amd64 4 hyperthreading: Enabled name: master replicas: 3 platform: external: platformName: oci 5 cloudControllerManager: External sshKey: <public_ssh_key> 6 pullSecret: '<pull_secret>' 7 # ...
- 1
- 云供应商的基域。
- 2
- CIDR 分配给网络上操作的资源和组件的虚拟网络 (VCN) 的 IP 地址。
- 3 4
- 根据您的基础架构,您可以选择
x86_64
或amd64
。 - 5
- 将
OCI
设置为外部平台,以便 OpenShift Container Platform 能够与 OCI 集成。 - 6
- 指定 SSH 公钥。
- 7
- 为 OpenShift Container Platform 组件和服务(如 Quay.io)下载容器镜像时,您需要验证目的的 pull secret。请参阅 通过 Red Hat Hybrid Cloud Console 安装 OpenShift Container Platform 4。
在本地系统上创建一个名为
openshift
的目录。重要不要将
install-config.yaml
和agent-config.yaml
配置文件移到openshift
目录中。-
完成 Oracle 文档的 "配置文件" 部分中的步骤,以下载 Oracle Cloud Controller Manager (CCM)和 Oracle Container Storage Interface (CSI)清单作为归档文件,并将存档文件保存到
openshift
目录中。您需要 Oracle CCM 清单以在集群安装过程中部署 Oracle CCM,以便 OpenShift Container Platform 可以连接到外部 OCI 平台。在集群安装过程中部署 Oracle CSI 驱动程序需要 Oracle CSI 自定义清单,以便 OpenShift Container Platform 可以从 OCI 声明所需的对象。 访问 Oracle 文档的" 配置文件" 部分中提供的自定义清单文件。
-
更改
oci-cloud-controller-manager
secret,该 secret 在oci-ccm.yml
配置文件中定义,以匹配您的机构的区域、比较 OCID、VCN OCID 和子网 OCID。
-
更改
在 OpenShift Container Platform CLI 中输入以下命令来,使用基于 Agent 的安装程序来生成最小 ISO 镜像(不包括 rootfs 镜像)。您可以在稍后使用此镜像引导所有集群节点。
$ ./openshift-install agent create image --log-level debug
该命令还会完成以下操作:
-
创建子目录
./<installation_directory>/auth directory:
:将kubeadmin-password
和kubeconfig
文件放在 子目录中。 -
根据您在
agent-config.yaml
配置文件中指定的 IP 地址,创建一个rendezvousIP
文件。 可选:您对
agent-config.yaml
和install-config.yaml
配置文件所做的任何修改都会导入到 Zero Touch Provisioning (ZTP)自定义资源。重要基于代理的安装程序使用 Red Hat Enterprise Linux CoreOS (RHCOS)。启动、恢复和修复您的操作系统需要在后续列出的项中提到的 rootfs 镜像。
-
创建子目录
配置
agent-config.yaml
配置文件,以满足您的机构要求。为 IPv4 格式的网络设置值的
agent-config.yaml
配置文件示例。apiVersion: v1alpha1 metadata: name: <cluster_name> 1 namespace: <cluster_namespace> 2 rendezvousIP: <ip_address_from_CIDR> 3 bootArtifactsBaseURL: <server_URL> 4 # ...
对
agent-config.yaml
配置文件应用以下两个更新之一:对于断开连接的网络: 运行该命令以生成最小 ISO 镜像后,基于代理的安装程序会将 rootfs 镜像保存到本地系统的
./<installation_directory>/boot-artifacts
目录中。使用您首选的 Web 服务器,如任何 Hypertext 传输协议守护进程(httpd
),将 rootfs 上传到agent-config.yaml
配置文件中的bootArtifactsBaseURL
参数中声明的位置。例如,如果
bootArtifactsBaseURL
参数状态http://192.168.122.20
,您可以将生成的 rootfs 镜像上传到此位置,以便基于代理的安装程序可以从http://192.168.122.20/agent.x86_64-rootfs.img
访问镜像。在基于代理的安装程序为外部平台引导最小 ISO 后,基于代理的安装程序将 rootfs 镜像从http://192.168.122.20/agent.x86_64-rootfs.img
位置下载到系统内存中。注意基于代理的安装程序还将
bootArtifactsBaseURL
的值添加到最小 ISO 镜像的配置中,以便在 Operator 引导集群节点时,基于代理的安装程序会将 rootfs 镜像下载到系统内存中。对于连接的网络: 您不需要在
agent-config.yaml
配置文件中指定bootArtifactsBaseURL
参数。基于代理的安装程序的默认行为从https://rhcos.mirror.openshift.com
读取 rootfs URL 位置。在基于代理的安装程序为外部平台引导最小 ISO 后,基于代理的安装程序,然后从默认的 RHCOS URL 将 rootfs 文件下载到您的系统内存中。重要考虑超过
1
GB 的完整 ISO 镜像包括 rootfs 镜像。镜像大于最小 ISO 镜像,该镜像通常小于150
MB。