关于
了解有关产品的更多信息,包括架构、组件和快速启动指南。
摘要
第 1 章 欢迎使用 Red Hat Advanced Cluster Management for Kubernetes
Kubernetes 为在标准一致的 control plane 中部署和管理容器提供了一个平台。但是,当应用程序工作负载从开发阶段移到生产环境中时,它们通常需要多个适合使用的 Kubernetes 集群来支持 DevOps 管道。
注: 使用此 Red Hat 产品需要许可证和订阅协议。
用户(如管理员和系统维护工程师等)会面临在不同环境中的一些难题,包括运行 Kubernetes 集群的多个数据中心、私有云以及公共云。Red Hat Advanced Cluster Management for Kubernetes 提供了解决这些常见问题的工具和功能。
Red Hat Advanced Cluster Management for Kubernetes 提供了端到端的管理可见性,并对管理 Kubernetes 环境进行控制。使用集群创建、应用程序生命周期的管理功能控制应用程序,并在混合云环境中为所有应用程序提供安全性和合规性。集群和应用程序都是通过一个带有内置安全策略的、单一控制台可见并管理。在任何运行了 Red Hat OpenShift 的位置执行您的操作,并管理所有 Kubernetes 集群。
Red Hat Advanced Cluster Management for Kubernetes 控制台的欢迎页面有一个标头,显示 Applications 图标以返回到 Red Hat OpenShift Container Platform 及其他系统。另外,还包括了对该产品的主要功能的介绍,以及到重要的控制台页面的链接。如需更多信息,请参阅控制台概述。
Red Hat Advanced Cluster Management for Kubernetes 可以:
- 在一系列环境中工作,包括运行 Kubernetes 集群的多个数据中心、私有云和公有云。
- 方便地创建 Kubernetes 集群并在单一控制台中提供集群生命周期管理。
- 使用 Kubernetes 支持的自定义资源定义,在目标集群中强制实施策略。
- 部署和维护在您的集群环境中推出的商业应用程序的“第二天”操作。
本指南假定您对 Kubernetes 概念和术语有一定的了解。有关 Kubernetes 概念的更多信息,请参阅 Kubernetes 文档。
有关该产品的信息请查看以下文档:
1.1. 多集群架构
KRed Hat Advanced Cluster Management for Kubernetes 由几个多集群组件组成,它们用于访问和管理您的集群。参阅以下部分了解更多有关构架的内容,然后按照链接查看更详细的文档。
了解 Red Hat Advanced Cluster Management for Kubernetes 中的以下组件:
1.1.1. 枢纽集群(hub cluster)
hub 集群是一个常用的术语,用来定义在 Red Hat Advanced Cluster Management for Kubernetes 中运行的中央控制器。通过 hub 集群中,您可以访问控制台和产品组件,以及 Red Hat Advanced Cluster Management API。您还可以使用控制台在集群间搜索资源并查看拓扑。
另外,您可以在 hub 集群上启用 可观察性(observability),以监控云供应商受管集群的指标。
hub 集群使用 MultiClusterHub
Operator 来管理、升级和安装 hub 集群组件。hub 集群使用异步工作请求模型和搜索收集器来聚合来自多个集群的信息。通过数据库,hub 集群维护在其上运行的集群和应用程序的状态。本地集群 是用于定义 hub 集群(同时也是一个受管集群)的术语,将在下一节中讨论。
1.1.2. 受管集群(managed cluster)
受管(managed) 集群指用来定义由 hub 集群管理的其他集群的术语。这两者的连接使用 klusterlet 进行,这是在受管集群上安装的代理。受管集群接收并应用来自 hub 集群的请求,并使其能够为受管集群中的集群生命周期、应用程序生命周期、监管以及可观察性提供服务。
例如,如果启用了可观察性服务,受管集群会将指标发送到 hub 集群。请参阅 Observing 环境以接收指标数据并优化所有受管集群的健康状况。
1.1.3. 集群生命周期
Red Hat Advanced Cluster Management 集群生命周期定义了在不同基础架构云供应商、私有云和内部数据中心的创建、导入、管理和销毁 Kubernetes 集群的过程。
通过 hub 集群控制台,您可以查看所有集群的聚合的健康状态信息,或者查看多个 Kubernetes 集群的单个健康状况指标。另外,您可以单独或批量升级受管的 OpenShift Container Platform 集群,并销毁所有使用 hub 集群创建的 OpenShift Container Platform 集群。在控制台中,您还可以休眠、恢复和分离集群。
请参阅管理集群以了解有关管理集群的信息,这是集群生命周期的一部分。
1.1.4. 应用程序生命周期
Red Hat Advanced Cluster Management Application lifecycle(应用程序生命周期)定义了用来管理您所管理的集群中应用程序资源的进程。通过使用多集群应用程序,可以在多个受管集群中部署资源,并对具有高可用性的应用程序的所有方面完全控制 Kubernetes 资源更新。
多集群应用程序使用 Kubernetes 规格,但提供了对资源的部署和生命周期管理进行额外的自动化。Ansible Tower 作业允许您自动执行任务。您还可以设置一个持续 GitOps 环境,以便在开发、临时和生产环境中的集群间自动实现应用程序一致性。
如需更多与应用程序相关的内容,请参阅管理应用程序。
1.1.5. 监管
通过监管,您可以定义可以强制实现安全合规的策略,或提醒您出现违反了环境配置的合规要求的更改。使用动态策略模板,您可以从中央接口在所有管理集群中管理策略和合规性要求。
有关监管的更多信息,请参阅风险和合规性简介。另外,请参阅基于角色的访问控制文档中的访问要求。
在创建并配置了 Red Hat Advanced Cluster Management hub 集群和受管集群后,您可以使用 Red Hat Advanced Cluster Management 策略框架来查看和创建策略。您可以通过 policy-collection
开源 社区,查看社区成员创建和贡献了哪些策略,并可用向社区提供自己的策略。
1.1.6. Observability(可观察性)
Observability 组件将 OpenShift Container Platform 版本 4.x 或更高版本的受管集群的状态和健康状况报告到 hub 集群。您可以创建自定义警报来告知您的受管集群的问题。由于需要配置持久性存储,所以必须在 Red Hat Advanced Cluster Management 安装后启用可观察性。您还可以访问 Grafana 仪表板。
有关 Observability 的更多信息,请参阅可观察性环境介绍。
参阅发行注记了解更多有关发行版本的信息。
请参阅产品的安装部分准备集群并获取配置信息。
1.2. 支持的供应商
了解 Red Hat Advanced Cluster Management for Kubernetes 可用的云供应商,并找到可以使用的已记录的受管供应商。有关支持的供应商的更多信息,请参阅支持列表。
最佳实践:对于受管集群供应商,请使用 Kubernetes 的最新版本。
注:在以上列出的厂商文档中,您可能需要了解如何配置 kubectl
。当将受管集群导入到 hub 集群时,您必须已安装 kubectl
。详情请参阅把目标受管集群导入到 hub 集群。
1.2.1. 支持的 hub 集群供应商
Red Hat OpenShift Container Platform 版本 4.6.1 或更高版本都支持 hub 集群。
- 请参阅 Red Hat OpenShift Container Platform on Amazon Web Services。
- 请参阅 Red Hat OpenShift Container Platform on Microsoft Azure。
- 请参阅 Red Hat OpenShift Container Platform on Google Cloud Platform。
- 请参阅 Red Hat OpenShift Dedicated (OSD)。
- 请参阅 IBM Cloud (ROKS) 上的 Red Hat OpenShift Container Platform。
- 请参阅 Azure for Red Hat OpenShift (ARO)。
- 请参阅 VMware vSphere 上的 Red Hat OpenShift Container Platform。
- 请参阅 Red Hat OpenShift Container Platform on OpenStack。
- 请参阅 Red Hat OpenShift Container Platform on Red Hat Virtualization。
- 请参阅 OpenShift on Amazon Web Services (ROSA)。
- 请参阅 OpenShift Container Platform on IBM Power 系统。
- 请参阅在 IBM Z 和 LinuxONE 上使用 z/VM 安装。
1.2.2. 支持的受管集群供应商
Red Hat OpenShift Container Platform 版本 3.11.200 或更高版本,受管集群支持 4.6.1 或更高版本。
请参阅可用的受管集群选项和文档:
- 请参阅 Red Hat OpenShift Container Platform on Amazon Web Services。
- 请参阅 Red Hat OpenShift Container Platform on Microsoft Azure。
- 请参阅 Red Hat OpenShift Container Platform on Google Cloud Platform。
- 请参阅 Red Hat OpenShift Dedicated (OSD)。
- 请参阅 IBM Cloud (ROKS) 上的 Red Hat OpenShift Container Platform。
- 请参阅 Azure Red Hat OpenShift (ARO)。
- 请参阅 VMware vSphere 上的 Red Hat OpenShift Container Platform。
- 请参阅 Red Hat OpenShift Container Platform on OpenStack。
- 请参阅 Red Hat OpenShift Container Platform on Red Hat Virtualization。
- 请参阅 OpenShift on Amazon Web Services (ROSA)。
- 请参阅关于 Red Hat OpenShift Kubernetes Engine。
- 请参阅 Amazon Elastic Kubernetes Service (Kubernetes 1.21 及更高版本)。
- 请参阅 Google Kubernetes Engine (Kubernetes 1.22.2 及更高版本)。
- 请参阅 开始使用 IBM Cloud Kubernetes Service (Kubernetes 1.22.3 及更高版本)。
- 请参阅 Azure Kubernetes Service (Kubernetes 1.22.2 及更高版本)。
- 请参阅 IBM Z 上的 Red Hat OpenShift Container Platform 4.6.1 及更新的版本。
- 请参阅 OpenShift Container Platform on IBM Power 系统。
1.3. 开始使用
1.3.1. 简介
请参阅多集群架构。
在了解了 hub 集群和受管集群的架构后,了解更多有关集群文档中的 支持的供应商,其中列出了云供应商集群选项。
hub 集群是一个 Red Hat OpenShift Container Platform 集群版本 4.6 或更高版本,它可以在任何 支持的 Red Hat OpenShift Container Platform 基础架构 上运行。
术语表定义了产品中使用的常见术语。
如果遇到问题,请参阅故障排除指南来了解 must-gather
命令的信息,并查看可能有助于解决问题的故障排除任务。
1.3.2. 安装
安装后,请参阅Web 控制台指南,了解如何访问控制台,以及控制台中有哪些功能可用。
1.3.3. 管理集群
现在,可以创建并导入集群。通过 hub 集群,您可以从其他 Kubernetes 服务创建集群来管理,并可以查看集群信息。
- 请参阅创建集群以了解您可以创建的受管集群的类型。在创建受管集群时,新的受管集群会自动导入。
- 如果您有一个需要手动导入的集群,可以参阅把一个目标集群导入到 hub 集群以了解如何导入受管集群。
- 当您不再需要管理一个集群时,可以通过 Cluster 页来分离这个集群。
1.3.4. 管理应用程序
您可以在任何创建和导入的受管集群中开始管理应用程序。您可以创建的资源类型包括应用程序、频道、订阅和放置规则。
-
了解更多有关资源以及如何在管理应用程序中创建和管理这些资源的信息,请参阅管理应用程序。添加或编辑您的
.yaml
文件以创建资源。 - 从应用程序仪表板查看并编辑资源。
1.3.5. 管理安全
您还可以在创建和导入的受管集群中管理安全和合规性。
-
使用 policy 模板创建策略。如需有关如何使用一个
.yaml
文件模板创建策略的详细信息,请参阅策略概述。 - 在策略页面中,您可以查看集群和策略违反概述。
- 在控制台的 Governance 页面中查看您的策略。您还可以从集群 Overview 中查看策略详情。
1.3.6. 观察集群
您可以启用可观察性服务来深入了解受管集群并进行优化。启用 observability 服务 operator(multicluster-observability-operator
)以监控受管集群的健康状态。
- 了解更多有关 Observing 环境以及如何启用可观察性服务的信息。
- 了解有关定制可观察性的信息。
1.4. 术语
以下定义了组成 Red Hat Advanced Cluster Management for Kubernetes 的多集群组件。另外,在此产品中也使用一些常见的 Kubernetes 术语。术语按字母顺序列出。
1.4.1. 相关的标准化术语
1.4.2. Red Hat Advanced Cluster Management for Kubernetes 术语
1.4.2.1. 应用程序生命周期
用于管理受管集群中应用程序资源的进程。多集群应用程序使用 Kubernetes 规格,但可以为单个集群部署和生命周期管理进行额外的自动化。
1.4.2.2. Channel
一个自定义资源定义,指向存储 Kubernetes 资源的仓库,如 hub 集群上的 Git 仓库、Helm Chart 仓库、ObjectStore 仓库或命名空间。频道支持来自多个目标的多个订阅。
1.4.2.3. 集群生命周期
定义跨公共和私有云创建、导入和管理集群的过程。
1.4.2.4. 控制台(Console)
Red Hat Advanced Cluster Management for Kubernetes 的图形用户界面。
1.4.2.5. 可部署资源
一个资源,用来获取构建输出,使用配置属性对输出进行打包,并在预定义位置安装软件包以便对其进行测试或运行。
1.4.2.6. 监管
Red Hat Advanced Cluster Management for Kubernetes 进程用来管理安全和合规性。
1.4.2.7. 托管的集群
由 HyperShift 管理的 OpenShift Container Platform API 端点。
1.4.2.8. 托管的集群基础架构
客户云帐户中存在的资源,包括网络、计算、存储等。
1.4.2.9. 托管 control plane
在托管服务集群中运行的 OpenShift Container Platform control plane,它由托管的集群的 API 端点公开。control plane 的组件部分包括 etcd
、apiserver
、kube-controller-manager
、vpn
以及其他组件。
1.4.2.10. 托管 control plane 基础架构
管理集群或外部云供应商上的资源是运行托管 control plane 进程的先决条件。
1.4.2.11. 托管服务集群
一个 OpenShift Container Platform 集群,它托管了 HyperShift Operator 以及零对多托管的集群。
1.4.2.12. 托管的服务集群基础架构
托管服务集群的资源,包括网络、计算、存储等。
1.4.2.13. hub 集群
在 Red Hat Advanced Cluster Management for Kubernetes 集群中运行的一个中央处理器。通过 hub 集群,可以访问控制台及控制台找到的组件,以及 API。
1.4.2.14. klusterlet
受管集群中的代理包括两个控制器,用来与 Red Hat Advanced Cluster Management for Kubernetes hub 集群建立连接。
1.4.2.15. klusterlet 附加组件
基于 Klusterlet 的专用控制器提供额外的管理功能。
1.4.2.16. 受管集群(managed cluster)
创建并导入的集群由 klusterlet 代理和它的插件(用来与 Red Hat Advanced Cluster Management for Kubernetes hub 集群建立连接的代理)进行管理。
1.4.2.17. 放置策略(Placement policy)
定义应用程序组件应该部署的位置和应具有多少副本的策略。
1.4.2.18. 放置规则(Placement rule)
一个规则,用来定义发送订阅的目标集群。例如,验证集群名称、资源注解或资源标签。
1.4.2.19. 订阅(Subscription)
在频道中标识 Kubernetes 资源的资源(资源仓库),然后将 Kubernetes 资源放置到目标集群中。