IBM Cloud Docs
VMware Solutions 和 概览 Red Hat OpenShift

VMware Solutions 和 概览 Red Hat OpenShift

IBM Cloud® for VMware Solutions 包括 VMware Cloud Foundation for Classic - Automated 中 IBM Cloud 的全自动快速部署。 这些产品是对内部部署基础架构的补充,允许现有和未来的工作负载在 IBM Cloud 中运行,而无需进行转换,使用的工具、技能和流程与内部部署使用的相同。 有关更多信息,请参阅 What is virtualization?

Red Hat® OpenShift® VMware Solutions 是一个参考架构和手动构建过程,用于在现有的 Server 实例上部署 集群。vCenter Red Hat OpenShift 4.7 Red Hat OpenShift集群的组件通过使用 NSX 软件定义网络以虚拟机(VM)和设备的形式部署。

VMware Solutions and Red Hat OpenShift
VMware Solutions and OpenShift

Red Hat OpenShift 概述

Red Hat OpenShift 平台是一个旨在跨节点集群协调容器化工作负载的平台。 该平台使用 Kubernetes 作为核心容器编排引擎,可管理 Docker 容器映像及其生命周期。

节点的操作系统是 Red Hat® Enterprise Linux® CoreOS,,它是 Red Hat Enterprise Linux (RHEL) 的容器主机版本,采用 RHEL 内核,默认启用 SELinux。 RHEL CoreOS 包括 kubelet(即 Kubernetes 节点代理)和 CRI-O 容器运行时(针对 Kubernetes 进行了优化)。 在 Red Hat OpenShift 4.7 中,所有控制平面机器都必须使用 RHEL CoreOS,但可以使用 Red Hat Enterprise Linux (RHEL) 作为计算或工作机器的操作系统。 如果选择使用 RHEL 工作程序,您必须执行的系统维护工作相较于对所有集群机器使用 RHEL CoreOS 的情况要更多。

参考体系结构和此构建过程都使用的是 RHEL CoreOS。 节点必须能直接访问互联网,才能完成以下任务。

  • 访问 Red Hat OpenShift 基础设施提供商页面下载安装程序。
  • 访问 quay.io 来获取安装集群所需的软件包。
  • 获取执行集群更新所需的软件包。
  • 访问 Red Hat 的软件即服务页面,执行订阅管理。

在参考架构中,以下组件是在构建过程中安装和配置的:

  • 防御主机节点 - 此 RHEL VM 充当覆盖网络上的“跳板机”,以支持构建过程。 通过专用网络使用 SSH 访问。 此节点还托管 Web 服务器,以帮助执行集群构建过程。
  • 引导程序节点 - 由于在供应集群时,集群中的每个节点都需要有关集群的信息,因此会使用临时引导程序节点。 引导节点创建组成控制平面的控制平面节点。 然后,控制平面节点会创建工作程序节点。 集群初始化后,可以销毁引导程序节点。
  • 控制平面节点 - 这些节点运行控制 Kubernetes 集群所需的服务。 这些节点不仅仅包含用于管理集群的 Kubernetes 服务。 主控面 "和 "控制面 "这两个术语可以互换使用。
  • 计算节点 - 在 Kubernetes 集群中,计算节点用于运行工作负载。 计算节点会将其容量公布给控制平面节点。
  • DNS - 正确的 DNS 设置是 Red Hat OpenShift 集群正常运行的必要条件。 vCenter 服务器实例的 AD DNS 服务器托管所需的 DNS 记录。
  • 负载平衡器 - NSX ESG 负载平衡器服务用于前端 Red Hat OpenShift API(内部和外部)以及 Red Hat OpenShift 路由器。 负载平衡器配置为端口 6443 和 22623 指向引导和控制平面节点,而端口 80 和 443 则配置为指向工作节点。
  • Web 服务器 - 需要 Web 服务器来保存用于安装 RHEL CoreOS 的 Ignition 配置和安装映像。 NGINX 安装在防御主机节点上以提供此功能。
  • 持久存储 - 为支持持久存储要求,vSphere云提供商用于提供高达 Red Hat OpenShift 平台由任何受支持的 vSphere 数据存储(VMware® vSAN™, NFS,或 iSCSI )支持。Red Hat OpenShift 可以通过静态或动态调配提供存储。 首选方法是使用动态配置。 动态供应会自动触发创建持久卷及其后端 VMDK 文件。 对于动态配置,为 Red Hat OpenShift 群集定义了默认的 StorageClass,并在 Kubernetes 中创建了 PersistentVolumeClaim。

通过“跳转服务器”或远程设备可以访问该构建过程的环境:

  • 您可以在 vCenter Server 实例旁边安装 Microsoft Windows® 或 Linux 虚拟服务器实例 (VSI),以便对环境进行管理访问。 此 VSI 具有用于远程连接到服务器和下载文件的因特网访问权。 此外,它还具有用于连接到 vCenter 和防御主机节点的专用网络访问权。
  • 您可以让远程设备(笔记本电脑或台式机)通过 IBM Cloud SSL VPN 连接到 IBM Cloud 专用网络。 该远程设备可访问互联网下载所需文件,并可通过 SSL VPN 与 vCenter 和堡垒节点连接。

脚本概述

此构建过程使用以下脚本编制工具和脚本:

  • govc 是 CLI 的预编译版本,适用于、OSX 和 Windows。vSphere Linux CLI 对于完成各种 vCenter Server 和 vSphere 操作非常有用,本过程中使用 CLI 完成以下任务:
    • 将 ISO 和 OVA 文件上传到 vSphere 数据存储。
    • 创建供 Red Hat OpenShift 集群使用的持久卷。
  • Red Hat 安装程序 - 安装程序创建 Terraform 使用的 Ignition 文件。 Ignition 是第一个引导安装程序和配置工具,专门为 CoreOS Container Linux 而设计,用于对磁盘分区、格式化分区、编写文件和配置用户。 在首次引导时,Ignition 会从远程 URL 读取其配置,并将配置应用于 VM。
  • Terraform - Terraform 是一个工具,用于将 API 编码为声明式配置文件。 Terraform 使用“提供程序”来与基础架构进行交互。 .tf 文件用于将基础架构描述为代码。 .tvars 文件用于存储部署变量。 main.tf 文件包含构建指令。
  • PowerShell 用于在 AD DNS 服务器上创建 DNS 条目。
  • PowerShell Core 可用于 Windows、Linux 和 macOS 系统。 该工具为可选工具,可用于跳转服务器或远程设备,以启用 PowerCLI 的使用。 有关详细信息,请参阅 PowerShell Core
  • PowerCLI- PowerCLI 是一个 PowerShell 界面,用于管理 VMware vSphere®。您可以自动管理 vSphere 的各个方面,包括网络、存储、虚拟机和客户操作系统。 该工具为可选工具,可在跳转服务器或远程设备上使用,以帮助准备 vCenter Server 实例。 这些步骤可通过图形用户界面完成。 有关如何安装此工具的详细信息,请参阅 Install PowerCLI
  • PowerNSX - PowerNSX 是一个 PowerShell 模块,用于将 VMware NSX API 抽象为一组易用的 PowerShell 函数。 该工具为可选工具,可在跳转服务器或远程设备上使用,以帮助在 vCenter Server 实例上准备 NSX。 这些步骤可通过图形用户界面完成。 有关详细信息,请参阅 powernsx

构建过程概述

本文档介绍在现有 vCenter Server 实例上安装 Red Hat OpenShift v4.7 的过程。 此过程会安装和配置以下内容:

  • 一个防御主机节点。
  • 一个引导程序节点。
  • 三个控制平面节点。
  • 三个工作程序节点。

部署方法分为以下几个阶段:

  • 第 1 阶段 - vCenter 服务器实例准备。
    • 使用 IBM Cloud® for VMware Solutions 控制台,订购一个 vCenter Server 实例,其中可包括 NFS 或 vSAN 存储。 如果现有实例有足够的容量,您可以使用该实例。
    • 使用 IBM Cloud 控制台,为 Red Hat OpenShift 群集订购更多私有和公用子网
    • 为堡垒或部署节点的操作系统下载 RHEL 8.0 ISO 和 Red Hat Enterprise Linux CoreOS (RHCOS) OVA 映像。 此步骤在安装先决条件中进行了描述。
    • 使用 govc,将 OVA 和 ISO 上传到 vCenter Server 实例上的数据存储。 此步骤在安装先决条件中进行了描述。
    • 添加逻辑交换机 - 创建两个逻辑交换机:OpenShift-LS- Red Hat OpenShift 虚拟机部署到的网络和 OpenShift-DLR-Transit- DLR 和边缘之间的上行链路。
    • 添加 ESG - 外部服务网关 (ESG) 是一个虚拟设备,用于提供南北路由和其他网络功能。 在此体系结构中,ESG 用于路由、NAT、防火墙和负载均衡。 由于 ESG 被配置为主动-被动对,DRS 反亲和性规则用于确保 NSX Edges 不在同一主机上运行。 静态路由用于将流量定向到因特网或 IBM 专用网络。 该步骤在 Red Hat OpenShift NSX Edge 配置 中描述。
    • 添加 DLR - 分布式逻辑路由器(DLR)是一种包含路由控制平面的虚拟设备,它将内核模块中的数据平面分配给每个管理程序主机。 DLR 提供东西分布式路由,是安装在 Red Hat OpenShift 逻辑交换机上的 Red Hat OpenShift 虚拟机的默认网关。 将 NSX DLR 虚拟机配置为主动-被动对,并创建 vSphere Distributed Resource Scheduler (DRS) antiaffinity 规则,以确保 DLR 虚拟机不在同一主机上运行。 Red Hat OpenShiftNSX DLR 配置中描述了这一步骤
    • 更新 DNS - 使用 PowerShell 脚本,用 Red Hat OpenShift 组件的名称和 IP 地址更新与 vCenter 服务器实例配置的基础 DNS。 VMware Solutions DNS 配置 中描述了这一步骤。
  • 第 2 阶段 - Red Hat OpenShift 安装。 Red Hat OpenShift 4.7 用户提供商基础架构安装中描述了这些步骤
    • Red Hat 虚拟机(bastion 节点)被配置为运行 Red Hat OpenShift 安装程序和托管 HTTP Server。 使用您的订阅在 Red Hat 注册,然后下载 Red Hat OpenShift 安装程序。
    • 在 bastion 节点上,install-config.yaml 文件中填入所需的 Red Hat OpenShift 参数,Red Hat OpenShift 点火用于生成用于安装引导器、控制平面和工作机的大量文件。
    • 堡垒节点上的 Terraform 会使用 Ignition 创建的文件创建 Red Hat OpenShift 虚拟机。
  • 第 3 阶段--部署后活动。 配置供 Red Hat OpenShift 集群使用的持久卷。 Red Hat OpenShift 4.7 附加配置中描述了这一步骤