This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.7.4. 在裸机中添加计算机器
您可以在裸机上的 OpenShift Container Platform 集群中添加更多计算机器。
7.4.1. 先决条件
- 您在裸机上安装了集群。
- 您有用来创建集群的安装介质和 Red Hat Enterprise Linux CoreOS(RHCOS)镜像。如果您没有这些文件,必须按照 安装过程的说明获得这些文件。
7.4.2. 创建 Red Hat Enterprise Linux CoreOS (RHCOS) 机器
在将更多计算机器添加到在裸机基础架构上安装的集群之前,必须先创建 RHCOS 机器供其使用。按照相应的步骤,使用 ISO 镜像或网络 PXE 启动来创建机器。
您可以使用 ISO 镜像为裸机集群创建更多计算机器,以创建机器。
先决条件
- 获取集群计算机器的 Ignition 配置文件的 URL。在安装过程中将该文件上传到 HTTP 服务器。
- 获取您在集群安装过程中上传到 HTTP 服务器的 BIOS 或 UEFI RHCOS 镜像文件的 URL。
流程
- 使用 ISO 文件在更多计算机器上安装 RHCOS。在安装集群前,使用创建机器时使用的相同方法: - 将 ISO 镜像刻录到磁盘并直接启动。
- 在 LOM 接口中使用 ISO 重定向。
 
- 
								实例启动后,按 TAB或E键编辑内核命令行。
- 将参数添加到内核命令行: - coreos.inst=yes coreos.inst.install_dev=sda coreos.inst.image_url=<bare_metal_image_URL> coreos.inst.ignition_url=http://example.com/worker.ign - coreos.inst=yes coreos.inst.install_dev=sda- 1 - coreos.inst.image_url=<bare_metal_image_URL>- 2 - coreos.inst.ignition_url=http://example.com/worker.ign- 3 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
								按 Enter键完成安装。安装 RHCOS 后,系统会重启。系统重启后,它会应用您指定的 Ignition 配置文件。
- 继续为集群创建更多计算机器。
您可以使用 PXE 或 iPXE 引导为裸机集群创建更多计算机器。
先决条件
- 获取集群计算机器的 Ignition 配置文件的 URL。在安装过程中将该文件上传到 HTTP 服务器。
- 
								获取您在集群安装过程中上传到 HTTP 服务器的 RHCOS ISO 镜像、压缩的裸机 BIOS、kernel和initramfs文件的 URL。
- 您可以访问在安装过程中为 OpenShift Container Platform 集群创建机器时使用的 PXE 引导基础架构。机器必须在安装 RHCOS 后从本地磁盘启动。
- 
								如果使用 UEFI,您可以访问在 OpenShift Container Platform 安装过程中修改的 grub.conf文件。
流程
- 确认 RHCOS 镜像的 PXE 或 iPXE 安装正确。 - 对于 PXE: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 这个配置不会在使用图形控制台的机器上启用串口控制台访问。要配置不同的控制台,请在 - APPEND行中添加一个或多个- console=参数。例如,添加- console=tty0 console=ttyS0将第一个 PC 串口设置为主控制台,图形控制台作为二级控制台。如需更多信息,请参阅如何在 Red Hat Enterprise Linux 中设置串行终端和(或)控制台?
- 对于 iPXE: - kernel http://<HTTP_server>/rhcos-<version>-installer-kernel-<architecture> ip=dhcp rd.neednet=1 initrd=http://<HTTP_server>/rhcos-<version>-installer-initramfs.<architecture>.img coreos.inst=yes coreos.inst.install_dev=sda coreos.inst.image_url=http://<HTTP_server>/rhcos-<version>-metal.<arhcitectutre>.raw.gz coreos.inst.ignition_url=http://<HTTP_server>/worker.ign initrd http://<HTTP_server>/rhcos-<version>-installer-initramfs.<architecture>.img boot - kernel http://<HTTP_server>/rhcos-<version>-installer-kernel-<architecture> ip=dhcp rd.neednet=1 initrd=http://<HTTP_server>/rhcos-<version>-installer-initramfs.<architecture>.img coreos.inst=yes coreos.inst.install_dev=sda coreos.inst.image_url=http://<HTTP_server>/rhcos-<version>-metal.<arhcitectutre>.raw.gz coreos.inst.ignition_url=http://<HTTP_server>/worker.ign- 1 - 2 - initrd http://<HTTP_server>/rhcos-<version>-installer-initramfs.<architecture>.img- 3 - boot- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 这个配置不会在使用图形控制台的机器上启用串口控制台访问。要配置不同的控制台,请在 - kerne行中添加一个或多个- console=参数。例如,添加- console=tty0 console=ttyS0将第一个 PC 串口设置为主控制台,图形控制台作为二级控制台。如需更多信息,请参阅如何在 Red Hat Enterprise Linux 中设置串行终端和(或)控制台?
 
- 使用 PXE 或 iPXE 基础架构为集群创建所需的计算机器。
7.4.3. 批准机器的证书签名请求
将机器添加到集群时,会为您添加的每台机器生成两个待处理证书签名请求(CSR)。您必须确认这些 CSR 已获得批准,或根据需要自行批准。客户端请求必须首先被批准,然后是服务器请求。
先决条件
- 您已将机器添加到集群中。
流程
- 确认集群可以识别这些机器: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出将列出您创建的所有机器。 
- 检查待处理的 CSR,并确保可以看到添加到集群中的每台机器都有 - Pending或- Approved状态的客户端请求:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 在本例中,两台机器加入了集群。您可能会在列表中看到更多已批准的 CSR。 
- 如果 CSR 没有获得批准,请在所添加机器的所有待处理 CSR 都处于 - Pending状态后,为您的集群机器批准这些 CSR:注意- 由于 CSR 会自动轮转,因此请在将机器添加到集群后一小时内批准您的 CSR。如果没有在一小时内批准,证书将会轮转,每个节点将会存在多个证书。您必须批准所有这些证书。批准初始 CSR 后,集群的 - kube-controller-manager会自动批准后续的节点客户端 CSR。您必须实施一个方法来自动批准 kubelet 提供的证书请求。- 若要单独批准,请对每个有效的 CSR 运行以下命令: - oc adm certificate approve <csr_name> - $ oc adm certificate approve <csr_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- <csr_name>是当前 CSR 列表中 CSR 的名称。
 
- 要批准所有待处理的 CSR,请运行以下命令: - oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve- $ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 现在,您的客户端请求已被批准,您必须查看添加到集群中的每台机器的服务器请求: - oc get csr - $ oc get csr- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - NAME AGE REQUESTOR CONDITION csr-bfd72 5m26s system:node:ip-10-0-50-126.us-east-2.compute.internal Pending csr-c57lv 5m26s system:node:ip-10-0-95-157.us-east-2.compute.internal Pending ... - NAME AGE REQUESTOR CONDITION csr-bfd72 5m26s system:node:ip-10-0-50-126.us-east-2.compute.internal Pending csr-c57lv 5m26s system:node:ip-10-0-95-157.us-east-2.compute.internal Pending ...- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 如果剩余的 CSR 没有被批准,且处于 - Pending状态,请批准集群机器的 CSR:- 若要单独批准,请对每个有效的 CSR 运行以下命令: - oc adm certificate approve <csr_name> - $ oc adm certificate approve <csr_name>- 1 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- <csr_name>是当前 CSR 列表中 CSR 的名称。
 
- 要批准所有待处理的 CSR,请运行以下命令: - oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve- $ oc get csr -o go-template='{{range .items}}{{if not .status}}{{.metadata.name}}{{"\n"}}{{end}}{{end}}' | xargs oc adm certificate approve- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 批准所有客户端和服务器 CSR 后,器将处于 - Ready状态。运行以下命令验证:- oc get nodes - $ oc get nodes- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 批准服务器 CSR 后可能需要几分钟时间让机器转换为 - Ready状态。
其他信息
- 如需有关 CSR 的更多信息,请参阅证书签名请求。