关于

Red Hat Advanced Cluster Management for Kubernetes 2.3

关于

摘要

关于 Red Hat Advanced Cluster Management for Kubernetes,包括架构、组件和快速启动信息

第 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 控制台的 Welcome 页面有一个标头,显示 Applications 图标以返回到 Red Hat OpenShift Container Platform,访问 Visual Web Terminal 等等。另外,还包括了对该产品的主要功能的介绍,以及到重要的控制台页面的链接。如需更多信息,请参阅控制台概述

Red Hat Advanced Cluster Management for Kubernetes 可以:

  • 在一系列环境中工作,包括运行 Kubernetes 集群的多个数据中心、私有云和公有云。
  • 方便地创建 Kubernetes 集群并在单一控制台中提供集群生命周期管理。
  • 使用 Kubernetes 支持的自定义资源定义,在目标集群中强制实施策略。
  • 部署和维护在您的集群环境中推出的商业应用程序的“第二天”操作。

本指南假定您对 Kubernetes 概念和术语有一定的了解。有关 Kubernetes 概念的更多信息,请参阅 Kubernetes 文档

有关该产品的信息请查看以下文档:

1.1. 多集群架构

KRed Hat Advanced Cluster Management for Kubernetes 由几个多集群组件组成,它们用于访问和管理您的集群。参阅以下部分了解更多有关构架的内容,然后按照链接查看更详细的文档。

Architecture diagram

了解 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 集群维护在其上运行的集群和应用程序的状态。

1.1.2. 受管集群(managed cluster)

受管(managed) 集群指用来定义由 hub 集群管理的其他集群的术语。本地集群是一个术语,它用于定义也是一个受管集群的 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 作业,可以调度自动化任务。当前这是一个技术预览。

如需更多与应用程序相关的内容,请参阅管理应用程序。

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. 开始使用

1.2.1. 简介

请参阅多集群架构

在了解了 hub 集群和受管集群的架构后,在集群文档中了解支持的云,该 文档中列出了云供应商集群选项。

hub 集群是一个 Red Hat OpenShift Container Platform 集群版本 4.6 或更高版本,它可以在任何支持的 Red Hat OpenShift Container Platform 基础架构上运行。

术语表定义了产品中使用的常见术语。

如果遇到问题,请参阅故障排除指南来了解 must-gather 命令的信息,并查看可能有助于解决问题的故障排除任务。

1.2.2. 安装

  1. 在安装 Red Hat Advanced Cluster Management for Kubernetes 前,请参阅系统配置要求和设置。获取所需操作系统及支持的浏览器信息。例如,确保您有受支持的 Red Hat OpenShift Container Platform 版本,以便可以设置 hub 集群。
  2. 确保您的 hub 集群具有适当的容量。要准备您的 hub 集群,请参阅 为安装准备 hub 集群
  3. 当在 hub 集群中安装并运行了支持的 OpenShift Container Platform 版本后,就可以进行在线安装

安装后,请参阅Web 控制台指南,了解如何访问控制台,以及控制台中有哪些功能可用。

1.2.3. 管理集群

现在,可以创建并导入集群。通过 hub 集群,您可以从其他 Kubernetes 服务创建集群来管理,并可以查看集群信息。

  1. 请参阅创建集群以了解您可以创建的受管集群的类型。在创建受管集群时,新的受管集群会自动导入。
  2. 如果您有一个需要手动导入的集群,可以参阅把一个目标集群导入到 hub 集群以了解如何导入受管集群。
  3. 当您不再需要管理一个集群时,可以通过 Cluster 页来分离这个集群。

1.2.4. 管理应用程序

您可以在任何创建和导入的受管集群中开始管理应用程序。您可以创建的资源类型包括应用程序、频道、订阅和放置规则。

  1. 了解更多有关资源以及如何在管理应用程序中创建和管理这些资源的信息,请参阅管理应用程序。添加或编辑您的 .yaml 文件以创建资源。
  2. 应用程序仪表板查看并编辑资源。

1.2.5. 管理安全

您还可以在创建和导入的受管集群中管理安全和合规性。

  1. 使用 policy 模板创建策略。如需有关如何使用 a.yaml 文件模板创建策略的详细信息,请参阅策略概述
  2. 策略页面中,您可以查看集群和策略违反概述。
  3. 在控制台的 Governance 页面中查看您的策略。您还可以从集群 Overview 中查看策略详情。

1.2.6. 观察集群

您可以启用可观察性服务来深入了解受管集群并进行优化。启用 observability 服务 operator(multicluster-observability-operator)以监控受管集群的健康状态。

  1. 了解更多有关 Observing 环境以及如何启用可观察性服务的信息。
  2. 了解有关定制可观察性的信息。

1.3. 术语

以下定义了组成 Red Hat Advanced Cluster Management for Kubernetes 的多集群组件。另外,在此产品中也使用一些常见的 Kubernetes 术语。术语按字母顺序列出。

1.3.1. 相关的标准化术语

1.3.2. Red Hat Advanced Cluster Management for Kubernetes 术语

1.3.2.1. 应用程序生命周期

用于管理受管集群中应用程序资源的进程。多集群应用程序使用 Kubernetes 规格,但可以为单个集群部署和生命周期管理进行额外的自动化。

1.3.2.2. Channel

一个自定义资源定义,指向存储 Kubernetes 资源的仓库,如 hub 集群上的 Git 仓库、Helm Chart 仓库、ObjectStore 仓库或命名空间。频道支持来自多个目标的多个订阅。

1.3.2.3. 集群生命周期

定义跨公共和私有云创建、导入和管理集群的过程。

1.3.2.4. 控制台(Console)

Red Hat Advanced Cluster Management for Kubernetes 的图形用户界面。

1.3.2.5. 可部署资源

一个资源,用来获取构建输出,使用配置属性对输出进行打包,并在预定义位置安装软件包以便对其进行测试或运行。

1.3.2.6. 监管

Red Hat Advanced Cluster Management for Kubernetes 进程用来管理安全和合规性。

1.3.2.7. 枢纽集群(hub cluster)

在 Red Hat Advanced Cluster Management for Kubernetes 集群中运行的一个中央处理器。通过 hub 集群,可以访问控制台及控制台找到的组件,以及 API。

1.3.2.8. 受管集群(managed cluster)

创建并导入的集群由 klusterlet 代理和它的插件(用来与 Red Hat Advanced Cluster Management for Kubernetes hub 集群建立连接的代理)进行管理。

1.3.2.9. klusterlet

受管集群中的代理包括两个控制器,用来与 Red Hat Advanced Cluster Management for Kubernetes hub 集群建立连接。

1.3.2.10. klusterlet 附加组件

基于 Klusterlet 的专用控制器提供额外的管理功能。

1.3.2.11. 放置策略(Placement policy)

定义应用程序组件应该部署的位置和应具有多少副本的策略。

1.3.2.12. 放置规则(Placement rule)

一个规则,用来定义发送订阅的目标集群。例如,验证集群名称、资源注解或资源标签。

1.3.2.13. 订阅(Subscription)

在频道中标识 Kubernetes 资源的资源(资源仓库),然后将 Kubernetes 资源放置到目标集群中。