Kubernetes 和已启用 Azure Arc 的 Kubernetes 概述

已完成

在本单元中,你将了解 Kubernetes 以及已启用 Azure Arc 的 Kubernetes 的体系结构和优势。

Kubernetes

Kubernetes 是一种可扩展的开放源代码平台,用于编排容器化工作负载。 为了确保复原能力,每个 Kubernetes 部署都包含多个群集服务器节点。 某些服务器是管理其他工作器节点的控制平面节点。

工作器节点将容器化工作负载作为 Kubernetes Pod 托管。 一个 Pod 大致相当于一个容器,尽管它可以包括在同一节点上运行的多个紧密耦合的容器。

除了基于容器的隔离,Kubernetes 还提供将 Pod 和其他资源(例如部署)隔离到命名空间的功能。 命名空间形成的逻辑边界可以提供用户与访问不同容器化工作负载的外部应用程序之间的隔离。 此外,使用命名空间还可以限制在群集中创建、查看或管理资源的权限。

Kubernetes 的优势

Kubernetes 去掉了多容器环境的复杂性,这种环境可以组合数百或数千个容器依赖的计算、网络和存储组件。 Kubernetes 声明性管理模型描述所需的目标配置,并将其实现详细信息留给 Kubernetes 控制平面。

通过 Kubernetes 可以将数据中心视为统一的计算资源。 你无需担心部署容器的方式和位置,只需按需部署和缩放应用。

Kubernetes 挑战

Kubernetes 是高度可自定义的业务流程平台,需要进行正确的配置、管理和维护。

部署、缩放、负载均衡、日志记录和监视等功能都是可选的。 由你来确定和实现满足自己特定需求的最佳配置。

你负责维护自己的 Kubernetes 环境。 例如,你需要管理操作系统和 Kubernetes 升级。 还必须管理群集节点可用的硬件资源,例如网络、内存和存储。

使用托管的 Kubernetes 产品/服务(如 Azure Kubernetes 服务 (AKS)),可以降低或消除其中一些挑战。

已启用 Azure Arc 的 Kubernetes

使用已启用 Azure Arc 的 Kubernetes,可以附加在任意位置运行的 Kubernetes 群集,以便可以在 Azure 中管理和配置它们。

Azure Arc 使用本地安装的代理与 Azure 建立可信通道。 若要连接到 Azure,需要在 Kubernetes 群集的专用 azure-arc 命名空间中部署多个代理作为 Pod。 这些代理维护与 Azure 的连接,并将群集状态和元数据与相应的 Azure 资源同步。

已启用 Azure Arc 的 Kubernetes 适用于任何经云原生计算基础 (CNCF) 认证的 Kubernetes 群集。 包括在其他公有云服务提供商(如 GCP 或 AWS)上运行的群集或者在本地数据中心(如 VMware vSphere 或 Azure Stack HCI)上运行的群集。

已启用 Azure Arc 的 Kubernetes 的优势

除了上一单元所述的一般 Azure Arc 优势外,已启用 Azure Arc 的 Kubernetes 还提供以下功能:

  • 用于跨多云/混合环境管理所有 Kubernetes 资源的单一控制平面。
  • 已启用 Arc 的 Kubernetes 群集作为托管 Azure 服务的平台。
  • 增强了对使用 GitOps 部署应用程序的支持。 GitOps 支持自动部署描述 Kubernetes 群集所需状态的配置。 可以使用 Azure Policy 强制实施基于 GitOps 的特定配置。
  • 通过使用适用于 Kubernetes 的 Azure Policy 和集中式策略合规性报告来强制执行影响群集及其 Pod 的运行时策略。 例如,可以强制使用 HTTPS 来传递流向已启用 Azure Arc 的 Kubernetes 群集的入口流量,或者确保容器仅侦听特定端口。
  • 使用 Azure Monitor 容器见解来监视容器。

你将在本模块的其余单元详细了解这些功能。