第 4 章 Image Based Install Operator
安装 Image Based Install Operator,以便您可以使用与现有安装方法相同的 API 来完成和管理基于镜像的集群安装。
有关以及如何启用 Image Based Install Operator 的更多信息,请参阅 用于单节点 OpenShift 的基于镜像的安装。
4.1. 使用 SiteConfig Operator 安装单节点 OpenShift 集群 复制链接链接已复制到粘贴板!
使用默认安装模板使用 SiteConfig operator 安装集群。使用 Image-Based Install Operator 的安装模板完成此步骤。
需要的访问权限:集群管理员
4.1.1. 先决条件 复制链接链接已复制到粘贴板!
- 如果使用 GitOps ZTP,请配置 GitOps ZTP 环境。要配置环境,请参阅为 GitOps ZTP 准备 hub 集群。
- 您有默认安装模板。要熟悉默认模板,请参阅 默认设置模板
安装和配置您选择的底层操作器。
- 要了解并安装用于单节点 OpenShift 的镜像安装 Operator,请参阅 Image Based Install Operator。
- 要安装 Assisted Installer,请参阅使用 Assisted Installer 安装内部集群。
完成以下步骤,使用 SiteConfig operator 安装集群:
4.1.2. 创建目标命名空间 复制链接链接已复制到粘贴板!
在创建 pull secret、BMC secret、额外清单 ConfigMap 对象和 ClusterInstance 自定义资源时,您需要一个目标命名空间。
完成以下步骤以创建目标命名空间:
为目标命名空间创建 YAML 文件。请参阅以下名为
clusterinstance-namespace.yaml的示例文件:apiVersion: v1 kind: Namespace metadata: name: example-sno
apiVersion: v1 kind: Namespace metadata: name: example-snoCopy to Clipboard Copied! Toggle word wrap Toggle overflow 应用您的文件以创建资源。在 hub 集群中运行以下命令:
oc apply -f clusterinstance-namespace.yaml
oc apply -f clusterinstance-namespace.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.3. 创建 pull secret 复制链接链接已复制到粘贴板!
您需要 pull secret 才能使集群从容器 registry 中拉取镜像。完成以下步骤以创建 pull secret:
创建 YAML 文件以拉取镜像。请参阅以下名为
pull-secret.yaml的文件示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用该文件以创建资源。在 hub 集群中运行以下命令:
oc apply -f pull-secret.yaml
oc apply -f pull-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.4. 创建 BMC secret 复制链接链接已复制到粘贴板!
您需要一个 secret 来连接到基板管理控制器(BMC)。完成以下步骤以创建存储桶。
为 BMC secret 创建 YAML 文件。请参阅以下名为
example-bmc-secret.yaml的示例文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确保
namespace值与目标命名空间匹配。
应用该文件以创建资源。在 hub 集群中运行以下命令:
oc apply -f example-bmc-secret.yaml
oc apply -f example-bmc-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.5. 可选:创建额外的清单 复制链接链接已复制到粘贴板!
您可以创建在 ClusterInstance 自定义资源中引用的额外清单。完成以下步骤以创建额外的清单:
为额外的清单
ConfigMap对象创建 YAML 文件,如enable-crun.yaml:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确保
namespace值与目标命名空间匹配。
在 hub 集群中运行以下命令来创建资源:
oc apply -f enable-crun.yaml
oc apply -f enable-crun.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.6. 渲染安装清单 复制链接链接已复制到粘贴板!
引用 ClusterInstance 自定义资源中的模板和支持清单。完成以下步骤,使用默认集群和节点模板呈现安装清单:
在
example-sno命名空间中,在以下示例中创建名为clusterinstance-ibi.yaml的ClusterInstance自定义资源:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 确保
ClusterInstance自定义资源中的命名空间与您定义的目标命名空间匹配。 - 2
- 可选:如果您想要扩展或缩减单节点 OpenShift 集群,则必须将
spec.clusterType字段设置为"SNO"。 - 3
- 引用一个或多个额外清单
ConfigMap对象的名称。 - 4
- 引用 pull secret
的名称。 - 5
- 确保
ClusterInstance自定义资源中的clusterName字段的值与namespace字段的值匹配。 - 6
- 在
spec.templateRefs字段中引用集群级别模板的名称。如果使用默认安装模板,命名空间必须与安装 Operator 的命名空间匹配。 - 7
- 引用 BMC secret
的名称。 - 8
- 在
spec.nodes.templateRefs字段中引用节点级别模板的名称。如果使用默认安装模板,命名空间必须与安装 Operator 的命名空间匹配。
运行以下命令应用该文件并创建资源:
oc apply -f clusterinstance-ibi.yaml
oc apply -f clusterinstance-ibi.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 创建自定义资源后,SiteConfig operator 开始协调
ClusterInstance自定义资源,然后验证并呈现安装清单。SiteConfig operator 继续监控
ClusterDeployment自定义资源中的更改,以更新相应ClusterInstance自定义资源的集群安装进度。运行以下命令监控进程:
oc get clusterinstance <cluster_name> -n <target_namespace> -o yaml
oc get clusterinstance <cluster_name> -n <target_namespace> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 有关成功生成清单,请参阅
status.conditions部分中的以下示例输出:message: Applied site config manifests reason: Completed status: "True" type: RenderedTemplatesApplied
message: Applied site config manifests reason: Completed status: "True" type: RenderedTemplatesAppliedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查 SiteConfig operator 呈现的清单:
oc get clusterinstance <cluster_name> -n <target_namespace> -o jsonpath='{.status.manifestsRendered}'oc get clusterinstance <cluster_name> -n <target_namespace> -o jsonpath='{.status.manifestsRendered}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如需有关状态条件的更多信息,请参阅 ClusterInstance API。