10.6. 为 Google Cloud 创建安装文件


要使用用户置备的基础架构在 Google Cloud 上安装 OpenShift Container Platform,您必须生成安装程序部署集群所需的文件,并进行修改,以便集群只创建要使用的机器。您可以生成并自定义 install-config.yaml 文件、Kubernetes 清单和 Ignition 配置文件。您还可以选择在安装准备阶段首先设置独立 var 分区。

10.6.1. 可选:创建独立 /var 分区

建议安装程序将 OpenShift Container Platform 的磁盘分区保留给安装程序。然而,在有些情况下您可能需要在文件系统的一部分中创建独立分区。

OpenShift Container Platform 支持添加单个分区来将存储附加到 /var 分区或 /var 的子目录中。例如:

  • /var/lib/containers :保存随着系统中添加更多镜像和容器而增长的容器相关内容。
  • /var/lib/etcd :保存您可能希望独立保留的数据,比如 etcd 存储的性能优化。
  • /var :保存您可能希望独立保留的数据,以满足审计等目的。

通过单独存储 /var 目录的内容,可以更轻松地根据需要为区域扩展存储,并在以后重新安装 OpenShift Container Platform,并保持该数据的完整性。使用这个方法,您不必再次拉取所有容器,在更新系统时也不必复制大量日志文件。

因为 /var 在进行一个全新的 Red Hat Enterprise Linux CoreOS(RHCOS)安装前必需存在,所以这个流程会在 OpenShift Container Platform 安装过程的 openshift-install 准备阶段插入一个创建的机器配置清单的机器配置来设置独立的 /var 分区。

重要

如果按照以下步骤在此流程中创建独立 /var 分区,则不需要再次创建 Kubernetes 清单和 Ignition 配置文件,如本节所述。

流程

  1. 创建存放 OpenShift Container Platform 安装文件的目录:

    $ mkdir $HOME/clusterconfig
  2. 运行 openshift-install,以在 manifestopenshift 子目录中创建一组文件。在系统提示时回答系统问题:

    $ openshift-install create manifests --dir $HOME/clusterconfig

    输出示例

    ? SSH Public Key ...
    INFO Credentials loaded from the "myprofile" profile in file "/home/myuser/.aws/credentials"
    INFO Consuming Install Config from target directory
    INFO Manifests created in: $HOME/clusterconfig/manifests and $HOME/clusterconfig/openshift

  3. 可选:确认安装程序在 clusterconfig/openshift 目录中创建了清单:

    $ ls $HOME/clusterconfig/openshift/

    输出示例

    99_kubeadmin-password-secret.yaml
    99_openshift-cluster-api_master-machines-0.yaml
    99_openshift-cluster-api_master-machines-1.yaml
    99_openshift-cluster-api_master-machines-2.yaml
    ...

  4. 创建用于配置额外分区的 Butane 配置。例如,将文件命名为 $HOME/clusterconfig/98-var-partition.bu,将磁盘设备名称改为 worker 系统上存储设备的名称,并根据情况设置存储大小。这个示例将 /var 目录放在一个单独的分区中:

    variant: openshift
    version: 4.18.0
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
      name: 98-var-partition
    storage:
      disks:
      - device: /dev/disk/by-id/<device_name> 
    1
    
        partitions:
        - label: var
          start_mib: <partition_start_offset> 
    2
    
          size_mib: <partition_size> 
    3
    
          number: 5
      filesystems:
        - device: /dev/disk/by-partlabel/var
          path: /var
          format: xfs
          mount_options: [defaults, prjquota] 
    4
    
          with_mount_unit: true
    1
    要分区的磁盘的存储设备名称。
    2
    在引导磁盘中添加数据分区时,推荐最少使用 25000 MiB(Mebibytes)。root 文件系统会自动调整大小以填充所有可用空间(最多到指定的偏移值)。如果没有指定值,或者指定的值小于推荐的最小值,则生成的 root 文件系统会太小,而在以后进行的 RHCOS 重新安装可能会覆盖数据分区的开始部分。
    3
    以兆字节为单位的数据分区大小。
    4
    对于用于容器存储的文件系统,必须启用 prjquota 挂载选项。
    注意

    当创建单独的 /var 分区时,如果不同的实例类型没有相同的设备名称,则无法为 worker 节点使用不同的实例类型。

  5. 从 Butane 配置创建一个清单,并将它保存到 clusterconfig/openshift 目录中。例如,运行以下命令:

    $ butane $HOME/clusterconfig/98-var-partition.bu -o $HOME/clusterconfig/openshift/98-var-partition.yaml
  6. 再次运行 openshift-install,从 manifestopenshift 子目录中的一组文件创建 Ignition 配置:

    $ openshift-install create ignition-configs --dir $HOME/clusterconfig
    $ ls $HOME/clusterconfig/
    auth  bootstrap.ign  master.ign  metadata.json  worker.ign

    现在,您可以使用 Ignition 配置文件作为安装程序的输入来安装 Red Hat Enterprise Linux CoreOS (RHCOS)系统。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部