菜单

本页使用了机器翻译。某些内容可能不完美。敬请提出宝贵意见和建议。

分享反馈

Azure 中的 Kubernetes:工作原理和 7 个服务选项

目录

分享该页面

blank avatar
Jeff Whitaker

如何在 Azure 中运行 Kubernetes?

Kubernetes 是一个快速增长的平台,用于管理容器化应用程序、存储和网络组件。它允许开发人员和管理员专注于应用程序工作负载,而不是基础设施组件。Kubernetes 提供了一种方便、声明式的方式来部署大量容器,并为管理任务提供了一套强大的 API。

Kubernetes 的安装和维护可能很复杂,尤其是在生产环境和企业规模下运行时。为了降低密钥管理和部署操作(如可扩展性和 Kubernetes 更新)的复杂性,您可以使用多个托管 Azure 服务,包括 Azure Kubernetes Service (AKS) 和 Azure Container Instances (ACI)。

例如,在 AKS 中,Azure 管理 AKS 控制平面,客户仅为运行应用程序的 AKS 节点付费。

这是关于 Kubernetes 的广泛系列指南的一部分。

在本文中,您将了解:

在 Azure 中运行 Kubernetes 有哪些好处?

在 Azure 中运行 Kubernetes 为希望部署和管理容器化应用程序的组织提供了多项好处。在 Azure 中运行 Kubernetes 的一些主要优势包括:

  • 无缝集成:Azure 提供与 Kubernetes 的无缝集成,使组织能够轻松地在 Azure 基础架构上部署和管理容器化应用程序。
  • 可扩展性:Azure 提供可扩展的基础架构,可以满足现代应用程序不断增长的需求。Azure 中的 Kubernetes 可以轻松扩展或缩小以满足应用程序的需求。
  • 可用性:Azure 提供高可用性和灾难恢复功能,确保 Kubernetes 集群始终可用,并可以从任何中断中快速恢复。
  • 安全性:Azure 提供强大的安全功能,包括网络安全、身份和访问管理以及加密,可帮助组织保护其 Kubernetes 集群及其上运行的应用程序。
  • 自动化:Azure 提供自动化功能,可帮助组织自动部署、扩展和管理 Kubernetes 集群及其上运行的应用程序,从而减少管理基础架构所需的时间和精力。
  • 混合云功能:Azure 提供混合云功能,使组织能够在本地和云中运行 Kubernetes 集群,并在两个环境之间轻松移动应用程序。

Azure Kubernetes:参考架构

为了说明 Kubernetes 通常如何在 Azure 上实现,Microsoft 提供了一个参考架构,这是在 Azure Kubernetes Service (AKS) 中实现的 Microsoft 应用程序。这种参考架构可以作为大多数实现的起点。

aks

来源:Azure

参考架构由以下组成:

  • Azure Kubernetes Service (AKS)——架构的中心是 AKS。
  • Kubernetes 集群——运行工作负载的集群,部署在 AKS 上。使用 AKS,您只需管理代理节点,AKS 承担 Kubernetes 控制平面的责任。
  • 虚拟网络——AKS 创建一个可以在其中部署代理节点的虚拟网络。在高级场景中,您可以首先创建虚拟网络,以便更好地控制子网、本地连接、IP 地址等的配置。
  • 入口——入口提供用于访问集群服务的 HTTP/HTTPS 路径。在其背后,您通常会部署 API 网关来管理身份验证和授权。
  • Azure Load Balancer——在实现 NGINX 入口控制器时创建。用于将传入流量路由到入口。
  • 外部数据存储——微服务通常是无状态的,并将数据保存到外部数据存储,例如 Azure SQL Database 等关系数据库或 Cosmos DB 等 NoSQL 存储。
  • Azure Active Directory (AD)——AKS 有自己的 Azure AD 身份,用于生成和控制 Kubernetes 部署的 Azure 资源。除了这些机制之外,Microsoft 还建议使用 Azure AD 在使用 Kubernetes 集群的客户端应用程序中建立用户身份验证。
  • Azure Container Registry (ACR)——用于存储组织的 Docker 镜像,并使用它们将容器部署到集群。ACR 还可以利用 Azure AD 的身份验证。另一种选择是将 Docker 镜像存储在第三方注册表中,例如 DockerHub。
  • Azure Pipelines——Azure DevOps 服务的一部分,可以帮助您自动化构建/测试/部署周期。或者,您可以使用第三方 CI/CD 解决方案,如 Jenkins。
  • Helm——Kubernetes 包管理器。您可以使用它将 Kubernetes 对象组合到一个包中,以便更轻松地分发和版本控制。
  • Azure Monitor——从与 Kubernetes 集群交互的 Azure 服务(包括 AKS 控制器、节点和容器)收集和存储日志。您可以使用此数据监控应用程序、配置警报和仪表板以及分析错误的根本原因。

相关内容:使用 Azure NetApp Files 提高 Azure 上的 Kubernetes 性能

Azure 上的 Kubernetes:7 个服务选项

1.Azure Kubernetes Service

Azure Kubernetes Service (AKS) 有助于在 Azure 中部署托管 Kubernetes 集群。AKS 从开发人员和管理员那里卸载关键任务,例如运行状况监控和维护。

在 AKS 上运行时,您只需要管理代理节点,只需为代理节点付费。Kubernetes 主节点无需任何费用——这些节点是自动配置和部署的。您可以配置其他功能,包括 Azure AD 集成、高级网络和监控。

您可以使用 Azure CLI 或 Azure 门户创建 AKS 集群。另一种选择是使用基础设施即代码 (IaC) 解决方案,如 Azure Resource Manager 模板或 TerraForm。

相关内容:如何在 AKS 中为容器配置持久卷

2.Azure Container Instances

容器正在成为打包、部署和管理云应用程序的首选方法。Azure Container Instances 提供了一种方便的方式来管理 Azure 中的容器,而无需管理虚拟机。容器实例在几秒钟内启动,因为它们的开销远低于 Azure VM。

您可以从 DockerHub、您的个人 Azure Container Registry 或任何其他 Docker 注册表导入 Linux 或 Windows 容器的镜像。Azure Container Instances 具有基本操作系统的常用镜像缓存,可帮助您更快地部署自定义镜像。

相关内容:

3.Azure Service Fabric

Service Fabric 提供了一个分布式平台,允许您打包和部署由容器组成的微服务应用程序。Service Fabric 解决了云原生开发的许多主要挑战。

Azure Service Fabric 专注于构建有状态服务。您可以使用您选择的语言或代码利用服务框架编程模型,或使用有状态需求运行容器化服务。您还可以在本地 Linux 计算机、Windows Server 或其他公共云平台上创建 Service Fabric 集群。

Service Fabric 用于支持许多核心 Microsoft 服务,包括 Microsoft Power BI、Azure SQL Database、Cosmos DB、Dynamics 365 和 Skype。

4.Azure Container Registry

Azure Container Registry (ACR) 是一种私有托管的 Docker 注册表服务,基于开源 Docker Registry 2.0 构建。创建和管理 Azure 容器注册表,以存储和管理组织的专用 Docker 镜像。

您还可以使用 ACR Tasks 根据需要从镜像构建容器,根据事件(如提交到源代码存储库)或更新基础镜像自动构建。

5.Azure Container Instances

Azure Container Instances (ACI) 是由 Microsoft Azure 提供的无服务器容器服务。它允许您运行容器,而无需管理底层基础设施。ACI 是轻量级、短期和无状态工作负载的理想选择。它提供快速启动时间、自定义大小和按秒计费,使其在各种用例中具有成本效益和灵活性。

6.Azure Container Apps

Container Apps 是用于在 Azure 中构建、部署和扩展容器化应用程序的完全托管平台。它通过提供内置的自动缩放、滚动更新以及与 Azure 服务的集成来简化容器管理。

Container Apps 支持自定义域和 TLS 证书,可以跨多个环境运行应用程序。凭借其事件驱动架构,它使您能够构建能够根据需求高效扩展的现代化、弹性和响应式应用程序。

7.Azure Dev Spaces

Azure Dev Spaces 服务为使用 AKS 的团队提供快速、迭代的 Kubernetes 开发环境。Azure Dev Spaces 允许您对 AKS 中的所有应用程序组件进行故障排除和测试,而无需设置开发计算机或设置依赖项。

使用 Azure Dev Spaces,您可以为项目自动生成 Docker 和 Kubernetes 工件,从而轻松地将新的和现有的 Kubernetes 应用程序添加到开发工作中。

Azure 中的 Kubernetes 与 Cloud Volumes ONTAP

NetApp Cloud Volumes ONTAP,领先的企业级存储管理解决方案,在 AWS、Azure 和 Google Cloud 上提供安全、成熟的存储管理服务。云量ONTAP容量可以扩展到PB级,支持各种用例,如文件服务、数据库、DevOps或任何其他企业工作负载,具有强大的功能,包括高可用性、数据保护、存储效率、Kubernetes集成等。

特别是, Cloud Volumes ONTAP支持Kubernetes持久卷配置和容器化工作负载的管理要求。

详细了解Cloud Volumes ONTAP如何通过Cloud Volumes ONTAP案例研究帮助解决这些Kubernetes工作负载中容器化应用程序的挑战。

使用Azure NetApp文件的Azure中的Kubernetes

Azure NetApp文件是基于NetApp技术构建的Microsoft Azure文件存储服务,即使您的核心业务应用程序也需要Azure中的文件功能。

将企业级数据管理和存储迁移到Azure ,以便轻松管理工作负载和应用程序,并将所有基于文件的应用程序迁移到云。

Azure NetApp文件可为希望将任务关键型应用程序移至云的企业解决可用性和性能挑战,包括HPCSAPLinux、Oracle和SQL Server工作负载、Windows虚拟桌面等工作负载。

特别是, Azure NetApp文件允许您将更多应用程序迁移到Azure ,即使是业务关键型工作负载,也能以亚毫秒的响应时间实现极高的文件吞吐量。

了解有关Azure中的Kubernetes的更多信息

请阅读我们关于Azure中的Kubernetes的系列指南,了解更多信息。

Azure Kubernetes集群:在Azure上部署您的第一个集群

Kubernetes集群包含资源,包括一个或多个pode。这些 Pod 具有特定功能或共享某些数据——它们具有独特的角色。要在 Azure 云中部署 Kubernetes 集群,您可以使用 Azure Kubernetes Service (AKS)。本文将指导您完成部署和保护 Azure Kubernetes 集群的步骤和实践,了解如何执行此操作。

阅读更多:Azure Kubernetes 集群:在 Azure 上部署您的第一个集群

使用 Azure NetApp Files 在 Azure 上实现出色的 Kubernetes 性能

Kubernetes 在生产中部署企业级操作时可能过于复杂。为了提供高级别的性能,Microsoft 与 NetApp 合作推出了一项新服务:Azure NetApp Files (ANF)。本文介绍了如何轻松实现超低延迟和高性能。

阅读更多:使用 Azure NetApp Files 在 Azure 上实现出色的 Kubernetes 性能

解决 Azure Kubernetes Service 中的持久存储问题

Azure Kubernetes Service (AKS) 使您能够在 Azure 平台上部署、配置和管理 Kubernetes。您可以获得各种功能,从而简化将本地工作负载迁移到 Azure 的过程,并可进行控制以轻松进行管理。为了确保数据访问的稳定性,您可以将 Azure NetApp Files (ANF) 用作存储层。了解如何使用此第一方服务实现持久性,该服务由 NetApp 提供支持并由 Microsoft 管理。

阅读更多:解决 Azure Kubernetes Service 中的持久存储问题

Azure Container Instance:基础知识和快速教程

Azure Container Instances (ACI) 是一项服务,允许您直接在 Microsoft Azure 公共云上运行容器,而无需使用虚拟机 (VM)。了解 Azure Container Instance (ACI) 功能及其与容器编排器的比较,并学习如何创建第一个容器实例。

阅读更多:Azure Container Instance:基础知识和快速教程

Azure Container Instances vs Azure Kubernetes Service (AKS):如何选择

Azure Container Instances (ACI) 提供了在 Azure 云中运行容器的简单方法,无需管理虚拟机 (VM)。Azure Kubernetes Service (AKS) 可让您在 Azure 中部署托管的 Kubernetes 集群。了解 ACI 和 AKS 在定价、可扩展性、安全性等方面的差异。

阅读更多:Azure Container Instances vs Azure Kubernetes Service (AKS):如何选择

GKE vs AKS:在可用性、安全性、工具等方面的比较

Google Kubernetes Engine (GKE) 和 Azure Kubernetes Service (AKS) 都是由领先的云提供商提供的托管 Kubernetes 服务。了解两者之间的差异以及如何为您的组织选择合适的解决方案。

阅读更多:GKE vs AKS:在可用性、安全性、工具等方面的比较

Azure 容器:在 Azure 上运行容器的前 4 个选项

Microsoft Azure 提供了几项专为帮助您运行容器化应用程序而设计的服务。了解顶级 Azure 容器服务,包括 Azure Kubernetes Service (AKS) 和 Azure Container Instances (ACS)。

阅读更多:Azure 容器:在 Azure 上运行容器的前 4 个选项

AKS 备份演练:如何在 AKS 中执行备份和还原操作

持久卷上的数据需要受到保护。对于依赖 Azure 上的原生托管 Kubernetes 服务 AKS 的用户,有一个解决方案。AKS 与 Azure Backup 无缝协作,以创建和还原持久卷的备份副本。此博客通过分步演练向您展示如何执行此操作。

AKS 备份演练:如何在 AKS 中执行备份和还原操作中了解更多信息

查看关键 Kubernetes 主题的其他指南

我们与我们的内容合作伙伴一起撰写了其他几个主题的深入指南,这些指南在您探索 Kubernetes 世界时也很有用。

Kubernetes 故障排除

由 Komodor 编写


容器安全

由 Tigera 编写


Kubernetes 网络

由 Tigera 编写


Drift chat loading