12.2. 在单一节点上安装 OpenShift


您可以使用基于 Web 的辅助安装程序和使用 Assisted Installer 生成的发现 ISO 安装单节点 OpenShift。您还可以使用 coreos-installer 安装单节点 OpenShift 来生成安装 ISO。

12.2.1. 使用 Assisted Installer 安装单节点 OpenShift

要在单一节点上安装 OpenShift Container Platform,请使用基于 web 的 Assisted Installer 向导来引导您完成安装过程并管理安装。

如需详细信息和配置选项,请参阅 OpenShift Container Platform 的辅助安装程序 文档。

12.2.1.1. 使用 Assisted Installer 生成发现 ISO

在单一节点上安装 OpenShift Container Platform 需要发现 ISO,辅助安装程序可生成。

流程

  1. 在管理主机上,打开浏览器并进入到 Red Hat OpenShift Cluster Manager
  2. 单击 Create Cluster 以创建新集群。
  3. Cluster name 字段中输入集群名称。
  4. Base domain 字段中,输入基域。例如:

    example.com

    所有 DNS 记录都必须是这个基域的子域并包含集群名称,例如:

    <cluster-name>.example.com
    注意

    您不能在集群安装后更改基域或集群名称。

  5. 选择 Install single node OpenShift (SNO) 并完成向导步骤的其余部分。下载发现 ISO。
  6. 记录用于使用虚拟介质安装的发现 ISO URL。
注意

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

12.2.1.2. 使用 Assisted Installer 安装单节点 OpenShift

使用辅助安装程序安装单节点集群。

流程

  1. 将 RHCOS 发现 ISO 附加到目标主机。
  2. 在服务器 BIOS 设置中配置启动驱动器顺序,以便从附加的发现 ISO 启动,然后重启服务器。
  3. 在管理主机上,返回到浏览器。等待主机出现在已发现的主机列表中。如有必要,重新载入 Assisted Clusters 页面并选择集群名称。
  4. 完成安装向导步骤。添加网络详情,包括可用子网中的子网。如果需要,添加 SSH 公钥。
  5. 监控安装的进度。观察集群出现的事件。在安装过程完成后,将操作系统镜像写入服务器的硬盘中,服务器会重启。
  6. 删除发现 ISO,并重置服务器以从安装驱动器引导。

    服务器自动重启了多次,部署 control plane。

12.2.2. 手动安装单节点 OpenShift

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

12.2.2.1. 使用 coreos-installer 生成安装 ISO

在单一节点上安装 OpenShift Container Platform 需要安装 ISO,您可以按照以下流程生成该 ISO。

先决条件

  • 安装 podman
注意

如需了解网络要求,请参阅"在单一节点上安装 OpenShift 的要求,包括 DNS 记录。

流程

  1. 设置 OpenShift Container Platform 版本:

    $ OCP_VERSION=<ocp_version> 1
    1
    <ocp_version> 替换为当前版本,如 latest-4.16
  2. 设置主机架构:

    $ 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:

    $ 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
    计算 副本设置为 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 密钥,以便您可以在安装后登录集群。
  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

其他资源

12.2.2.2. 使用 openshift-install 监控集群安装

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

流程

  1. 将修改后的 RHCOS 安装 ISO 附加到目标主机。
  2. 在服务器 BIOS 设置中配置启动驱动器顺序,以便从附加的发现 ISO 启动,然后重启服务器。
  3. 在管理主机上,运行以下命令来监控安装:

    $ ./openshift-install --dir=ocp wait-for install-complete

    在部署 control plane 时服务器重启几次。

验证

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

    $ export KUBECONFIG=ocp/auth/kubeconfig
    $ oc get nodes

    输出示例

    NAME                         STATUS   ROLES           AGE     VERSION
    control-plane.example.com    Ready    master,worker   10m     v1.29.4

12.2.3. 在云供应商上安装单节点 OpenShift

12.2.3.1. 在云供应商上安装单节点 OpenShift 的额外要求

在云供应商上安装程序置备安装的文档基于由三个 control plane 节点组成的高可用性集群。在引用文档时,请考虑单节点 OpenShift 集群要求与高可用性集群之间的区别。

  • 高可用性集群需要一个临时 bootstrap 机器、三台 control plane 机器和至少两台计算机器。对于单节点 OpenShift 集群,您只需要一个临时 bootstrap 机器,另一个用于 control plane 节点,且没有 worker 节点。
  • 高可用性集群安装的最低资源要求包括有 4 个 vCPU 和 100GB 存储的 control plane 节点。对于单节点 OpenShift 集群,必须至少有 8 个 vCPU 和 120GB 存储。
  • install-config.yaml 文件中的 controlPlane.replicas 设置应设置为 1
  • install-config.yaml 文件中的 compute.replicas 设置应设置为 0。这使得 control plane 节点可以调度。

12.2.3.2. 用于单节点 OpenShift 支持的云供应商

下表包含支持的云供应商和 CPU 架构列表。

表 12.3. 支持的云供应商
云供应商CPU 架构

Amazon Web Service (AWS)

x86_64 和 AArch64

Microsoft Azure

x86_64

Google Cloud Platform (GCP)

x86_64 和 AArch64

12.2.3.3. 在 AWS 上安装单节点 OpenShift

在 AWS 上安装单一节点集群需要使用"在带有自定义"流程的 AWS 上安装集群。

12.2.3.4. 在 Azure 上安装单节点 OpenShift

在 Azure 上安装单一节点集群需要使用"使用自定义"流程在 Azure 上安装集群。

12.2.3.5. 在 GCP 上安装单节点 OpenShift

在 GCP 上安装单一节点集群需要使用"使用自定义"流程在 GCP 上安装集群。

12.2.4. 在 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 驱动器在服务器上安装软件。

12.2.5. 使用 Redfish API 从 HTTP 托管 ISO 镜像引导

您可以使用 Redfish Baseboard Management Controller (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

12.2.6. 为远程服务器访问创建自定义 live RHCOS ISO

在某些情况下,您无法将外部磁盘驱动器附加到服务器,但您需要远程访问服务器来调配节点。建议您启用对服务器的 SSH 访问。您可以创建一个启用了 SSHd 并预定义的凭证的 live RHCOS ISO,以便您可以在服务器引导后访问服务器。

先决条件

  • 已安装 butane 工具。

流程

  1. coreos-installer image mirror 页面下载 coreos-installer 二进制文件。
  2. mirror.openshift.com 下载最新的 live RHCOS ISO。
  3. 创建 butane 实用程序用来创建 Ignition 文件的 embedded.yaml 文件:

    variant: openshift
    version: 4.16.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 工具将配置包含在新的 live RHCOS ISO 中,名为 rhcos-sshd-4.16.0-x86_64-live.x86_64.iso

    $ coreos-installer iso ignition embed -i embedded.ign rhcos-4.16.0-x86_64-live.x86_64.iso -o rhcos-sshd-4.16.0-x86_64-live.x86_64.iso

验证

  • 运行以下命令,检查自定义 live ISO 是否可用于引导服务器:

    # coreos-installer iso ignition show rhcos-sshd-4.16.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 alosadag@sonnelicht.local"
            ]
          }
        ]
      }
    }

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

在 IBM Z® 和 IBM® LinuxONE 上安装单一节点集群需要使用以下方法之一安装:

注意

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

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

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

12.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.16
  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. 为特定虚拟机创建参数文件:

    参数文件示例

    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= 工件,请您引导的 kernel`and `initramfs 指定匹配的 rootfs 工件。仅支持 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>
      指定客户机看到的引导设备的设备号。

12.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.16
  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 "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 服务器中的 kernel/initrd 的位置。
2
指定 bootstrap.ign 配置文件的位置。仅支持 HTTP 和 HTTPS 协议。
3
对于 coreos.live.rootfs_url= 工件,请为您引导的 kernelinitramfs 指定匹配的 rootfs 工件。仅支持 HTTP 和 HTTPS 协议。
4
对于 ip= 参数,请手动分配 IP 地址,如"在 IBM Z® 和 IBM® LinuxONE 上使用 RHEL KVM 安装集群 中所述。

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

先决条件

  • 如果要部署单节点集群,其中没有计算节点,则 Ingress Controller pod 会在 control plane 节点上运行。在单节点集群部署中,您必须配置应用程序入口负载均衡器,将 HTTP 和 HTTPS 流量路由到 control plane 节点。如需更多信息,请参阅用户置备的基础架构的负载平衡要求 部分。

流程

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

    $ OCP_VERSION=<ocp_version> 1
    1
    <ocp_version> 替换为当前版本。例如:latest-4.16
  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
    计算 副本设置为 0。这使得 control plane 节点可以调度。
    3
    controlPlane 副本设置为 1。与前面的 compute 设置结合使用,此设置可确保集群在单一节点上运行。
    4
    metadata 名称设置为集群名称。
    5
    设置网络详情。OVN-Kubernetes 是单节点集群唯一支持的网络插件类型。
    6
    cidr 值设置为与单节点 OpenShift 集群的子网匹配。
    7
    从 Red Hat OpenShift Cluster Manager 复制 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
    对于 <installation_directory>,请指定包含您创建的 install-config.yaml 文件的安装目录。
  8. 检查 <installation_directory>/manifests/cluster-scheduler-02-config.yml Kubernetes 清单文件中的 mastersSchedulable 参数是否已设置为 true

    1. 打开 <installation_directory>/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
    对于 <installation_directory>,请指定相同的安装目录。
  10. 从 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 镜像是相同的。

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

    • 下载的 RHEL live kernelinitramfsrootfs 工件
    • Ignition 文件
  12. 在 LPAR 中为 bootstrap 创建参数文件:

    bootstrap 机器的参数文件示例

    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= 工件,请您引导的 kernel`and `initramfs 指定匹配的 rootfs 工件。仅支持 HTTP 和 HTTPS 协议。
    4
    对于 ip= 参数,手动分配 IP 地址,如"在 IBM Z® 和 IBM® LinuxONE 上的 LPAR 中安装集群中所述。
    5
    对于在 DASD 类型磁盘中安装,请使用 rd.dasd= 指定要安装 RHCOS 的 DASD。为 FCP 类型磁盘省略此条目。
    6
    对于在 FCP 类型磁盘中安装,请使用 rd.zfcp=<adapter>,<wwpn>,<lun> 指定要安装 RHCOS 的 FCP 磁盘。为 DASD 类型磁盘省略这个条目。

    如果需要,您可以对参数进行进一步的调整。

  13. 在 LPAR 中为 control plane 创建参数文件:

    control plane 机器的参数文件示例

    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. 引导 bootstrap 机器。
  16. 引导 control plane 机器。

12.2.8. 使用 IBM Power 安装单节点 OpenShift

在 IBM Power® 上安装单节点集群需要使用"使用 IBM Power® 安装集群"流程进行用户置备的安装。

注意

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

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

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

12.2.8.1. 使用 IBM Power 为单节点 OpenShift 设置 basion

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

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

    • DNS 定义 api、api-int 和 Ifapps
    • 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 kernel 文件:

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

      $ 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 中下载并保存 RHCOS 根文件系统镜像文件:

      $ 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
      计算 副本设置为 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 密钥,以便您可以在安装后登录集群。
  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。

12.2.8.2. 使用 IBM Power 安装单节点 OpenShift

先决条件

  • 您已设置了 bastion。

流程

单节点 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
    指定 bastion (PXE 服务器的 IP 地址)。
    gateway
    指定网络的网关 IP。
    lpar_name
    在 HMC 中指定单节点 OpenShift lpar 名称。
    cec_name
    指定 sno_lpar 所在的系统名称
  2. 在单节点 OpenShift LPAR 使用 PXE 引导后,使用 openshift-install 命令监控安装进度:

    1. bootstrap 完成后运行以下命令:

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

      ./openshift-install wait-for install-complete
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.