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 的连接需要将多个代理作为 Pod 部署到 Kubernetes 集群中专用的 azure-arc 命名空间。 这些代理维护与 Azure 的连接,并将群集状态和元数据与相应的 Azure 资源同步。

已启用 Azure Arc 的 Kubernetes 可与任何经 Cloud Native Computing Foundation (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 的特定配置。
  • 使用 Azure Policy for Kubernetes 和集中式策略符合性报告,强制实施影响群集及其 Pod 的运行时策略。 例如,可以对面向已启用 Azure Arc 的 Kubernetes 群集的入口流量强制使用 HTTPS,或确保容器仅侦听特定端口。
  • 使用 Azure Monitor 容器见解来监视容器。

你将在本模块的剩余单元中了解有关这些功能的详细信息。