9.2. 在单一节点上安装 OpenShift

9.2.1. 使用 Assisted Installer 生成发现 ISO

在单一节点上安装 OpenShift Container Platform 需要发现 ISO,辅助安装程序(AI)可以使用集群名称、基域、Secure Shell(SSH)公钥和 pull secret 生成。

流程

  1. 在管理节点上,使用浏览器访问使用 Assisted Installer 安装 OpenShift
  2. 单击 Create Cluster 以创建新集群。
  3. Cluster name 字段中输入集群名称。
  4. Base domain 字段中,输入基域。例如:

    example.com

    所有 DNS 记录都必须是这个基域的子域,并包含集群名称。您无法在集群安装后更改基域。例如:

    <cluster-name>.example.com
  5. 选择 安装单节点 OpenShift(SNO)
  6. 阅读 4.9 发行注记,它概述了在单一节点上安装 OpenShift Container Platform 的一些限制。
  7. 选择 OpenShift Container Platform 版本。
  8. 可选:编辑 pull secret。
  9. Next
  10. Generate Discovery ISO
  11. 选择 Full image file 来使用 USB 驱动器或 PXE 进行引导。选择 Minimal 镜像文件来使用虚拟介质引导。
  12. 将管理节点的 SSH 公钥添加到公钥字段。
  13. Generate Discovery ISO
  14. 下载发现 ISO。
  15. 记录用于使用虚拟介质安装的发现 ISO URL。

9.2.2. 手动生成发现 ISO

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

流程

  1. 输入以下命令下载 OpenShift Container Platform 客户端(oc)并使其可用:

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/latest/openshift-client-linux.tar.gz > oc.tar.gz
    $ tar zxf oc.tar.gz
    $ chmod +x oc
  2. 设置 OpenShift Container Platform 版本:

    $ OCP_VERSION=<ocp_version> 1
    1
    <ocp_version> 替换为当前版本。例如:latest-4.9
  3. 输入以下命令下载 OpenShift Container Platform 安装程序并使其可用:

    $ curl -k https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OCP_VERSION/openshift-install-linux.tar.gz > openshift-install-linux.tar.gz
    $ tar zxvf openshift-install-linux.tar.gz
    $ chmod +x openshift-install
  4. 检索 RHCOS ISO URL:

    $ ISO_URL=$(./openshift-install coreos print-stream-json | grep location | grep x86_64 | grep iso | cut -d\" -f4)
  5. 下载 RHCOS ISO:

    $ curl -L $ISO_URL > rhcos-live.x86_64.iso
  6. 准备 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:
      networkType: OVNKubernetes
      clusterNetwork:
      - cidr: <IP_address>/<prefix> 5
        hostPrefix: <prefix> 6
      serviceNetwork:
      - <IP_address>/<prefix> 7
    platform:
      none: {}
    bootstrapInPlace:
      installationDisk: <path_to_install_drive> 8
    pullSecret: '<pull_secret>' 9
    sshKey: |
      <ssh_key> 10
    1
    添加集群域名。
    2
    计算 副本设置为 0。这使得 control plane 节点可以调度。
    3
    controlPlane 副本设置为 1。与前面的 compute 设置结合使用,此设置可确保集群在单一节点上运行。
    4
    metadata 名称设置为集群名称。
    5
    设置 clusterNetwork CIDR。
    6
    设置 clusterNetwork 主机前缀。容器集从这个池接收其 IP 地址。
    7
    设置 serviceNetwork CIDR。服务从这个池接收其 IP 地址。
    8
    设置安装磁盘驱动器的路径。
    9
    从 Red Hat OpenShift Cluster Manager 复制 pull secret。在第 1 步中,单击 Download pull secret,并将内容添加到此配置设置中。
    10
    从管理主机添加公共 SSH 密钥,以便您可以在安装后登录集群。
  7. 生成 OpenShift Container Platform 资产:

    $ mkdir ocp
    $ cp install-config.yaml ocp
    $ ./openshift-install --dir=ocp create single-node-ignition-config
  8. 将 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'
    $ cp ocp/bootstrap-in-place-for-live-iso.ign iso.ign
    $ coreos-installer iso ignition embed -fi iso.ign rhcos-live.x86_64.iso

9.2.3. 使用 USB 介质安装

使用 USB 介质安装涉及在管理节点上使用发现 ISO 创建可引导 USB 驱动器。使用 USB 驱动器引导服务器,可为单一节点安装准备节点。

流程

  1. 在管理节点上,将 USB 驱动器插入到 USB 端口中。
  2. 创建可引导 USB 驱动器:

    # dd if=<path-to-iso> of=<path/to/usb> status=progress

    例如:

    # dd if=discovery_image_sno.iso of=/dev/sdb status=progress

    将 ISO 复制到 USB 驱动器后,您可以使用 USB 驱动器安装 OpenShift Container Platform。

  3. 在服务器上,将 USB 驱动器插入到 USB 端口中。
  4. 重新启动服务器并在重新引导时输入 BIOS 设置。
  5. 更改引导驱动器顺序,以便首先引导 USB 驱动器。
  6. 保存并退出 BIOS 设置。服务器将使用发现映像进行引导。

9.2.4. 使用 Assisted Installer 监控安装

如果您使用 Assisted Installer 创建 ISO,请使用以下步骤监控安装。

流程

  1. 在管理主机上,返回到浏览器并刷新页面。如有必要,重新加载 Install OpenShift with the Assisted Installer 页,并选择主机名。
  2. 单击 Next,直到您到达第 3 步 Networking
  3. 从可用的子网中选择一个子网。
  4. 确定选择了 Use the same host discovery SSH key。如有必要,您可以更改 SSH 公钥。
  5. Next 进入 Review and Create 步骤。
  6. Install cluster
  7. 监控安装的进度。观察集群出现的事件。在安装过程完成将发现镜像写入服务器驱动器后,服务器将重新引导。删除 USB 驱动器并重置 BIOS 以引导到服务器的本地介质,而不是 USB 驱动器。

服务器将多次重启,以部署 control plane。

9.2.5. 手动监控安装

如果您手动创建 ISO,请使用这个步骤监控安装。

流程

  1. 监控安装:

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

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

  2. 可选:安装完成后,检查环境:

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