**发布时间:** 2025-09-18
**厂商:** AZURE
**类型:** TECH-BLOG
**原始链接:** https://techcommunity.microsoft.com/blog/azurenetworkingblog/introducing-wireguard-in-transit-encryption-for-aks-public-preview/4421057
---
<!-- AI_TASK_START: AI标题翻译 -->
[新产品/新功能] AKS 推出 WireGuard 传输中加密功能(公共预览版)
<!-- AI_TASK_END: AI标题翻译 -->
<!-- AI_TASK_START: AI竞争分析 -->
# 产品功能分析
## 新功能/新产品概述
Azure Kubernetes Service (AKS) 推出的一项基于 **WireGuard** 协议的传输中加密功能,目前处于公开预览阶段。该功能旨在为 AKS 集群内跨节点的 Pod 间网络流量提供透明、高效的加密保护,尤其适用于金融、医疗等受监管或对安全有高要求的环境。
它作为 **Azure 高级容器网络服务** 的一部分,深度集成在由 **Cilium** 提供支持的 **Azure CNI** 数据平面中。其工作原理是,当启用后,**Cilium** 代理会在每个节点上自动配置和管理 **WireGuard** 隧道。需要跨节点通信的网络流量会被内核层面的路由规则重定向至一个专用的 **WireGuard** 网络接口 (`cilium_wg0`),在此进行加密,数据到达目标节点后再由对应的 **WireGuard** 接口解密,整个过程对上层应用完全透明。
该产品定位为一个原生、易于管理且性能开销较低的集群内加密方案,旨在替代需要复杂配置的第三方加密工具或传统的 **IPsec** 方案。
## 关键客户价值
- **简化配置与运维**
- 用户仅需在创建或更新 AKS 集群时添加几个配置标志即可启用,极大降低了网络安全配置的复杂性。
- 相较于传统的 **IPsec** 等方案需要手动配置证书、密钥和隧道规则,该功能实现了“开箱即用”,显著减少了运维开销。
- **自动化密钥管理**
- 系统自动处理每个节点的密钥对生成、安全交换以及定期轮换(原文提到 _每120秒轮换一次_),无需人工干预。
- 这种自动化机制不仅提升了安全性,也避免了因手动密钥管理不善而导致的安全漏洞和运维事故。
- **对应用完全透明**
- 加密在网络层(L3/L4)完成,对运行在 Pod 内的应用程序无任何侵入性,无需修改任何应用代码即可获得安全增强。
- 这使得企业可以在不影响现有业务逻辑和部署流程的情况下,平滑地为关键应用加上一层额外的安全保障。
- **原生云原生集成**
- 作为 **Azure CNI** 和 **Cilium** 的一部分进行全面管理,提供了无缝且可靠的体验。
- 利用 Kubernetes 原生的 **Custom Resource (CiliumNode)** 进行密钥分发,完全遵循云原生的设计理念,与 Kubernetes 的声明式 API 和控制器模式紧密结合。
- **差异化优势 (与 Azure VNet 加密对比)**
- **部署灵活性更高**:**WireGuard** 是基于软件的解决方案,不依赖特定的虚拟机硬件,可在所有 VM SKU 上运行。相比之下,**VNet 加密** 依赖硬件加速,对 VM 类型有特定要求。
- **跨云与混合云就绪**:**WireGuard** 是一种现代化的开源标准协议,其实现方式使其具备在多云和混合云环境中提供一致加密体验的潜力。而 **VNet 加密** 是 Azure 平台专有技术,仅限于 Azure 虚拟网络内部。
## 关键技术洞察
- **基于 Cilium 和 eBPF 的高效数据平面**
- _该功能并非独立实现,而是深度集成于 **Cilium** CNI 数据平面_。**Cilium** 利用 **eBPF** 技术在 Linux 内核层面高效地进行网络包的观测、路由和处理,能够以极低的性能开销将需要加密的流量精准地导向 **WireGuard** 隧道,从而在保证高性能的同时实现加密。
- **去中心化的密钥分发机制**
- 利用 Kubernetes 的原生扩展机制 **Custom Resource Definition (CRD)**,具体是通过 `CiliumNode` 自定义资源来安全地在节点间共享公钥。这种方式避免了对中心化密钥管理系统(KMS)的外部依赖,简化了系统架构,并提高了在网络分区等故障场景下的系统韧性。
- **精准的加密范围与性能平衡**
- 该方案明确区分了加密和非加密流量:仅加密风险最高的跨节点(Inter-node)Pod 流量。对于同节点(Same-node)Pod 间的通信,由于流量不离开主机网络栈,不进行加密,从而避免了不必要的性能损耗。这种设计在安全性和性能之间取得了务实的平衡。
- **动态的对等方管理与密钥轮换**
- **Cilium** 代理会持续监控集群中节点的增减变化,并动态更新 **WireGuard** 的对等方(peers)配置,确保新加入的节点能立刻参与加密通信。
- 内置的 _每120秒_ 自动密钥轮换机制,遵循了安全最佳实践(如前向保密),通过缩短密钥的生命周期来最小化因密钥泄露而可能造成的安全风险。
<!-- AI_TASK_END: AI竞争分析 -->
<!-- AI_TASK_START: AI全文翻译 -->
# 为 AKS 引入 WireGuard 传输中加密 (公共预览版)
**原始链接:** [https://techcommunity.microsoft.com/blog/azurenetworkingblog/introducing-wireguard-in-transit-encryption-for-aks-public-preview/4421057](https://techcommunity.microsoft.com/blog/azurenetworkingblog/introducing-wireguard-in-transit-encryption-for-aks-public-preview/4421057)
**发布时间:** 2025-09-18
**厂商:** AZURE
**类型:** 技术博客
---
Azure 网络博客
# 为 AKS 引入 WireGuard 传输中加密 (公共预览版)
2025 年 9 月 18 日
随着组织在 Azure Kubernetes Service (AKS) 中不断扩展容器化工作负载 (containerized workloads),保护应用程序和服务之间的网络流量的需求变得前所未有地重要,尤其是在受监管或安全敏感的环境中。我们很高兴地宣布 AKS 中基于 WireGuard 的传输中加密 (in-transit encryption) 功能进入公共预览版。这是高级容器网络服务 (Advanced Container Networking Services) 的一项新功能,它以最小的运维开销 (operational overhead) 增强了节点间流量 (inter-node traffic) 的保护。
## 什么是 WireGuard?
WireGuard 是一种现代、高性能的 VPN 协议,以其简单性和强大的加密技术 (cryptography) 而闻名。通过集成到 Cilium 数据平面 (Cilium data plane) 并作为 AKS 网络的一部分进行管理,WireGuard 提供了一种在集群内透明加密流量的高效方法。
借助这项新功能,WireGuard 现在作为由 Cilium 驱动的 Azure CNI 的一部分,在高级容器网络服务中获得了原生支持,无需第三方加密工具或自定义密钥管理系统。
## 加密哪些内容?
AKS 中的 WireGuard 集成专注于最关键的流量路径:
✅ **加密内容:**
- **节点间 pod 流量:** 在 AKS 集群中不同节点上运行的 pod 之间的网络通信。此流量会穿越底层网络基础设施,并使用 WireGuard 进行加密,以确保机密性和完整性。
❌ **未加密内容:**
- **同一节点上的 pod 流量:** 在同一节点上运行的 pod 之间的通信。由于此流量不离开节点,它会绕过 WireGuard 且保持未加密状态。
- **节点生成的流量:** 由节点自身发起的流量,目前不通过 WireGuard 路由,因此不进行加密。
这种范围通过保护最关键的流量 (即离开主机并穿越网络的数据),在强大的保护和性能之间取得了恰当的平衡。
## 核心优势
- **简单配置**: 在创建或更新 AKS 集群时,只需几个标志即可启用 WireGuard。
- **自动密钥管理**: 每个节点都会自动生成并交换 WireGuard 密钥,无需手动配置。
- **对应用程序透明**: 无需对应用程序进行任何更改。加密发生在网络层。
- **云原生集成**: 作为高级容器网络服务和 Cilium 的一部分进行全面管理,提供无缝且可靠的体验。
## 架构:工作原理

启用 WireGuard 后:
1. 每个节点都会生成一个唯一的公钥/私钥对。
2. 公钥通过 CiliumNode 自定义资源 (CiliumNode custom resource) 在节点之间安全共享。
3. 每个节点上运行的 Cilium 代理 (Cilium agent) 会创建并管理一个专用的网络接口 (`cilium_wg0`)。
4. 对等节点 (Peers) 会动态更新,密钥每 120 秒自动轮换一次,以最大限度地降低风险。
该机制确保只有经过验证的节点才能参与加密通信。
## WireGuard 与 VNet 加密
AKS 现在提供两种强大的传输中加密选项:
| **功能** | **WireGuard 加密** | **VNet 加密** |
| --- | --- | --- |
| 范围 | Pod 到 Pod 的节点间流量 | VNet 中的所有流量 |
| VM 支持 | 适用于所有 VM SKU | 需要硬件支持 (例如 Gen2 VM) |
| 部署灵活性 | 云无关 (Cloud-agnostic),混合云就绪 (hybrid ready) | 仅限 Azure |
| 性能 | 基于软件,中等 CPU 使用率 | 硬件加速,低开销 |
如果希望在跨云环境中获得加密灵活性,或者使用的 [VM SKU 不支持 VNet 加密](https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-encryption-overview#requirements) ,请选择 **WireGuard**。如果需要全网络覆盖和超低的 CPU 开销,请选择 **VNet 加密**。
## 总结与后续步骤
AKS 中的 WireGuard 功能现已进入公共预览版,它提供了强大的加密能力,能在流量离开主机并穿越网络时,在最需要的地方对其进行保护。它为保护容器网络提供了一种平衡的方法,而不会影响易用性。
**准备好开始了吗?** 请查阅我们的[操作指南](https://learn.microsoft.com/en-us/azure/aks/how-to-apply-wireguard) ,获取在您的集群中启用 WireGuard 并轻松保护容器网络的分步说明。
探索更多关于高级容器网络服务的信息:
- [容器网络可观测性](https://learn.microsoft.com/en-us/azure/aks/advanced-container-networking-services-overview?tabs=cilium)
- [L7 网络策略](https://learn.microsoft.com/en-us/azure/aks/container-network-security-l7-policy-concepts)
- [基于 FQDN 的策略](https://learn.microsoft.com/en-us/azure/aks/container-network-security-fqdn-filtering-concepts)
更新于 2025 年 9 月 18 日
版本 2.0
<!-- AI_TASK_END: AI全文翻译 -->