×

您可以使用基于 Web 的 Assisted Installer 或coreos-installer工具生成 discovery ISO 镜像来安装单节点 OpenShift。discovery ISO 镜像会将 Red Hat Enterprise Linux CoreOS (RHCOS) 系统配置写入目标安装磁盘,以便您可以运行单集群节点以满足您的需求。

当您想要在低资源或隔离环境中运行集群以进行测试、故障排除、培训或小型项目时,请考虑使用单节点 OpenShift。

使用 Assisted Installer 安装单节点 OpenShift

要在一个节点上安装 OpenShift Container Platform,请使用基于 Web 的 Assisted Installer 向导来指导您完成流程并管理安装。

有关详细信息和配置选项,请参阅OpenShift Container Platform 的 Assisted Installer文档。

使用 Assisted Installer 生成 discovery ISO

在单节点上安装 OpenShift Container Platform 需要一个 discovery ISO,Assisted Installer 可以生成它。

步骤
  1. 在管理主机上,打开浏览器并导航到Red Hat OpenShift 集群管理器

  2. 点击创建新集群以创建新集群。

  3. 集群名称字段中,输入集群名称。

  4. 基本域名字段中,输入基本域名。例如

    example.com

    所有 DNS 记录必须为此基本域名的子域名,并包含集群名称,例如

    <cluster_name>.example.com

    集群安装后,您无法更改基本域名或集群名称。

  5. 选择安装单节点 OpenShift (SNO) 并完成向导的其余步骤。下载 discovery ISO。

  6. 完成其余 Assisted Installer 向导步骤。

    确保记下用于虚拟介质安装的 discovery ISO URL。

    如果在此过程中启用 OpenShift Virtualization,则必须拥有至少 50 GiB 的第二个本地存储设备用于虚拟机。

使用 Assisted Installer 安装单节点 OpenShift

使用 Assisted Installer 安装单节点集群。

先决条件
  • 确保服务器 BIOS 设置中的引导驱动器顺序默认为从目标安装磁盘引导服务器。

步骤
  1. 将 discovery ISO 镜像附加到目标主机。

  2. 从 discovery ISO 镜像引导服务器。discovery ISO 镜像会将系统配置写入目标安装磁盘并自动触发服务器重启。

  3. 在管理主机上,返回浏览器。等待主机出现在已发现主机列表中。如有必要,重新加载Assisted Clusters页面并选择集群名称。

  4. 完成安装向导步骤。添加网络详细信息,包括来自可用子网的子网。如有必要,添加 SSH 公钥。

  5. 监控安装进度。观察集群事件。安装过程完成后将操作系统镜像写入服务器硬盘后,服务器将重新启动。

  6. 可选:移除 discovery ISO 镜像。

    服务器将自动重新启动几次,部署控制平面。

手动安装单节点 OpenShift

要在一个节点上安装 OpenShift Container Platform,首先生成安装 ISO,然后从 ISO 引导服务器。您可以使用openshift-install安装程序监控安装。

使用 coreos-installer 生成安装 ISO

在单节点上安装 OpenShift Container Platform 需要一个安装 ISO,您可以使用以下步骤生成它。

先决条件
  • 安装podman

有关网络要求(包括 DNS 记录),请参阅“在单节点上安装 OpenShift 的要求”。

步骤
  1. 设置 OpenShift Container Platform 版本

    $ export OCP_VERSION=<ocp_version> (1)
    1 <ocp_version>替换为当前版本,例如latest-4.17
  2. 设置主机架构

    $ export ARCH=<architecture> (1)
    1 <architecture>替换为目标主机架构,例如aarch64x86_64
  3. 下载 OpenShift Container Platform 客户端 (oc) 并使其可用,方法是输入以下命令

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-client-linux.tar.gz -o oc.tar.gz
    $ tar zxf oc.tar.gz
    $ chmod +x oc
  4. 下载 OpenShift Container Platform 安装程序并使其可用,方法是输入以下命令

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz
    $ tar zxvf openshift-install-linux.tar.gz
    $ chmod +x openshift-install
  5. 通过运行以下命令检索 RHCOS ISO URL

    $ export ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep $ARCH | grep iso | cut -d\" -f4)
  6. 下载 RHCOS ISO

    $ curl -L $ISO_URL -o rhcos-live.iso
  7. 准备install-config.yaml文件

    apiVersion: v1
    baseDomain: <domain> (1)
    compute:
    - name: worker
      replicas: 0 (2)
    controlPlane:
      name: master
      replicas: 1 (3)
    metadata:
      name: <name> (4)
    networking: (5)
      clusterNetwork:
      - cidr: 10.128.0.0/14
        hostPrefix: 23
      machineNetwork:
      - cidr: 10.0.0.0/16 (6)
      networkType: OVNKubernetes
      serviceNetwork:
      - 172.30.0.0/16
    platform:
      none: {}
    bootstrapInPlace:
      installationDisk: /dev/disk/by-id/<disk_id> (7)
    pullSecret: '<pull_secret>' (8)
    sshKey: |
      <ssh_key> (9)
    1 添加集群域名。
    2 compute副本设置为0。这使得控制平面节点可调度。
    3 controlPlane副本设置为1。结合之前的compute设置,此设置确保集群在一个节点上运行。
    4 metadata名称设置为集群名称。
    5 设置networking详细信息。OVN-Kubernetes 是单节点集群唯一允许的网络插件类型。
    6 cidr值设置为与单节点 OpenShift 集群的子网匹配。
    7 设置安装磁盘驱动器的路径,例如,/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2
    8 从 Red Hat OpenShift 集群管理器复制pull secret并将内容添加到此配置设置中。
    9 添加管理主机上的公钥SSH密钥,以便您可以在安装后登录到集群。
  8. 运行以下命令生成 OpenShift Container Platform 资源

    $ mkdir ocp
    $ cp install-config.yaml ocp
    $ ./openshift-install --dir=ocp create single-node-ignition-config
  9. 运行以下命令将 ignition 数据嵌入到 RHCOS ISO 中

    $ alias coreos-installer='podman run --privileged --pull always --rm \
            -v /dev:/dev -v /run/udev:/run/udev -v $PWD:/data \
            -w /data quay.io/coreos/coreos-installer:release'
    $ coreos-installer iso ignition embed -fi ocp/bootstrap-in-place-for-live-iso.ign rhcos-live.iso
其他资源

使用 openshift-install 监控集群安装

使用openshift-install监控单节点集群安装的进度。

先决条件
  • 确保服务器 BIOS 设置中的引导驱动器顺序默认为从目标安装磁盘引导服务器。

步骤
  1. 将 discovery ISO 镜像附加到目标主机。

  2. 从 discovery ISO 镜像引导服务器。discovery ISO 镜像会将系统配置写入目标安装磁盘并自动触发服务器重启。

  3. 在管理主机上,运行以下命令监控安装

    $ ./openshift-install --dir=ocp wait-for install-complete
  4. 可选:移除 discovery ISO 镜像。

    在部署控制平面期间,服务器会重启多次。

验证
  • 安装完成后,运行以下命令检查环境

    $ export KUBECONFIG=ocp/auth/kubeconfig
    $ oc get nodes
    示例输出
    NAME                         STATUS   ROLES           AGE     VERSION
    control-plane.example.com    Ready    master,worker   10m     v1.30.3

在云提供商上安装单节点 OpenShift

在云提供商上安装单节点 OpenShift 的附加要求

云提供商上安装程序配置安装的文档基于由三个控制平面节点组成的HA集群。参考文档时,请考虑单节点 OpenShift 集群和高可用性集群的要求之间的差异。

  • 高可用性集群需要一台临时引导机器、三台控制平面机器和至少两台计算机器。对于单节点 OpenShift 集群,您只需要一台临时引导机器和一台用于控制平面节点的云实例,而不需要计算节点。

  • 高可用性集群安装的最低资源要求包括一台具有 4 个 vCPU 和 100GB 存储的控制平面节点。对于单节点 OpenShift 集群,您必须至少拥有 8 个 vCPU 和 120GB 的存储空间。

  • install-config.yaml文件中的controlPlane.replicas设置应设置为1

  • install-config.yaml文件中的compute.replicas设置应设置为0。这使得控制平面节点可调度。

支持单节点 OpenShift 的云提供商

下表列出了受支持的云提供商和 CPU 架构。

表 1. 受支持的云提供商
云提供商 CPU 架构

Amazon Web Service (AWS)

x86_64 和 AArch64

Microsoft Azure

x86_64

Google Cloud Platform (GCP)

x86_64 和 AArch64

在 AWS 上安装单节点 OpenShift

在 AWS 上安装单节点集群需要使用“使用自定义设置在 AWS 上安装集群”过程进行安装程序配置的安装。

在 Azure 上安装单节点 OpenShift

在 Azure 上安装单节点集群需要使用“使用自定义设置在 Azure 上安装集群”过程进行安装程序配置的安装。

在 GCP 上安装单节点 OpenShift

在 GCP 上安装单节点集群需要使用“使用自定义设置在 GCP 上安装集群”过程进行安装程序配置的安装。

在 USB 驱动器上创建可引导 ISO 映像

您可以使用包含 ISO 映像的可引导 USB 驱动器安装软件。使用 USB 驱动器启动服务器可以为软件安装准备服务器。

步骤
  1. 在管理主机上,将 USB 驱动器插入 USB 端口。

  2. 创建一个可引导的 USB 驱动器,例如

    # dd if=<path_to_iso> of=<path_to_usb> status=progress

    其中

    <path_to_iso>

    是下载的 ISO 文件的相对路径,例如,rhcos-live.iso

    <path_to_usb>

    是连接的 USB 驱动器的路径,例如,/dev/sdb

    将 ISO 复制到 USB 驱动器后,您可以使用 USB 驱动器在服务器上安装软件。

使用 Redfish API 从 HTTP 托管的 ISO 映像启动

您可以使用通过 Redfish 基板管理控制器 (BMC) API 安装的 ISO 来配置网络中的主机。

此示例过程演示了在 Dell 服务器上的步骤。

确保您拥有与您的硬件兼容的最新 iDRAC 固件版本。如果您遇到任何硬件或固件问题,则必须联系供应商。

先决条件
  • 下载安装 Red Hat Enterprise Linux CoreOS (RHCOS) ISO。

  • 使用与 iDRAC9 兼容的 Dell PowerEdge 服务器。

步骤
  1. 将 ISO 文件复制到网络中可访问的 HTTP 服务器。

  2. 从托管的 ISO 文件启动主机,例如

    1. 通过运行以下命令调用 Redfish API 将托管的 ISO 设置为VirtualMedia引导介质

      $ curl -k -u <bmc_username>:<bmc_password> -d '{"Image":"<hosted_iso_file>", "Inserted": true}' -H "Content-Type: application/json" -X POST <host_bmc_address>/redfish/v1/Managers/iDRAC.Embedded.1/VirtualMedia/CD/Actions/VirtualMedia.InsertMedia

      其中

      <bmc_username>:<bmc_password>

      是目标主机 BMC 的用户名和密码。

      <hosted_iso_file>

      是托管安装 ISO 的 URL,例如:http://webserver.example.com/rhcos-live-minimal.iso。ISO 必须可以从目标主机访问。

      <host_bmc_address>

      是目标主机的 BMC IP 地址。

    2. 通过运行以下命令将主机设置为从VirtualMedia设备启动

      $ curl -k -u <bmc_username>:<bmc_password> -X PATCH -H 'Content-Type: application/json' -d '{"Boot": {"BootSourceOverrideTarget": "Cd", "BootSourceOverrideMode": "UEFI", "BootSourceOverrideEnabled": "Once"}}' <host_bmc_address>/redfish/v1/Systems/System.Embedded.1
    3. 重启主机

      $ curl -k -u <bmc_username>:<bmc_password> -d '{"ResetType": "ForceRestart"}' -H 'Content-type: application/json' -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset
    4. 可选:如果主机已关闭,您可以使用{"ResetType": "On"}开关启动它。运行以下命令

      $ curl -k -u <bmc_username>:<bmc_password> -d '{"ResetType": "On"}' -H 'Content-type: application/json' -X POST <host_bmc_address>/redfish/v1/Systems/System.Embedded.1/Actions/ComputerSystem.Reset

创建用于远程服务器访问的自定义实时 RHCOS ISO

在某些情况下,您无法将外部磁盘驱动器连接到服务器,但是,您需要远程访问服务器来配置节点。建议启用对服务器的 SSH 访问。您可以创建一个启用了 SSHd 并具有预定义凭据的实时 RHCOS ISO,以便您可以在它启动后访问服务器。

先决条件
  • 您已安装butane实用程序。

步骤
  1. coreos-installer镜像镜像页面下载coreos-installer二进制文件。

  2. mirror.openshift.com下载最新的 RHCOS 实时 ISO 镜像。

  3. 创建butane工具用于创建 Ignition 文件的embedded.yaml文件。

    variant: openshift
    version: 4.17.0
    metadata:
      name: sshd
      labels:
        machineconfiguration.openshift.io/role: worker
    passwd:
      users:
        - name: core (1)
          ssh_authorized_keys:
            - '<ssh_key>'
    1 core用户拥有sudo权限。
  4. 运行butane工具使用以下命令创建Ignition文件:

    $ butane -pr embedded.yaml -o embedded.ign
  5. 创建Ignition文件后,您可以使用coreos-installer工具将配置包含到名为rhcos-sshd-4.17.0-x86_64-live.x86_64.iso的新实时RHCOS ISO镜像中。

    $ coreos-installer iso ignition embed -i embedded.ign rhcos-4.17.0-x86_64-live.x86_64.iso -o rhcos-sshd-4.17.0-x86_64-live.x86_64.iso
验证
  • 运行以下命令检查自定义实时ISO镜像是否可以用来启动服务器:

    # coreos-installer iso ignition show rhcos-sshd-4.17.0-x86_64-live.x86_64.iso
    示例输出
    {
      "ignition": {
        "version": "3.2.0"
      },
      "passwd": {
        "users": [
          {
            "name": "core",
            "sshAuthorizedKeys": [
              "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZnG8AIzlDAhpyENpK2qKiTT8EbRWOrz7NXjRzopbPu215mocaJgjjwJjh1cYhgPhpAp6M/ttTk7I4OI7g4588Apx4bwJep6oWTU35LkY8ZxkGVPAJL8kVlTdKQviDv3XX12l4QfnDom4tm4gVbRH0gNT1wzhnLP+LKYm2Ohr9D7p9NBnAdro6k++XWgkDeijLRUTwdEyWunIdW1f8G0Mg8Y1Xzr13BUo3+8aey7HLKJMDtobkz/C8ESYA/f7HJc5FxF0XbapWWovSSDJrr9OmlL9f4TfE+cQk3s+eoKiz2bgNPRgEEwihVbGsCN4grA+RzLCAOpec+2dTJrQvFqsD [email protected]"
            ]
          }
        ]
      }
    }

在 IBM Z 和 IBM LinuxONE 上安装单节点 OpenShift

在 IBM Z® 和 IBM® LinuxONE 上安装单节点集群需要使用以下过程之一进行用户预配安装:

在 IBM Z® 上安装单节点集群简化了开发和测试环境的安装,并且入门级资源需求更低。

硬件要求

  • 每个集群相当于两个启用 SMT2 的集成 Linux 设施 (IFL)。

  • 至少一个网络连接,用于连接到LoadBalancer服务以及为集群外部流量提供数据。

您可以使用专用或共享 IFL 来分配足够的计算资源。资源共享是 IBM Z® 的关键优势之一。但是,您必须正确调整每个虚拟机管理程序层的容量,并确保每个 OpenShift Container Platform 集群拥有足够的资源。

在 IBM Z 和 IBM LinuxONE 上使用 z/VM 安装单节点 OpenShift

先决条件
  • 您已安装podman

步骤
  1. 运行以下命令设置 OpenShift Container Platform 版本:

    $ OCP_VERSION=<ocp_version> (1)
    1 <ocp_version>替换为当前版本。例如,latest-4.17
  2. 运行以下命令设置主机架构:

    $ ARCH=<architecture> (1)
    1 <architecture>替换为目标主机架构s390x
  3. 下载 OpenShift Container Platform 客户端 (oc) 并使其可用,方法是输入以下命令

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-client-linux.tar.gz -o oc.tar.gz
    $ tar zxf oc.tar.gz
    $ chmod +x oc
  4. 下载 OpenShift Container Platform 安装程序并使其可用,方法是输入以下命令

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz
    $ tar zxvf openshift-install-linux.tar.gz
    $ chmod +x openshift-install
  5. 准备install-config.yaml文件

    apiVersion: v1
    baseDomain: <domain> (1)
    compute:
    - name: worker
      replicas: 0 (2)
    controlPlane:
      name: master
      replicas: 1 (3)
    metadata:
      name: <name> (4)
    networking: (5)
      clusterNetwork:
      - cidr: 10.128.0.0/14
        hostPrefix: 23
      machineNetwork:
      - cidr: 10.0.0.0/16 (6)
      networkType: OVNKubernetes
      serviceNetwork:
      - 172.30.0.0/16
    platform:
      none: {}
    bootstrapInPlace:
      installationDisk: /dev/disk/by-id/<disk_id> (7)
    pullSecret: '<pull_secret>' (8)
    sshKey: |
      <ssh_key> (9)
    1 添加集群域名。
    2 compute副本设置为0。这使得控制平面节点可调度。
    3 controlPlane副本设置为1。结合之前的compute设置,此设置确保集群在一个节点上运行。
    4 metadata名称设置为集群名称。
    5 设置networking详细信息。OVN-Kubernetes 是单节点集群唯一允许的网络插件类型。
    6 cidr值设置为与单节点 OpenShift 集群的子网匹配。
    7 设置安装磁盘驱动器的路径,例如,/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2
    8 从 Red Hat OpenShift 集群管理器复制pull secret并将内容添加到此配置设置中。
    9 添加管理主机上的公钥SSH密钥,以便您可以在安装后登录到集群。
  6. 运行以下命令生成 OpenShift Container Platform 资源

    $ mkdir ocp
    $ cp install-config.yaml ocp
    $ ./openshift-install --dir=ocp create single-node-ignition-config
  7. 从 Red Hat 客户门户网站上的产品下载页面或RHCOS镜像镜像页面获取 RHEL kernelinitramfsrootfs构件。

    RHCOS 镜像可能不会随着每次 OpenShift Container Platform 版本的发布而更改。您必须下载版本号小于或等于您安装的 OpenShift Container Platform 版本的镜像。仅使用以下过程中描述的适当kernelinitramfsrootfs构件。

    文件名包含 OpenShift Container Platform 版本号。它们类似于以下示例:

    内核

    rhcos-<version>-live-kernel-<architecture>

    initramfs

    rhcos-<version>-live-initramfs.<architecture>.img

    rootfs

    rhcos-<version>-live-rootfs.<architecture>.img

    rootfs镜像对于 FCP 和 DASD 都是相同的。

  8. 将以下构件和文件移动到 HTTP 或 HTTPS 服务器:

    • 下载的 RHEL 实时kernelinitramfsrootfs构件

    • Ignition 文件

  9. 为特定的虚拟机创建参数文件

    参数文件示例
    cio_ignore=all,!condev rd.neednet=1 \
    console=ttysclp0 \
    ignition.firstboot ignition.platform.id=metal \
    ignition.config.url=http://<http_server>:8080/ignition/bootstrap-in-place-for-live-iso.ign \(1)
    coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img \(2)
    ip=<ip>::<gateway>:<mask>:<hostname>::none nameserver=<dns> \(3)
    rd.znet=qeth,0.0.bdd0,0.0.bdd1,0.0.bdd2,layer2=1 \
    rd.dasd=0.0.4411 \(4)
    rd.zfcp=0.0.8001,0x50050763040051e3,0x4000406300000000 \(5)
    zfcp.allow_lun_scan=0
    1 对于ignition.config.url=参数,请指定机器角色的 Ignition 文件。仅支持 HTTP 和 HTTPS 协议。
    2 对于coreos.live.rootfs_url=构件,请指定与您正在引导的kernelinitramfs匹配的rootfs构件。仅支持 HTTP 和 HTTPS 协议。
    3 对于ip=参数,请使用 DHCP 自动分配 IP 地址,或者按照“在 IBM Z® 和 IBM® LinuxONE 上使用 z/VM 安装集群”中的说明手动分配。
    4 对于 DASD 类型磁盘上的安装,请使用rd.dasd=指定要安装 RHCOS 的 DASD。对于 FCP 类型磁盘,请省略此条目。
    5 对于 FCP 类型磁盘上的安装,请使用rd.zfcp=<adapter>,<wwpn>,<lun>指定要安装 RHCOS 的 FCP 磁盘。对于 DASD 类型磁盘,请省略此条目。

    保持所有其他参数不变。

  10. 将以下构件、文件和镜像传输到 z/VM。例如,可以使用 FTP。

    • kernelinitramfs构件

    • 参数文件

    • RHCOS 镜像

      有关如何使用 FTP 传输文件并从虚拟阅读器引导的详细信息,请参阅在 Z/VM 下安装

  11. 将文件打孔到将成为引导节点的 z/VM 客户机虚拟机的虚拟阅读器。

  12. 登录到引导机器上的 CMS。

  13. 运行以下命令从阅读器 IPL 引导机器:

    $ cp ipl c
  14. 虚拟机第一次重新引导后,直接连续运行以下命令:

    1. 第一次重新引导后要引导 DASD 设备,请运行以下命令:

      $ cp i <devno> clear loadparm prompt

      其中

      <devno>

      指定客户机看到的引导设备的设备号。

      $ cp vi vmsg 0 <kernel_parameters>

      其中

      <kernel_parameters>

      指定一组要存储为系统控制程序数据 (SCPDATA) 的内核参数。引导 Linux 时,这些内核参数将连接到引导配置使用的现有内核参数的末尾。组合的参数字符串不得超过 896 个字符。

    2. 第一次重新引导后要引导 FCP 设备,请运行以下命令:

      $ cp set loaddev portname <wwpn> lun <lun>

      其中

      <wwpn>

      指定目标端口和<lun>(以十六进制格式表示的逻辑单元)。

      $ cp set loaddev bootprog <n>

      其中

      <n>

      指定要引导的内核。

      $ cp set loaddev scpdata {APPEND|NEW} '<kernel_parameters>'

      其中

      <kernel_parameters>

      指定一组要存储为系统控制程序数据 (SCPDATA) 的内核参数。引导 Linux 时,这些内核参数将连接到引导配置使用的现有内核参数的末尾。组合的参数字符串不得超过 896 个字符。

      <APPEND|NEW>

      可选:指定APPEND将内核参数追加到现有的 SCPDATA。这是默认值。指定NEW替换现有的 SCPDATA。

      示例
      $ cp set loaddev scpdata 'rd.zfcp=0.0.8001,0x500507630a0350a4,0x4000409D00000000
      ip=encbdd0:dhcp::02:00:00:02:34:02 rd.neednet=1'

      要启动 IPL 和引导过程,请运行以下命令:

      $ cp i <devno>

      其中

      <devno>

      指定客户机看到的引导设备的设备号。

在 IBM Z 和 IBM LinuxONE 上使用 RHEL KVM 安装单节点 OpenShift

先决条件
  • 您已安装podman

步骤
  1. 运行以下命令设置 OpenShift Container Platform 版本:

    $ OCP_VERSION=<ocp_version> (1)
    1 <ocp_version>替换为当前版本。例如,latest-4.17
  2. 运行以下命令设置主机架构:

    $ ARCH=<architecture> (1)
    1 <architecture>替换为目标主机架构s390x
  3. 下载 OpenShift Container Platform 客户端 (oc) 并使其可用,方法是输入以下命令

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-client-linux.tar.gz -o oc.tar.gz
    $ tar zxf oc.tar.gz
    $ chmod +x oc
  4. 下载 OpenShift Container Platform 安装程序并使其可用,方法是输入以下命令

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz
    $ tar zxvf openshift-install-linux.tar.gz
    $ chmod +x openshift-install
  5. 准备install-config.yaml文件

    apiVersion: v1
    baseDomain: <domain> (1)
    compute:
    - name: worker
      replicas: 0 (2)
    controlPlane:
      name: master
      replicas: 1 (3)
    metadata:
      name: <name> (4)
    networking: (5)
      clusterNetwork:
      - cidr: 10.128.0.0/14
        hostPrefix: 23
      machineNetwork:
      - cidr: 10.0.0.0/16 (6)
      networkType: OVNKubernetes
      serviceNetwork:
      - 172.30.0.0/16
    platform:
      none: {}
    bootstrapInPlace:
      installationDisk: /dev/disk/by-id/<disk_id> (7)
    pullSecret: '<pull_secret>' (8)
    sshKey: |
      <ssh_key> (9)
    1 添加集群域名。
    2 compute副本设置为0。这使得控制平面节点可调度。
    3 controlPlane副本设置为1。结合之前的compute设置,此设置确保集群在一个节点上运行。
    4 metadata名称设置为集群名称。
    5 设置networking详细信息。OVN-Kubernetes 是单节点集群唯一允许的网络插件类型。
    6 cidr值设置为与单节点 OpenShift 集群的子网匹配。
    7 设置安装磁盘驱动器的路径,例如,/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2
    8 从 Red Hat OpenShift 集群管理器复制pull secret并将内容添加到此配置设置中。
    9 添加管理主机上的公钥SSH密钥,以便您可以在安装后登录到集群。
  6. 运行以下命令生成 OpenShift Container Platform 资源

    $ mkdir ocp
    $ cp install-config.yaml ocp
    $ ./openshift-install --dir=ocp create single-node-ignition-config
  7. 从 Red Hat 客户门户网站上的产品下载页面或RHCOS镜像镜像页面获取 RHEL kernelinitramfsrootfs构件。

    RHCOS 镜像可能不会随着每次 OpenShift Container Platform 版本的发布而更改。您必须下载版本号小于或等于您安装的 OpenShift Container Platform 版本的镜像。仅使用以下过程中描述的适当kernelinitramfsrootfs构件。

    文件名包含 OpenShift Container Platform 版本号。它们类似于以下示例:

    内核

    rhcos-<version>-live-kernel-<architecture>

    initramfs

    rhcos-<version>-live-initramfs.<architecture>.img

    rootfs

    rhcos-<version>-live-rootfs.<architecture>.img

  8. 启动virt-install之前,请将以下文件和构件移动到 HTTP 或 HTTPS 服务器:

    • 下载的 RHEL 实时kernelinitramfsrootfs构件

    • Ignition 文件

  9. 使用以下组件创建 KVM 客户机节点:

    • RHEL kernelinitramfs构件

    • Ignition 文件

    • 新的磁盘镜像

    • 调整后的 parm 行参数

$ virt-install \
   --name <vm_name> \
   --autostart \
   --memory=<memory_mb> \
   --cpu host \
   --vcpus <vcpus> \
   --location <media_location>,kernel=<rhcos_kernel>,initrd=<rhcos_initrd> \(1)
   --disk size=100 \
   --network network=<virt_network_parm> \
   --graphics none \
   --noautoconsole \
   --extra-args "rd.neednet=1 ignition.platform.id=metal ignition.firstboot" \
   --extra-args "ignition.config.url=http://<http_server>/bootstrap.ign" \(2)
   --extra-args "coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img" \(3)
   --extra-args "ip=<ip>::<gateway>:<mask>:<hostname>::none" \ (4)
   --extra-args "nameserver=<dns>" \
   --extra-args "console=ttysclp0" \
   --wait
1 对于--location参数,请指定 HTTP 或 HTTPS 服务器上内核/initrd 的位置。
2 指定bootstrap.ign配置文件的位置。仅支持 HTTP 和 HTTPS 协议。
3 对于coreos.live.rootfs_url=构件,请指定与您正在引导的kernelinitramfs匹配的rootfs构件。仅支持 HTTP 和 HTTPS 协议。
4 对于ip=参数,请按照“在 IBM Z® 和 IBM® LinuxONE 上使用 RHEL KVM 安装集群”中的说明手动分配 IP 地址。

在 IBM Z 和 IBM LinuxONE 的 LPAR 上安装单节点 OpenShift

先决条件
  • 如果您部署的是单节点集群,则没有计算节点,Ingress Controller Pod 运行在控制平面节点上。在单节点集群部署中,您必须配置应用程序入口负载均衡器以将 HTTP 和 HTTPS 流量路由到控制平面节点。有关更多信息,请参见“用户预配基础设施的负载均衡要求”部分。

步骤
  1. 运行以下命令设置 OpenShift Container Platform 版本:

    $ OCP_VERSION=<ocp_version> (1)
    1 <ocp_version>替换为当前版本。例如,latest-4.17
  2. 运行以下命令设置主机架构:

    $ ARCH=<architecture> (1)
    1 <architecture>替换为目标主机架构s390x
  3. 下载 OpenShift Container Platform 客户端 (oc) 并使其可用,方法是输入以下命令

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-client-linux.tar.gz -o oc.tar.gz
    $ tar zxvf oc.tar.gz
    $ chmod +x oc
  4. 下载 OpenShift Container Platform 安装程序并使其可用,方法是输入以下命令

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/${ARCH}/clients/ocp/${OCP_VERSION}/openshift-install-linux.tar.gz -o openshift-install-linux.tar.gz
    $ tar zxvf openshift-install-linux.tar.gz
    $ chmod +x openshift-install
  5. 准备install-config.yaml文件

    apiVersion: v1
    baseDomain: <domain> (1)
    compute:
    - name: worker
      replicas: 0 (2)
    controlPlane:
      name: master
      replicas: 1 (3)
    metadata:
      name: <name> (4)
    networking: (5)
      clusterNetwork:
      - cidr: 10.128.0.0/14
        hostPrefix: 23
      machineNetwork:
      - cidr: 10.0.0.0/16 (6)
      networkType: OVNKubernetes
      serviceNetwork:
      - 172.30.0.0/16
    platform:
      none: {}
    pullSecret: '<pull_secret>' (7)
    sshKey: |
      <ssh_key> (8)
    1 添加集群域名。
    2 compute副本设置为0。这使得控制平面节点可调度。
    3 controlPlane副本设置为1。结合之前的compute设置,此设置确保集群在一个节点上运行。
    4 metadata名称设置为集群名称。
    5 设置networking详细信息。OVN-Kubernetes 是单节点集群唯一允许的网络插件类型。
    6 cidr值设置为与单节点 OpenShift 集群的子网匹配。
    7 从 Red Hat OpenShift 集群管理器复制pull secret并将内容添加到此配置设置中。
    8 添加管理主机上的公钥SSH密钥,以便您可以在安装后登录到集群。
  6. 运行以下命令生成 OpenShift Container Platform 资源

    $ mkdir ocp
    $ cp install-config.yaml ocp
  7. 更改到包含 OpenShift Container Platform 安装程序的目录,并为集群生成 Kubernetes 清单:

    $ ./openshift-install create manifests --dir <installation_directory> (1)
    1 对于<安装目录>,请指定包含您创建的install-config.yaml文件的安装目录。
  8. 检查<安装目录>/manifests/cluster-scheduler-02-config.yml Kubernetes 清单文件中mastersSchedulable参数是否设置为true

    1. 打开<安装目录>/manifests/cluster-scheduler-02-config.yml文件。

    2. 找到mastersSchedulable参数,并确保其设置为true,如下所示的spec段落。

      spec:
        mastersSchedulable: true
      status: {}
    3. 保存并退出文件。

  9. 从包含安装程序的目录运行以下命令来创建 Ignition 配置文件

    $ ./openshift-install create ignition-configs --dir <installation_directory> (1)
    1 对于<安装目录>,请指定相同的安装目录。
  10. 从 Red Hat 客户门户网站上的产品下载页面或RHCOS镜像镜像页面获取 RHEL kernelinitramfsrootfs构件。

    RHCOS 镜像可能不会随着每次 OpenShift Container Platform 版本的发布而更改。您必须下载版本号小于或等于您安装的 OpenShift Container Platform 版本的镜像。仅使用以下过程中描述的适当kernelinitramfsrootfs构件。

    文件名包含 OpenShift Container Platform 版本号。它们类似于以下示例:

    内核

    rhcos-<version>-live-kernel-<architecture>

    initramfs

    rhcos-<version>-live-initramfs.<architecture>.img

    rootfs

    rhcos-<version>-live-rootfs.<architecture>.img

    rootfs镜像对于 FCP 和 DASD 都是相同的。

  11. 将以下构件和文件移动到 HTTP 或 HTTPS 服务器:

    • 下载的 RHEL 实时kernelinitramfsrootfs构件

    • Ignition 文件

  12. 为 LPAR 中的引导程序创建一个参数文件

    引导机器的示例参数文件
    cio_ignore=all,!condev rd.neednet=1 \
    console=ttysclp0 \
    coreos.inst.install_dev=/dev/<block_device> \(1)
    coreos.inst.ignition_url=http://<http_server>/bootstrap.ign \(2)
    coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img \(3)
    ip=<ip>::<gateway>:<netmask>:<hostname>::none nameserver=<dns> \(4)
    rd.znet=qeth,0.0.1140,0.0.1141,0.0.1142,layer2=1,portno=0 \
    rd.dasd=0.0.4411 \(5)
    rd.zfcp=0.0.8001,0x50050763040051e3,0x4000406300000000 \(6)
    zfcp.allow_lun_scan=0
    1 指定要安装到的系统上的块设备。对于 DASD 类型磁盘上的安装,使用dasda;对于 FCP 类型磁盘上的安装,使用sda
    2 指定bootstrap.ign配置文件的位置。仅支持 HTTP 和 HTTPS 协议。
    3 对于coreos.live.rootfs_url=构件,请指定与您正在引导的kernelinitramfs匹配的rootfs构件。仅支持 HTTP 和 HTTPS 协议。
    4 对于ip=参数,请根据“在 IBM Z® 和 IBM® LinuxONE 上在 LPAR 中安装集群”中的说明手动分配 IP 地址。
    5 对于 DASD 类型磁盘上的安装,请使用rd.dasd=指定要安装 RHCOS 的 DASD。对于 FCP 类型磁盘,请省略此条目。
    6 对于 FCP 类型磁盘上的安装,请使用rd.zfcp=<adapter>,<wwpn>,<lun>指定要安装 RHCOS 的 FCP 磁盘。对于 DASD 类型磁盘,请省略此条目。

    如有需要,您可以调整其他参数。

  13. 为 LPAR 中的控制平面创建一个参数文件

    控制平面机器的示例参数文件
    cio_ignore=all,!condev rd.neednet=1 \
    console=ttysclp0 \
    coreos.inst.install_dev=/dev/<block_device> \
    coreos.inst.ignition_url=http://<http_server>/master.ign \(1)
    coreos.live.rootfs_url=http://<http_server>/rhcos-<version>-live-rootfs.<architecture>.img \
    ip=<ip>::<gateway>:<netmask>:<hostname>::none nameserver=<dns> \
    rd.znet=qeth,0.0.1140,0.0.1141,0.0.1142,layer2=1,portno=0 \
    rd.dasd=0.0.4411 \
    rd.zfcp=0.0.8001,0x50050763040051e3,0x4000406300000000 \
    zfcp.allow_lun_scan=0
    1 指定master.ign配置文件的位置。仅支持 HTTP 和 HTTPS 协议。
  14. 将以下工件、文件和镜像传输到 LPAR。例如,使用 FTP

    • kernelinitramfs构件

    • 参数文件

    • RHCOS 镜像

      有关如何使用 FTP 传输文件和引导的详细信息,请参阅在 LPAR 中安装

  15. 启动引导机器。

  16. 启动控制平面机器。

使用 IBM Power 安装单节点 OpenShift

在 IBM Power® 上安装单节点集群需要使用“使用 IBM Power® 安装集群”过程进行用户配置的安装。

在 IBM Power® 上安装单节点集群简化了开发和测试环境的安装,并且入门级资源需求更少。

硬件要求

  • 每个集群相当于两个启用 SMT2 的集成 Linux 设施 (IFL)。

  • 至少需要一个网络连接才能连接到LoadBalancer服务并为集群外部的流量提供数据。

您可以使用专用或共享 IFL 来分配足够的计算资源。资源共享是 IBM Power® 的主要优势之一。但是,您必须正确调整每个虚拟机管理程序层上的容量,并确保每个 OpenShift Container Platform 集群有足够的资源。

为使用 IBM Power 的单节点 OpenShift 设置堡垒机

在 IBM Power® 上安装单节点 OpenShift 之前,必须设置堡垒机。为 IBM Power® 上的单节点 OpenShift 设置堡垒机服务器需要配置以下服务

  • PXE 用于单节点 OpenShift 集群安装。PXE 需要配置并运行以下服务

    • DNS 用于定义 api、api-int 和 *.apps

    • DHCP 服务用于启用 PXE 并为单节点 OpenShift 节点分配 IP 地址

    • HTTP 用于提供 ignition 和 RHCOS rootfs 镜像

    • TFTP 用于启用 PXE

  • 您必须安装dnsmasq以支持 DNS、DHCP 和 PXE,安装httpd用于 HTTP。

使用以下过程配置满足这些要求的堡垒机服务器。

步骤
  1. 使用以下命令安装grub2,这是启用 PowerVM 的 PXE 所必需的

    grub2-mknetdir --net-directory=/var/lib/tftpboot
    /var/lib/tftpboot/boot/grub2/grub.cfg 文件示例
    default=0
    fallback=1
    timeout=1
    if [ ${net_default_mac} == fa:b0:45:27:43:20 ]; then
    menuentry "CoreOS (BIOS)" {
       echo "Loading kernel"
       linux "/rhcos/kernel" ip=dhcp rd.neednet=1 ignition.platform.id=metal ignition.firstboot coreos.live.rootfs_url=http://192.168.10.5:8000/install/rootfs.img ignition.config.url=http://192.168.10.5:8000/ignition/sno.ign
       echo "Loading initrd"
       initrd  "/rhcos/initramfs.img"
    }
    fi
  2. 使用以下命令从镜像仓库下载 RHCOS 镜像文件用于 PXE。

    1. 输入以下命令将RHCOS_URL变量赋值为以下 4.12 URL

      $ export RHCOS_URL=https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.12/latest/
    2. 输入以下命令导航到/var/lib/tftpboot/rhcos目录

      $ cd /var/lib/tftpboot/rhcos
    3. 输入以下命令从存储在RHCOS_URL变量中的 URL 下载指定的 RHCOS 内核文件

      $ wget ${RHCOS_URL}/rhcos-live-kernel-ppc64le -o kernel
    4. 输入以下命令从存储在RHCOS_URL变量中的 URL 下载 RHCOSinitramfs文件

      $ wget ${RHCOS_URL}/rhcos-live-initramfs.ppc64le.img -o initramfs.img
    5. 输入以下命令导航到/var//var/www/html/install/目录

      $ cd /var//var/www/html/install/
    6. 输入以下命令下载并保存存储在RHCOS_URL变量中的 URL 中的 RHCOSroot filesystem镜像文件

      $ wget ${RHCOS_URL}/rhcos-live-rootfs.ppc64le.img -o rootfs.img
  3. 要为单节点 OpenShift 集群创建 ignition 文件,必须创建install-config.yaml文件。

    1. 输入以下命令创建保存该文件的的工作目录

      $ mkdir -p ~/sno-work
    2. 输入以下命令导航到~/sno-work目录

      $ cd ~/sno-work
    3. 可以使用以下示例文件在~/sno-work目录中创建所需的install-config.yaml

      apiVersion: v1
      baseDomain: <domain> (1)
      compute:
      - name: worker
        replicas: 0 (2)
      controlPlane:
        name: master
        replicas: 1 (3)
      metadata:
        name: <name> (4)
      networking: (5)
        clusterNetwork:
        - cidr: 10.128.0.0/14
          hostPrefix: 23
        machineNetwork:
        - cidr: 10.0.0.0/16 (6)
        networkType: OVNKubernetes
        serviceNetwork:
        - 172.30.0.0/16
      platform:
        none: {}
      bootstrapInPlace:
        installationDisk: /dev/disk/by-id/<disk_id> (7)
      pullSecret: '<pull_secret>' (8)
      sshKey: |
        <ssh_key> (9)
      1 添加集群域名。
      2 compute副本设置为0。这使得控制平面节点可调度。
      3 controlPlane副本设置为1。结合之前的compute设置,此设置确保集群在一个节点上运行。
      4 metadata名称设置为集群名称。
      5 设置networking详细信息。OVN-Kubernetes 是单节点集群唯一允许的网络插件类型。
      6 cidr值设置为与单节点 OpenShift 集群的子网匹配。
      7 设置安装磁盘驱动器的路径,例如,/dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2
      8 从 Red Hat OpenShift 集群管理器复制pull secret并将内容添加到此配置设置中。
      9 添加管理主机上的公钥SSH密钥,以便您可以在安装后登录到集群。
  4. 下载openshift-install镜像以创建 ignition 文件并将其复制到http目录。

    1. 输入以下命令下载openshift-install-linux-4.12.0.tar 文件

      $ wget https://mirror.openshift.com/pub/openshift-v4/ppc64le/clients/ocp/4.12.0/openshift-install-linux-4.12.0.tar.gz
    2. 输入以下命令解压openshift-install-linux-4.12.0.tar.gz存档

      $ tar xzvf openshift-install-linux-4.12.0.tar.gz
    3. 输入以下命令:

      $ ./openshift-install --dir=~/sno-work create create single-node-ignition-config
    4. 输入以下命令创建 ignition 文件

      $ cp ~/sno-work/single-node-ignition-config.ign /var/www/html/ignition/sno.ign
    5. 输入以下命令恢复/var/www/html目录的 SELinux 文件

      $ restorecon -vR /var/www/html || true

      堡垒机现在拥有所有必需的文件,并且已正确配置以安装单节点 OpenShift。

使用 IBM Power 安装单节点 OpenShift

先决条件
  • 您已设置了堡垒机。

步骤

单节点 OpenShift 集群安装分为两个步骤。首先,单节点 OpenShift 逻辑分区 (LPAR) 需要使用 PXE 启动,然后您需要监控安装进度。

  1. 使用以下命令使用 netboot 启动 PowerVM

    $ lpar_netboot -i -D -f -t ent -m <sno_mac> -s auto -d auto -S <server_ip> -C <sno_ip> -G <gateway> <lpar_name> default_profile <cec_name>

    其中

    sno_mac

    指定单节点 OpenShift 集群的 MAC 地址。

    sno_ip

    指定单节点 OpenShift 集群的 IP 地址。

    server_ip

    指定堡垒机(PXE 服务器)的 IP 地址。

    gateway

    指定网络的网关 IP。

    lpar_name

    指定 HMC 中的单节点 OpenShift lpar 名称。

    cec_name

    指定 sno_lpar 所在的系统名称

  2. 单节点 OpenShift LPAR 使用 PXE 启动后,使用openshift-install命令监控安装进度

    1. 引导程序完成后运行以下命令

      ./openshift-install wait-for bootstrap-complete
    2. 成功返回后运行以下命令

      ./openshift-install wait-for install-complete