0Pricing
Azure Fundamentals · 课时

Azure Arc:管理混合资源

将本地服务器和 Kubernetes 群集接入 Azure Arc,为混合资源应用 Azure 策略,并在 Azure 门户中查看其运行状况。

Azure Arc:管理混合资源 是 CoddyKit 上的免费 Azure Fundamentals 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Azure Fundamentals 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Azure Fundamentals 课程共包含 4 节课。

混合管理的挑战

大多数组织都在混合环境中运行:部分工作负载在 Azure 中运行,其他工作负载在本地服务器上运行,还有一些运行在其他云提供商的平台上。使用不同工具管理这些分散的环境会形成运维孤岛——策略、监视和访问控制各不相同。Azure Arc 通过将 Azure 管理平面扩展到任意基础设施来解决这一问题,让您可以使用与管理 Azure 原生资源相同的 Azure 门户、CLI、策略和 RBAC 来管理本地资源和多云资源。

什么是 Azure Arc?

Azure Arc 是一组技术,可将非 Azure 资源映射到 Azure Resource Manager (ARM) 中,使其显示为带有资源 ID 的 Azure 资源。目前,Arc 支持:服务器(本地或其他云中的 Windows/Linux VM)、Kubernetes 集群(任何符合 CNCF 标准的 Kubernetes)、SQL Server 实例、Azure 数据服务(Arc 上的 SQL Managed Instance 和 PostgreSQL),以及 VMware vSphere 和 Azure Stack HCI 虚拟机。

将服务器加入 Azure Arc

要将 Windows 或 Linux 服务器加入 Arc,您需要在服务器上安装 Azure Connected Machine agent。该代理会在 ARM 中注册计算机,并保持与 Azure 的持久出站连接(无需入站端口)。注册后,服务器会以完整的 ARM 资源 ID 显示在 Azure 门户的 Azure Arc > Servers 下。您可以从门户生成交互式或自动化加入脚本,其中包含您的订阅和资源组详细信息。

# Download and run the Arc onboarding script on a Linux server
curl -s 'https://aka.ms/azcmagent' | bash

azcmagent connect \
  --service-principal-id <sp-app-id> \
  --service-principal-secret <sp-secret> \
  --tenant-id <tenant-id> \
  --subscription-id <sub-id> \
  --resource-group myArcRG \
  --location eastus

将 Azure Policy 应用于 Arc 服务器

服务器启用 Arc 后,您可以像对原生 Azure VM 一样,为其分配 Azure Policy 定义。例如,您可以审核是否已安装 Log Analytics 代理,强制应用特定的 Windows 安全基线,或自动部署 Defender for Cloud 代理。在管理组或订阅范围内进行的策略分配会自动评估该范围内所有启用 Arc 的服务器,从而为本地和云环境提供统一的合规性视图。

# Assign a policy to require Log Analytics agent on Arc servers
az policy assignment create \
  --name 'RequireLogAnalyticsAgent' \
  --policy '/providers/Microsoft.Authorization/policyDefinitions/9d55b749-...' \
  --scope '/subscriptions/<sub-id>/resourceGroups/myArcRG' \
  --assign-identity \
  --location eastus

适用于 Arc 服务器的 Azure Monitor

启用 Arc 的服务器可以使用 Azure Monitor Agent (AMA) 将日志和指标发送到 Azure Monitor。您可以创建一个数据收集规则 (DCR),指定要收集哪些性能计数器和事件日志,以及要将其发送到哪个 Log Analytics 工作区。同一个 DCR 可以同时面向启用 Arc 的服务器和原生 Azure VM,从而提供一致的监视配置。数据开始流动后,您用于 Azure VM 的 KQL 查询和警报规则也同样适用于 Arc 服务器。

适用于 Arc 服务器的 Microsoft Defender for Cloud

在启用 Arc 的服务器上启用 Microsoft Defender for Servers 后,会安装 Defender for Endpoint 代理,并提供与云 VM 相同的威胁防护、漏洞扫描和安全建议。对于无法在不使用 Arc 的情况下使用云原生安全产品的本地 Windows Server 2012 和 2019 计算机,这项功能尤其有价值。Defender for Cloud 中的安全状况分数会反映所有资源——包括 Azure 管理的资源和 Arc 管理的资源——从而提供统一视图。

启用 Azure Arc 的 Kubernetes

Azure Arc-enabled Kubernetes 可将任何符合 CNCF 标准的 Kubernetes 集群(本地集群、GKE、EKS、Rancher)加入 Azure。您可以通过 Helm 图表安装 Arc 代理,之后该集群会显示在 ARM 中。在 Azure 中,您可以使用 GitOps(由 Azure 管理的 Flux 或 Argo CD)部署应用程序、应用适用于 Kubernetes 的 Azure Policy(OPA Gatekeeper),并在 Azure Monitor 中查看集群运行状况。控制平面在集群自身上运行——Azure 只接收状态和遥测数据,不会获得完整的 API 服务器访问权限。

# Connect an existing Kubernetes cluster to Azure Arc
az connectedk8s connect \
  --name myOnPremCluster \
  --resource-group myArcRG \
  --location eastus

使用启用 Arc 的 Kubernetes 实现 GitOps

GitOps 是一种部署模式:在 Git 存储库中定义 Kubernetes 工作负载的所需状态,集群上的代理持续协调集群状态,使其与存储库保持一致。对于启用 Arc 的 Kubernetes,您可以在 Azure 中配置一个指向 Git 存储库的 FluxConfiguration 资源。集群上的 Flux 运算符会从存储库拉取清单并应用它们,从而以声明式、可审计且自动化的方式,通过单一 Git 事实来源跨任意数量的集群部署应用程序。

# Deploy apps to Arc Kubernetes via GitOps
az k8s-configuration flux create \
  --name myFluxConfig \
  --cluster-name myOnPremCluster \
  --resource-group myArcRG \
  --cluster-type connectedClusters \
  --url 'https://github.com/myorg/k8s-manifests' \
  --branch main \
  --kustomization name=infra path=./base

适用于 SQL Server 的 Azure Arc

Azure Arc-enabled SQL Server 可将本地 SQL Server 实例(2012–2022)加入 ARM。其优势包括:连接到 Arc 后可免费获得Azure Extended Security Updates (ESU)(适用于已停止主流支持的 SQL Server 2012/2014)、Microsoft Defender for SQL 威胁检测、用于本地 SQL 的 Entra ID authentication,以及用于数据库性能指标的 Azure Monitor integration。Arc 不会改变 SQL Server 的运行方式,只会增加管理功能。

适用于 VMware vSphere 的 Arc Resource Bridge

Azure Arc resource bridge 是部署在 VMware vSphere 或 Azure Stack HCI 环境中的轻量级虚拟设备。它会创建管理连接,让您无需迁移 VMware VM,即可从 Azure 门户查看、启动、停止和调整其大小。对于刚开始踏上云之旅、希望统一使用 Azure 管理工具,同时仍在本地运行 VM 的组织而言,这项功能尤其有用。您还可以通过资源桥连接应用 Arc 策略,并使用 Azure Monitor 监视这些 VM。

Arc 定价与先决条件

Azure Connected Machine agent 和 Kubernetes Arc 加入功能均免费。以下特定增值服务需要收费:Defender for Servers、Azure Monitor 代理数据引入,以及启用 Arc 的数据服务(SQL Managed Instance、PostgreSQL)。服务器加入的唯一先决条件是:服务器必须能够出站访问 Azure 终结点的 HTTPS(或使用代理),必须运行受支持的 OS(Windows Server 2008 R2 或更高版本,或许多 Linux 发行版),并且必须拥有一个已注册 Microsoft.HybridCompute 资源提供程序的 Azure 订阅。

快速检查

请测试您对本课中 Microsoft Azure Fundamentals (AZ-900) 概念的理解。

课程回顾

在本课中,您学习了以下内容:Azure Arc 通过将本地服务器、Kubernetes 集群和 SQL Server 实例映射到 ARM,扩展 Azure 管理平面;Azure Connected Machine agent 只需出站 HTTPS 连接即可将服务器加入 Azure;使用 Flux 的 GitOps 支持跨启用 Arc 的 Kubernetes 集群以声明式方式部署应用程序。接下来,我们将学习 Azure ExpressRoute 和 VPN Gateway,了解如何实现本地环境与 Azure 之间的专用连接。

常见问题解答

「Azure Arc:管理混合资源」课时是免费的吗?

是的 — 「Azure Arc:管理混合资源」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Azure Fundamentals 课程的其余内容,请升级到 CoddyKit PRO。 Azure Fundamentals 课程共包含 4 节课。

「Azure Arc:管理混合资源」这节课中我会学到什么?

将本地服务器和 Kubernetes 群集接入 Azure Arc,为混合资源应用 Azure 策略,并在 Azure 门户中查看其运行状况。 你通过在浏览器中直接运行的动手代码来练习 Azure Fundamentals,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Azure Fundamentals 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Azure Fundamentals 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「Azure Arc:管理混合资源」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Azure Fundamentals 课中编写并运行代码吗?

能。每节 Azure Fundamentals 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Azure Arc:管理混合资源
  2. Azure ExpressRoute 和 VPN Gateway
  3. Azure Stack 产品组合
  4. Azure 多云策略
← 返回 Azure Fundamentals