6.6. 托管 control plane 简介(技术预览)
您可以使用 Red Hat OpenShift Container Platform 托管 control plane 来降低管理成本,优化集群部署时间,并分离管理和工作负载问题,以便专注于应用程序。
您可以使用 multicluster engine for Kubernetes operator 版本 2.0 或更高版本 在 Amazon Web Services (AWS) 上启用托管的 control plane 作为技术预览功能,使用 Agent 供应商或 OpenShift Virtualization。
托管的 control plane 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
6.6.1. 托管 control plane 的架构
OpenShift Container Platform 通常以组合或独立部署,集群由 control plane 和数据平面组成。control plane 包括 API 端点、存储端点、工作负载调度程序和确保状态的指示器。data plane 包括运行工作负载的计算、存储和网络。
独立的 control plane 由一组专用的节点(可以是物理或虚拟)托管,最小数字来确保仲裁数。网络堆栈被共享。对集群的管理员访问权限提供了对集群的 control plane、机器管理 API 和有助于对集群状态贡献的其他组件的可见性。
虽然独立模式运行良好,但在某些情况下需要与 control plane 和数据平面分离的架构。在这些情况下,data plane 位于带有专用物理托管环境的独立网络域中。control plane 使用 Kubernetes 原生的高级别原语(如部署和有状态集)托管。control plane 被视为其他工作负载。
6.6.2. 托管 control plane 的优点
使用托管 OpenShift Container Platform 的 control plane,您可以为真正的混合云方法打下基础,并享受一些其他优势。
- 管理和工作负载之间的安全界限很强大,因为 control plane 分离并在专用的托管服务集群中托管。因此,您无法将集群的凭证泄漏到其他用户。因为基础架构 secret 帐户管理也已被分离,所以集群基础架构管理员无法意外删除 control plane 基础架构。
- 使用托管 control plane,您可以在较少的节点上运行多个 control plane。因此,集群更为经济。
- 因为 control plane 由 OpenShift Container Platform 上启动的 pod 组成,所以 control planes 快速启动。同样的原则适用于 control plane 和工作负载,如监控、日志记录和自动扩展。
- 从基础架构的角度来看,您可以将 registry、HAProxy、集群监控、存储节点和其他基础架构组件推送到租户的云供应商帐户,将使用情况隔离到租户。
- 从操作的角度来看,多集群管理更为集中,从而减少了影响集群状态和一致性的外部因素。站点可靠性工程师具有调试问题并进入集群的数据平面的中心位置,这可能会导致更短的时间解析 (TTR) 并提高生产效率。
6.6.3. 托管 control plane 的版本控制
对于 OpenShift Container Platform 的每个主要、次版本或补丁版本,会发布两个托管的 control plane 组件:
- HyperShift Operator
- 命令行界面 (CLI)
HyperShift Operator 管理由 HostedCluster
API 资源表示的托管集群的生命周期。HyperShift Operator 会随每个 OpenShift Container Platform 发行版本一起发布。在安装了 HyperShift Operator 后,它会在 HyperShift 命名空间中创建一个名为 supported-versions
的配置映射,如下例所示。配置映射描述了可以部署的 HostedCluster 版本。
apiVersion: v1 data: supported-versions: '{"versions":["4.13","4.12","4.11"]}' kind: ConfigMap metadata: labels: hypershift.openshift.io/supported-versions: "true" name: supported-versions namespace: hypershift
CLI 是用于开发目的的帮助程序。CLI 作为任何 HyperShift Operator 发行版本的一部分发布。无法保证兼容性策略。
API hypershift.openshift.io
提供了以大规模创建和管理轻量级、灵活、异构的 OpenShift Container Platform 集群的方法。API 会公开两个面向用户的资源:HostedCluster
和 NodePool
。HostedCluster
资源封装 control plane 和通用数据平面配置。当您创建 HostedCluster
资源时,您有一个完全正常工作的 control plane,没有附加的节点。NodePool
资源是一组可扩展的 worker 节点,附加到 HostedCluster
资源。
API 版本策略通常与 Kubernetes API 版本 的策略一致。