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.第 1 章 OpenShift Container Platform 安装概述
1.1. 关于 OpenShift Container Platform 安装 复制链接链接已复制到粘贴板!
您可以使用 OpenShift Container Platform 安装程序的灵活性来安装集群。您可以使用以下方法使用该程序:
- 在置备的基础架构上部署集群。
- 在您自己准备并维护的基础架构上部署集群
以下列表详细介绍了两种基本 OpenShift Container Platform 集群类型:
- 安装程序置备的基础架构集群。
- 用户置备的基础架构集群。
两种集群类型都具有以下特征:
- 没有单点故障的高可用性基础架构,默认可用。
- 管理员可以控制更新,如更新机制和时间表。
1.1.1. 关于安装程序 复制链接链接已复制到粘贴板!
您可以使用安装程序部署每种集群。安装程序会生成主要资产,如 bootstrap、control plane 和计算机器的 Ignition 配置文件。您可以使用这三个机器配置开始使用 OpenShift Container Platform 集群,它为您提供了正确配置的基础架构。
OpenShift Container Platform 安装程序使用一组目标和依赖项来管理集群安装。安装程序具有一组必须实现的目标,并且每个目标都有一组依赖项。因为每个目标仅关注其自己的依赖项,所以安装程序可以并行地实现多个目标,最终组成一个正常运行的集群。安装程序会识别并使用现有组件,而不是运行命令来再次创建它们,因为程序满足依赖项。
图 1.1. OpenShift Container Platform 安装目标和依赖项
1.1.2. 关于 Red Hat Enterprise Linux CoreOS (RHCOS) 复制链接链接已复制到粘贴板!
在安装后,每一个集群机器都将使用 Red Hat Enterprise Linux CoreOS (RHCOS) 作为操作系统。RHCOS 是 Red Hat Enterprise Linux (RHEL) 的不可变容器主机版本,具有默认启用 SELinux 的 RHEL 内核。RHCOS 包括作为 Kubernetes 节点代理的 kubelet
,以及为 Kubernetes 优化的 CRI-O 容器运行时。
OpenShift Container Platform 4.11 集群中的每一 control plane 机器都必须使用 RHCOS,其中包括一个关键的首次启动置备工具,称为 Ignition。这一工具让集群能够配置机器。操作系统更新作为可引导容器镜像(使用 OSTree 作为后端)提供,该镜像由 Machine Config Operator 在集群中部署。实际的操作系统更改通过使用 rpm-ostree 在每台机器上作为原子操作原位进行。通过结合使用这些技术,OpenShift Container Platform 可以像管理集群上的任何其他应用程序一样管理操作系统,通过原位升级使整个平台保持最新状态。这些原位更新可以减轻运维团队的负担。
如果将 RHCOS 用作所有集群机器的操作系统,则集群将管理其组件和机器的所有方面,包括操作系统在内。因此,只有安装程序和 Machine Config Operator 才能更改机器。安装程序使用 Ignition 配置文件设置每台机器的确切状态,安装后则由 Machine Config Operator 完成对机器的更多更改,例如应用新证书或密钥等。
1.1.3. OpenShift Container Platform 安装的常见术语表 复制链接链接已复制到粘贴板!
术语表定义了与安装内容相关的常用术语。参阅以下术语列表以更好地了解安装过程。
- Bootstrap 节点
- 一个临时的机器,它运行最小需要的 Kubernetes 配置来部署 OpenShift Container Platform 控制平面(control plane)。
- Control plane(控制平面)
- 一个容器编配层,用于公开 API 和接口来定义、部署和管理容器的生命周期。也称为 control plane 机器。
- Compute 节点
- 负责执行集群用户工作负载的节点。也称为 worker 节点。
- 断开连接的安装
- 在有些情况下,数据中心的部分环境可能无法访问互联网,甚至无法通过代理服务器访问。您仍可在这些环境中安装 OpenShift Container Platform,但需要先下载所需的软件和镜像,并将其保存在离线环境中。
- OpenShift Container Platform 安装程序
- 置备基础架构并部署集群的程序。
- 安装程序置备的基础架构
- 安装程序部署并配置运行集群的基础架构。
- Ignition 配置文件
- Ignition 工具用于在操作系统初始化过程中配置 Red Hat Enterprise Linux CoreOS (RHCOS)的文件。安装程序生成不同的 Ignition 配置文件来初始化 bootstrap、control plane 和 worker 节点。
- Kubernetes 清单
- JSON 或 YAML 格式的 Kubernetes API 对象的规格。配置文件可以包含部署、配置映射、secret 和 daemonset 等。
- Kubelet
- 在集群的每个节点上运行的一个主节点代理,以确保容器在 pod 中运行。
- 负载均衡器
- 负载均衡器是客户端的单点联系。API 的负载均衡器在 control plane 节点之间分布传入的流量。
- Machine Config Operator
- 一个 Operator,管理并应用基本操作系统和容器运行时的配置和更新,包括内核和 kubelet 之间的所有配置和更新。
- Operator
- 在 OpenShift Container Platform 集群中打包、部署和管理 Kubernetes 应用程序的首选方法。Operator 将人类操作知识编码到一个软件程序中,易于打包并与客户共享。
- 用户置备的基础架构
- 您可以在自己提供的基础架构上安装 OpenShift Container Platform。您可以使用安装程序来生成置备集群基础架构所需的资产,再创建集群基础架构,然后将集群部署到您提供的基础架构中。
1.1.4. 安装过程 复制链接链接已复制到粘贴板!
安装 OpenShift Container Platform 集群时,您可以从 OpenShift Cluster Manager Hybrid Cloud Console 上的相应 Cluster Type 页面下载安装程序。此控制台管理:
- 帐户的 REST API。
- registry 令牌,这是用于获取所需组件的 pull secret。
- 集群注册,将集群身份与您的红帽帐户相关联,以便收集使用指标。
在 OpenShift Container Platform 4.11 中,安装程序是对一组资产执行一系列文件转换的 Go 二进制文件。与安装程序交互的方式因您的安装类型而异。考虑以下安装用例:
- 对于具有安装程序置备的基础架构集群,您可以将基础架构启动和置备委派给安装程序,而不是亲自执行。安装程序将创建支持集群所需的所有网络、机器和操作系统。
- 如果亲自为集群置备和管理基础架构,则必须提供所有集群基础架构和资源,包括 Bootstrap 机器、网络、负载均衡、存储和独立的集群机器。
安装期间使用三组文件:名为 install-config.yaml
的安装配置文件、Kubernetes 清单,以及您的机器类型适用的 Ignition 配置文件。
在安装过程中,您可以修改控制基础 RHCOS 操作系统的 Kubernetes 和 Ignition 配置文件。但是,没有可用的验证机制来确认您对这些对象所做修改是适当的。如果修改了这些对象,集群可能会无法运行。由于存在这种风险,修改 Kubernetes 和 Ignition 配置文件不受支持,除非您遵循记录的流程或在红帽支持指示下操作。
安装配置文件转换为 Kubernetes 清单,然后清单嵌套到 Ignition 配置文件中。安装程序使用这些 Ignition 配置文件来创建集群。
运行安装程序时,所有配置文件会被修剪,因此请务必备份需要再次使用的所有配置文件。
安装之后,您无法修改在安装过程中设置的参数,但可以修改一些集群属性。
采用安装程序置备的基础架构的安装过程
默认安装类型为使用安装程序置备的基础架构。默认情况下,安装程序充当安装向导,提示您输入它无法自行确定的值,并为其余参数提供合理的默认值。您还可以自定义安装过程来支持高级基础架构场景。安装程序将为集群置备底层基础架构。
您可以安装标准集群或自定义集群。对于标准集群,您要提供安装集群所需的最低限度详细信息。对于自定义集群,您可以指定有关平台的更多详细信息,如 control plane 使用的机器数量、集群部署的虚拟机的类型,或 Kubernetes 服务网络的 CIDR 范围。
若有可能,可以使用此功能来避免置备和维护集群基础架构。在所有其他环境中,可以使用安装程序来生成置备集群基础架构所需的资产。
对于安装程序置备的基础架构的集群,OpenShift Container Platform 可以管理集群的所有方面,包括操作系统本身。每台机器在启动时使用的配置引用其加入的集群中托管的资源。此配置允许集群在应用更新时自行管理。
采用用户置备的基础架构的安装过程
您还可以在自己提供的基础架构上安装 OpenShift Container Platform。您可以使用安装程序来生成置备集群基础架构所需的资产,再创建集群基础架构,然后将集群部署到您提供的基础架构中。
如果不使用安装程序置备的基础架构,您必须自己管理和维护集群资源。以下列表详细介绍了其中一些自我管理的资源:
- 组成集群的 control plane 和计算机器的底层基础架构
- 负载均衡器
- 集群网络,包括 DNS 记录和所需的子网
- 集群基础架构和应用程序的存储
如果您的集群使用用户置备的基础架构,您可以选择将 RHEL 计算机器添加到集群中。
安装过程详细信息
置备集群时,集群中的每台机器都需要有关集群的信息。OpenShift Container Platform 在初始配置过程中使用临时 bootstrap 机器为永久 control plane 提供所需的信息。临时 bootstrap 机器使用一个带有描述如何创建集群的 Ignition 配置文件进行引导。bootstrap 机器创建组成控制平面(control plane)的 control plane 机器。然后,control plane 机器创建计算(compute)机器。下图说明了这一过程:
图 1.2. 创建 bootstrap、control plane 和计算机器
集群机器初始化后,Bootstrap 机器将被销毁。所有集群都使用 Bootstrap 过程来初始化集群,但若您自己置备集群的基础架构,则必须手动完成许多步骤。
-
安装程序生成的 Ignition 配置文件包含在 24 小时后过期的证书,然后在过期时进行续订。如果在更新证书前关闭集群,且集群在 24 小时后重启,集群会自动恢复过期的证书。一个例外是,您必须手动批准待处理的
node-bootstrapper
证书签名请求(CSR)来恢复 kubelet 证书。如需更多信息,请参阅从过期的 control plane 证书 中恢复的文档。 - 建议您在 Ignition 配置文件生成后的 12 小时内使用它们,因为 24 小时的证书会在集群安装后的 16 小时到 22 小时间进行轮转。通过在 12 小时内使用 Ignition 配置文件,您可以避免在安装过程中因为执行了证书更新而导致安装失败的问题。
bootstrapp 集群涉及以下步骤:
- bootstrap 机器启动并开始托管 control plane 机器引导所需的远程资源。如果您置备基础架构,此步骤需要人工干预。
- bootstrap 机器启动单节点 etcd 集群和一个临时 Kubernetes control plane。
- control plane 机器从 bootstrap 机器获取远程资源并完成启动。如果您置备基础架构,此步骤需要人工干预。
- 临时 control plane 将生产环境的 control plane 调度到生产环境 control plane 机器。
- Cluster Version Operator(CVO)在线并安装 etcd Operator。etcd Operator 在所有 control plane 节点上扩展 etcd。
- 临时 control plane 关机,并将控制权交给生产环境 control plane。
- bootstrap 机器将 OpenShift Container Platform 组件注入生产环境 control plane。
- 安装程序关闭 bootstrap 机器。如果您置备基础架构,此步骤需要人工干预。
- control plane 设置计算节点。
- control plane 以一组 Operator 的形式安装其他服务。
完成此 bootstrap 过程后,将生成一个全面运作的 OpenShift Container Platform 集群。然后,集群会下载并配置日常运作所需的其余组件,包括在受支持的环境中创建计算(compute)机器。
1.1.5. 安装后验证节点状态 复制链接链接已复制到粘贴板!
当以下安装健康检查成功时,OpenShift Container Platform 安装会完成:
- 置备程序可以访问 OpenShift Container Platform Web 控制台。
- 所有 control plane 节点都已就绪。
- 所有集群 Operator 都可用。
安装完成后,负责 worker 节点的特定集群 Operator 持续尝试置备所有 worker 节点。在所有 worker 节点都报告为 READY
之前需要一段时间。对于在裸机上的安装,请等待至少 60 分钟,然后对 worker 节点进行故障排除。对于所有其他平台上安装,请等待至少 40 分钟后再对 worker 节点进行故障排除。负责 worker 节点的集群 Operator 的 DEGRADED
状态取决于 Operator 自己的资源,而不是节点的状态。
安装完成后,您可以继续监控集群中的节点条件。
先决条件
- 安装程序在终端中成功解决。
流程
显示所有 worker 节点的状态:
oc get nodes
$ oc get nodes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示所有 worker 机器节点的阶段:
oc get machines -A
$ oc get machines -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
安装范围
OpenShift Container Platform 安装程序的作用范围特意设计得比较狭窄。它旨在简化操作并确保成功。安装完成后,您可以完成更多的配置任务。
1.1.6. OpenShift Local 概述 复制链接链接已复制到粘贴板!
OpenShift Local 支持快速应用程序开发,以开始构建 OpenShift Container Platform 集群。OpenShift Local 设计为在本地计算机上运行,以简化设置和测试,并使用开发基于容器的应用所需的所有工具在本地模拟云环境。
无论您使用什么编程语言,OpenShift Local 都可以托管您的应用程序,并将最小预配置的 Red Hat OpenShift Container Platform 集群引入本地 PC,而无需基于服务器的基础架构。
在托管环境中,OpenShift Local 可以创建微服务,将它们转换为镜像,并在运行 Linux、macOS 或 Windows 10 或更高版本的笔记本电脑或桌面上直接运行它们。
如需有关 OpenShift Local 的更多信息,请参阅 Red Hat OpenShift Local Overview。