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,辅助安装程序可生成。
流程
- 在管理主机上,打开浏览器并进入到 Red Hat OpenShift Cluster Manager。
- 单击 Create Cluster 以创建新集群。
- 在 Cluster name 字段中输入集群名称。
在 Base domain 字段中,输入基域。例如:
example.com
所有 DNS 记录都必须是这个基域的子域并包含集群名称,例如:
<cluster-name>.example.com
注意您不能在集群安装后更改基域或集群名称。
- 选择 Install single node OpenShift (SNO) 并完成向导步骤的其余部分。下载发现 ISO。
- 记录用于使用虚拟介质安装的发现 ISO URL。
如果在此过程中启用 OpenShift Virtualization,则必须为虚拟机有第二个至少 50GiB 的本地存储设备。
12.2.1.2. 使用 Assisted Installer 安装单节点 OpenShift
使用辅助安装程序安装单节点集群。
流程
- 将 RHCOS 发现 ISO 附加到目标主机。
- 在服务器 BIOS 设置中配置启动驱动器顺序,以便从附加的发现 ISO 启动,然后重启服务器。
- 在管理主机上,返回到浏览器。等待主机出现在已发现的主机列表中。如有必要,重新载入 Assisted Clusters 页面并选择集群名称。
- 完成安装向导步骤。添加网络详情,包括可用子网中的子网。如果需要,添加 SSH 公钥。
- 监控安装的进度。观察集群出现的事件。在安装过程完成后,将操作系统镜像写入服务器的硬盘中,服务器会重启。
删除发现 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 记录。
流程
设置 OpenShift Container Platform 版本:
$ OCP_VERSION=<ocp_version> 1
- 1
- 将
<ocp_version>
替换为当前版本,如latest-4.16
设置主机架构:
$ ARCH=<architecture> 1
- 1
- 将
<architecture>
替换为目标主机架构,如aarch64
或x86_64
。
输入以下命令下载 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
输入以下命令下载 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
运行以下命令来检索 RHCOS ISO URL:
$ ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep $ARCH | grep iso | cut -d\" -f4)
下载 RHCOS ISO:
$ curl -L $ISO_URL -o rhcos-live.iso
准备
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
运行以下命令,将 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 Container Platform 的更多信息,请参阅在单一节点上安装 OpenShift 的要求。
- 有关启用 在安装前禁用的集群功能的更多信息,请参阅集群功能。
- 如需有关每个功能提供的功能的更多信息,请参阅 OpenShift Container Platform 4.16 中的可选集群功能。
12.2.2.2. 使用 openshift-install 监控集群安装
使用 openshift-install
监控单节点集群安装的进度。
流程
- 将修改后的 RHCOS 安装 ISO 附加到目标主机。
- 在服务器 BIOS 设置中配置启动驱动器顺序,以便从附加的发现 ISO 启动,然后重启服务器。
在管理主机上,运行以下命令来监控安装:
$ ./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 架构列表。
云供应商 | 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 驱动器引导服务器为软件安装准备服务器。
流程
- 在管理主机上,在 USB 端口中插入 USB 驱动器。
创建可引导 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 服务器。
流程
- 将 ISO 文件复制到网络中的 HTTP 服务器。
从托管 ISO 文件引导主机,例如:
运行以下命令,调用 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 地址。
运行以下命令,将主机设置为从
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
重启主机:
$ 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
可选: 如果主机已关闭,您可以使用
{"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
工具。
流程
-
从
coreos-installer
image mirror 页面下载coreos-installer
二进制文件。 - 从 mirror.openshift.com 下载最新的 live RHCOS ISO。
创建
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 权限。
运行以下命令,运行
butane
工具来创建 Ignition 文件:$ butane -pr embedded.yaml -o embedded.ign
创建 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
。
流程
运行以下命令设置 OpenShift Container Platform 版本:
$ OCP_VERSION=<ocp_version> 1
- 1
- 将
<ocp_version>
替换为当前版本。例如:latest-4.16
。
运行以下命令来设置主机架构:
$ 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
为特定虚拟机创建参数文件:
参数文件示例
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 类型磁盘省略这个条目。
所有其他参数保持不变。
将以下工件、文件和镜像传送到 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>
- 指定客户机看到的引导设备的设备号。
12.2.7.2. 在 IBM Z 和 IBM LinuxONE 上使用 RHEL KVM 安装单节点 OpenShift
先决条件
-
已安装
podman
。
流程
运行以下命令设置 OpenShift Container Platform 版本:
$ OCP_VERSION=<ocp_version> 1
- 1
- 将
<ocp_version>
替换为当前版本。例如:latest-4.16
。
运行以下命令来设置主机架构:
$ 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 "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
12.2.7.3. 在 IBM Z 和 IBM LinuxONE 上的 LPAR 中安装单节点 OpenShift
先决条件
- 如果要部署单节点集群,其中没有计算节点,则 Ingress Controller pod 会在 control plane 节点上运行。在单节点集群部署中,您必须配置应用程序入口负载均衡器,将 HTTP 和 HTTPS 流量路由到 control plane 节点。如需更多信息,请参阅用户置备的基础架构的负载平衡要求 部分。
流程
运行以下命令设置 OpenShift Container Platform 版本:
$ OCP_VERSION=<ocp_version> 1
- 1
- 将
<ocp_version>
替换为当前版本。例如:latest-4.16
。
运行以下命令来设置主机架构:
$ 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 zxvf 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: {} 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 密钥,以便您可以在安装后登录集群。
运行以下命令来生成 OpenShift Container Platform 资产:
$ mkdir ocp
$ cp install-config.yaml ocp
进入包含 OpenShift Container Platform 安装程序的目录,并为集群生成 Kubernetes 清单:
$ ./openshift-install create manifests --dir <installation_directory> 1
- 1
- 对于
<installation_directory>
,请指定包含您创建的install-config.yaml
文件的安装目录。
检查
<installation_directory>/manifests/cluster-scheduler-02-config.yml
Kubernetes 清单文件中的mastersSchedulable
参数是否已设置为true
。-
打开
<installation_directory>/manifests/cluster-scheduler-02-config.yml
文件。 找到
mastersSchedulable
参数,并确保它被设置为true
,如以下spec
小节中所示:spec: mastersSchedulable: true status: {}
- 保存并退出 文件。
-
打开
要创建 Ignition 配置文件,请从包含安装程序的目录运行以下命令:
$ ./openshift-install create ignition-configs --dir <installation_directory> 1
- 1
- 对于
<installation_directory>
,请指定相同的安装目录。
从 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
在 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 类型磁盘省略这个条目。
如果需要,您可以对参数进行进一步的调整。
在 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 协议。
将以下工件、文件和镜像传送到 LPAR。例如,使用 FTP:
-
kernel
和initramfs
工件 - 参数文件
RHCOS 镜像
有关如何使用 FTP 和引导传输文件的详情,请参考在 LPAR 中安装。
-
- 引导 bootstrap 机器。
- 引导 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。
使用以下步骤配置满足这些要求的堡垒服务器。
流程
使用以下命令安装
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
使用以下命令,从镜像仓库下载 RHCOS 镜像文件用于 PXE。
输入以下命令为
RHCOS_URL
变量分配以下 4.12 URL:$ export RHCOS_URL=https://mirror.openshift.com/pub/openshift-v4/ppc64le/dependencies/rhcos/4.12/latest/
输入以下命令进入
/var/lib/tftpboot/rhcos
目录:$ cd /var/lib/tftpboot/rhcos
输入以下命令从
RHCOS_URL
变量中存储的 URL 下载指定的 RHCOS kernel 文件:$ wget ${RHCOS_URL}/rhcos-live-kernel-ppc64le -o kernel
输入以下命令从
RHCOS_URL
变量中存储的 URL 下载 RHCOSinitramfs
文件:$ wget ${RHCOS_URL}/rhcos-live-initramfs.ppc64le.img -o initramfs.img
输入以下命令进入
/var/var/www/html/install/
目录:$ cd /var//var/www/html/install/
输入以下命令从
RHCOS_URL
变量中存储的 URL 中下载并保存 RHCOS根文件系统
镜像文件:$ wget ${RHCOS_URL}/rhcos-live-rootfs.ppc64le.img -o rootfs.img
要为单节点 OpenShift 集群创建 ignition 文件,您必须创建
install-config.yaml
文件。输入以下命令来创建包含该文件的工作目录:
$ mkdir -p ~/sno-work
输入以下命令进入到
~/sno-work
目录:$ cd ~/sno-work
使用以下示例文件可以在
~/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 密钥,以便您可以在安装后登录集群。
下载
openshift-install
镜像以创建 ignition 文件并将其复制到http
目录中。输入以下命令下载
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
输入以下命令解包
openshift-install-linux-4.12.0.tar.gz
归档:$ tar xzvf openshift-install-linux-4.12.0.tar.gz
输入以下命令
$ ./openshift-install --dir=~/sno-work create create single-node-ignition-config
运行以下命令来创建 ignition 文件:
$ cp ~/sno-work/single-node-ignition-config.ign /var/www/html/ignition/sno.ign
输入以下命令为
/var/www/html
目录恢复 SELinux 文件:$ restorecon -vR /var/www/html || true
堡垒现在具有所有必需的文件,并正确配置以安装单节点 OpenShift。
12.2.8.2. 使用 IBM Power 安装单节点 OpenShift
先决条件
- 您已设置了 bastion。
流程
单节点 OpenShift 集群安装有两个步骤。首先,单节点 OpenShift 逻辑分区 (LPAR) 需要使用 PXE 引导,然后您需要监控安装进度。
使用以下命令通过 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 所在的系统名称
在单节点 OpenShift LPAR 使用 PXE 引导后,使用
openshift-install
命令监控安装进度:bootstrap 完成后运行以下命令:
./openshift-install wait-for bootstrap-complete
成功返回后运行以下命令:
./openshift-install wait-for install-complete