12.4.15. 创建 Kubernetes 清单和 Ignition 配置文件


由于您必须修改一些集群定义文件并要手动启动集群机器,因此您必须生成 Kubernetes 清单和 Ignition 配置文件,集群需要这两项来创建其机器。

安装配置文件转换为 Kubernetes 清单。清单嵌套到 Ignition 配置文件中,稍后用于创建集群。

重要

安装程序生成的 Ignition 配置文件包含在 24 小时后过期的证书,然后在过期时进行续订。如果在更新证书前关闭集群,且集群在 24 小时后重启,集群会自动恢复过期的证书。一个例外情况是,您需要手动批准待处理的 node-bootstrapper 证书签名请求(CSR)来恢复 kubelet 证书。如需更多信息,请参阅从过期的 control plane 证书中恢复的文档。

注意

生成清单和 Ignition 文件的安装程序是特定于架构的,可以从 客户端镜像镜像获取。安装程序的 Linux 版本仅在 s390x 上运行。此安装程序也可用作 Mac OS 版本。

先决条件

  • 已获得 OpenShift Container Platform 安装程序。
  • 已创建 install-config.yaml 安装配置文件。

流程

  1. 切换到包含安装程序的目录,并为集群生成 Kubernetes 清单:

    $ ./openshift-install create manifests --dir <installation_directory> 
    1
    Copy to Clipboard Toggle word wrap
    1
    对于 <installation_directory>,请指定含有您创建的 install-config.yaml 文件的安装目录。
  2. 删除定义 control plane 机器的 Kubernetes 清单文件以及计算机器集:

    $ rm -f openshift/99_openshift-cluster-api_master-machines-*.yaml openshift/99_openshift-cluster-api_worker-machineset-*.yaml
    Copy to Clipboard Toggle word wrap

    由于您要自行创建和管理这些资源,因此不必初始化这些资源。

    • 您可以使用机器 API 来保留机器集文件来创建计算机器,但您必须更新对其的引用,以匹配您的环境。
    警告

    如果要安装一个三节点集群,请跳过以下步骤,以便 control plane 节点可以调度。

    +

    重要

    当您将 control plane 节点从默认的不可调度配置为可以调度时,需要额外的订阅。这是因为 control plane 节点随后变为 worker 节点。

  3. 检查 <installation_directory>/manifests/cluster-scheduler-02-config.yml Kubernetes 清单文件中的 mastersSchedulable 参数是否已设置为 false。此设置可防止在 control plane 机器上调度 pod:

    1. 打开 <installation_directory>/manifests/cluster-scheduler-02-config.yml 文件。
    2. 找到 mastersSchedulable 参数并确保它被设置为 false
    3. 保存并退出文件。
  4. 要创建 Ignition 配置文件,从包含安装程序的目录运行以下命令:

    $ ./openshift-install create ignition-configs --dir <installation_directory> 
    1
    Copy to Clipboard Toggle word wrap
    1
    对于 <installation_directory>,请指定相同的安装目录。

    该目录中将生成以下文件:

    .
    ├── auth
    │   ├── kubeadmin-password
    │   └── kubeconfig
    ├── bootstrap.ign
    ├── master.ign
    ├── metadata.json
    └── worker.ign
    Copy to Clipboard Toggle word wrap
  5. 将元数据文件的 infraID 键导出为环境变量:

    $ export INFRA_ID=$(jq -r .infraID metadata.json)
    Copy to Clipboard Toggle word wrap
提示

metadata.json 中提取 infraID 键,并将其用作您创建的所有 RHOSP 资源的前缀。通过这样做,您可以避免在同一项目中进行多个部署时的名称冲突。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat