2.7. 使用 IBM Z 和 IBM LinuxONE 安装单节点 OpenShift


在 IBM Z® 和 IBM® LinuxONE 上安装单节点集群需要用户置备的安装,使用 IBM Z® 和 IBM® LinuxONE 上的"使用 RHEL KVM 安装集群"或"在 IBM Z® 和 IBM® LinuxONE 上使用 z/VM 安装集群"。

注意

在 IBM Z® 上安装单节点集群简化了开发和测试环境的安装,在条目级别需要较少的资源要求。

硬件要求

  • 等同于两个用于 Linux (IFL)的集成设施,每个集群都启用了 SMT2。
  • 至少一个网络连接连接到 LoadBalancer 服务,并为集群外的流量提供数据。
注意

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

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

先决条件

  • 已安装 podman

流程

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

    $ OCP_VERSION=<ocp_version> 1
    1
    <ocp_version> 替换为当前版本,如 latest-4.15
  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
    计算 副本设置为 0。这使得 control plane 节点可以调度。
    3
    controlPlane 副本设置为 1。与前面的 compute 设置结合使用,此设置可确保集群在单一节点上运行。
    4
    metadata 名称设置为集群名称。
    5
    设置网络详情。OVN-Kubernetes 是单节点集群唯一支持的网络插件类型。
    6
    cidr 值设置为与单节点 OpenShift 集群的子网匹配。
    7
    设置安装磁盘驱动器的路径,例如: /dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2
    8
    从 Red Hat OpenShift Cluster Manager 复制 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 Customer Portal 的产品下载页,或从 RHCOS image mirror 页获取 RHEL kernel, initramfs, 和 rootfs 工件。

    重要

    RHCOS 镜像可能不会随着 OpenShift Container Platform 的每个发行版本而改变。您必须下载最高版本的镜像,其版本号应小于或等于您安装的 OpenShift Container Platform 版本。仅使用以下流程中描述的适当 kernelinitramfsrootfs 工件。

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

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

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

    注意

    FCP 和 DASD 的 rootfs 镜像是相同的。

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

    • 下载的 RHEL live kernelinitramfsrootfs 工件
    • Ignition 文件
  9. 为特定虚拟机创建参数文件:

    参数文件示例

    rd.neednet=1 \
    console=ttysclp0 \
    coreos.live.rootfs_url=<rhcos_liveos>:8080/rootfs.img \1
    ignition.firstboot ignition.platform.id=metal \
    ignition.config.url=<rhcos_ign>:8080/ignition/bootstrap-in-place-for-live-iso.ign \2
    ip=encbdd0:dhcp::02:00:00:02:34:02 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 \
    rd.luks.options=discard

    1
    对于 coreos.live.rootfs_url= 工件,请您引导的 kernel`and `initramfs 指定匹配的 rootfs 工件。仅支持 HTTP 和 HTTPS 协议。
    2
    对于 ignition.config.url= 参数,请为机器角色指定 Ignition 文件。仅支持 HTTP 和 HTTPS 协议。
    3
    对于 ip= 参数,使用 DHCP 自动分配 IP 地址,或者手动分配 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. 将文件 punch 到 z/VM 客户机虚拟机的虚拟读取器,即成为 bootstrap 节点。
  12. 在 bootstrap 机器上登录到 CMS。
  13. 运行以下命令,从 reader IPL bootstrap 机器:

    $ cp ipl c
  14. 首次重启虚拟机后,在另一个虚拟机后直接运行以下命令:

    1. 要在首次重启后引导 DASD 设备,请运行以下命令:

      $ cp i <devno> clear loadparm prompt

      其中:

      <devno>
      指定客户机看到的引导设备的设备号。
      $ cp vi vmsg 0 <kernel_parameters>

      其中:

      <kernel_parameters>
      指定要存储为系统控制程序数据(SCPDATA)的一组内核参数。引导 Linux 时,这些内核参数将串联到引导配置所使用的现有内核参数的末尾。combined 参数字符串不能超过 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 时,这些内核参数将串联到引导配置所使用的现有内核参数的末尾。combined 参数字符串不能超过 896 个字符。
      <APPEND|NEW>
      可选:指定 APPEND 将内核参数附加到现有 SCPDATA 中。这是默认值。指定 NEW 来替换现有的 SCPDATA。

      Example

      $ 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>
      指定客户机看到的引导设备的设备号。

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

先决条件

  • 已安装 podman

流程

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

    $ OCP_VERSION=<ocp_version> 1
    1
    <ocp_version> 替换为当前版本,如 latest-4.15
  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
    计算 副本设置为 0。这使得 control plane 节点可以调度。
    3
    controlPlane 副本设置为 1。与前面的 compute 设置结合使用,此设置可确保集群在单一节点上运行。
    4
    metadata 名称设置为集群名称。
    5
    设置网络详情。OVN-Kubernetes 是单节点集群唯一支持的网络插件类型。
    6
    cidr 值设置为与单节点 OpenShift 集群的子网匹配。
    7
    设置安装磁盘驱动器的路径,例如: /dev/disk/by-id/wwn-0x64cd98f04fde100024684cf3034da5c2
    8
    从 Red Hat OpenShift Cluster Manager 复制 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 Customer Portal 的产品下载页,或从 RHCOS image mirror 页获取 RHEL kernel, initramfs, 和 rootfs 工件。

    重要

    RHCOS 镜像可能不会随着 OpenShift Container Platform 的每个发行版本而改变。您必须下载最高版本的镜像,其版本号应小于或等于您安装的 OpenShift Container Platform 版本。仅使用以下流程中描述的适当 kernelinitramfsrootfs 工件。

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

    kernel
    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 live 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 "ip=<ip>::<gateway>:<mask>:<hostname>::none" \
   --extra-args "nameserver=<name_server>" \
   --extra-args "ip=dhcp rd.neednet=1 ignition.platform.id=metal ignition.firstboot" \
   --extra-args "coreos.live.rootfs_url=<rhcos_liveos>" \2
   --extra-args "ignition.config.url=<rhcos_ign>" \3
   --extra-args "random.trust_cpu=on rd.luks.options=discard" \
   --extra-args "console=ttysclp0" \
   --wait
1
对于 --location 参数,指定 HTTP 或 HTTPS 服务器中的 kernel/initrd 的位置。
2
对于 coreos.live.rootfs_url= 工件,请为您引导的 kernelinitramfs 指定匹配的 rootfs 工件。仅支持 HTTP 和 HTTPS 协议。
3
对于 ignition.config.url= 参数,请为机器角色指定 Ignition 文件。仅支持 HTTP 和 HTTPS 协议。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.