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
。
流程
运行以下命令设置 OpenShift Container Platform 版本:
$ OCP_VERSION=<ocp_version> 1
- 1
- 将
<ocp_version>
替换为当前版本,如latest-4.15
运行以下命令来设置主机架构:
$ ARCH=<architecture> 1
- 1
- 将
<architecture>
替换为目标主机架构s390x
。
输入以下命令下载 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
输入以下命令下载 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
准备
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 密钥,以便您可以在安装后登录集群。
运行以下命令来生成 OpenShift Container Platform 资产:
$ mkdir ocp
$ cp install-config.yaml ocp
$ ./openshift-install --dir=ocp create single-node-ignition-config
从 Red Hat Customer Portal 的产品下载页,或从 RHCOS image mirror 页获取 RHEL
kernel
,initramfs
, 和rootfs
工件。重要RHCOS 镜像可能不会随着 OpenShift Container Platform 的每个发行版本而改变。您必须下载最高版本的镜像,其版本号应小于或等于您安装的 OpenShift Container Platform 版本。仅使用以下流程中描述的适当
kernel
、initramfs
和rootfs
工件。文件名包含 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
镜像是相同的。
将以下工件和文件移到 HTTP 或 HTTPS 服务器中:
-
下载的 RHEL live
kernel
、initramfs
和rootfs
工件 - Ignition 文件
-
下载的 RHEL live
为特定虚拟机创建参数文件:
参数文件示例
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 类型磁盘省略这个条目。
所有其他参数保持不变。
将以下工件、文件和镜像传送到 z/VM。例如,使用 FTP:
-
kernel
和initramfs
工件 - 参数文件
RHCOS 镜像
有关如何使用 FTP 传输文件并从虚拟读取器引导的详情,请参阅 在 Z/VM 中安装。
-
- 将文件 punch 到 z/VM 客户机虚拟机的虚拟读取器,即成为 bootstrap 节点。
- 在 bootstrap 机器上登录到 CMS。
运行以下命令,从 reader IPL bootstrap 机器:
$ cp ipl c
首次重启虚拟机后,在另一个虚拟机后直接运行以下命令:
要在首次重启后引导 DASD 设备,请运行以下命令:
$ cp i <devno> clear loadparm prompt
其中:
<devno>
- 指定客户机看到的引导设备的设备号。
$ cp vi vmsg 0 <kernel_parameters>
其中:
<kernel_parameters>
- 指定要存储为系统控制程序数据(SCPDATA)的一组内核参数。引导 Linux 时,这些内核参数将串联到引导配置所使用的现有内核参数的末尾。combined 参数字符串不能超过 896 个字符。
要在首次重启后引导 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
。
流程
运行以下命令设置 OpenShift Container Platform 版本:
$ OCP_VERSION=<ocp_version> 1
- 1
- 将
<ocp_version>
替换为当前版本,如latest-4.15
运行以下命令来设置主机架构:
$ ARCH=<architecture> 1
- 1
- 将
<architecture>
替换为目标主机架构s390x
。
输入以下命令下载 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
输入以下命令下载 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
准备
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 密钥,以便您可以在安装后登录集群。
运行以下命令来生成 OpenShift Container Platform 资产:
$ mkdir ocp
$ cp install-config.yaml ocp
$ ./openshift-install --dir=ocp create single-node-ignition-config
从 Red Hat Customer Portal 的产品下载页,或从 RHCOS image mirror 页获取 RHEL
kernel
,initramfs
, 和rootfs
工件。重要RHCOS 镜像可能不会随着 OpenShift Container Platform 的每个发行版本而改变。您必须下载最高版本的镜像,其版本号应小于或等于您安装的 OpenShift Container Platform 版本。仅使用以下流程中描述的适当
kernel
、initramfs
和rootfs
工件。文件名包含 OpenShift Container Platform 版本号。它们类似以下示例:
kernel
-
rhcos-<version>-live-kernel-<architecture>
initramfs
-
rhcos-<version>-live-initramfs.<architecture>.img
rootfs
-
rhcos-<version>-live-rootfs.<architecture>.img
在启动
virt-install
前,将以下文件和工件移到 HTTP 或 HTTPS 服务器中:-
下载的 RHEL live
kernel
、initramfs
和rootfs
工件 - Ignition 文件
-
下载的 RHEL live
使用以下组件创建 KVM 客户机节点:
-
RHEL
kernel
和initramfs
工件 - Ignition 文件
- 新磁盘镜像
- 调整了 parm 行参数
-
RHEL
$ 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