使用 Azure Kubernetes 服务的 Windows 容器网络
Azure Kubernetes 服务 (AKS) 管理托管的 Kubernetes 环境,使用户可以在 Azure 中轻松地部署和管理容器化应用程序。 AKS 环境具有自动更新、自行修复和快速缩放等功能。 由你管理群集中的代理节点,且只需为运行节点的虚拟机付费。
下面是将 AKS 用于 Windows 容器网络的一些优点:
- AKS 实现 Docker 映像文件格式。 可使用任何开发环境来创建工作负载、将工作负载打包为容器以及将容器部署为 Kubernetes Pod。
- AKS 适用于常见的开发和管理工具,例如 Helm、Draft、适用于 Visual Studio Code 的 Kubernetes 扩展和 Visual Studio Kubernetes Tools。
- AKS 支持与 Azure DevOps Projects 的集成,以简化应用程序的 DevOps 管道设置。
AKS 和 Windows 容器
在单个主机或开发环境中,标准容器管理运行时侧重于管理单个容器。 有时,需要缩放配置并创建多个协同工作的容器。 在容器管理方面,缩放多个容器更具挑战性。 你需要处理负载均衡、安全性、网络连接和部署。 为简化此过程,使用容器管理平台(如 Kubernetes)十分常见。
AKS 是一个容器业务流程平台,使得可轻松地开发、部署和管理容器化应用程序。 可使用 AKS 管理 Azure 中的托管 Kubernetes 环境。 AKS 简化了安装过程,同时负责处理大多数基础群集管理任务。 AKS 是 Azure 的一部分,可与其他 Azure 服务集成,从而拓展产品功能或与其他服务交换数据。
重要
若要在 AKS 上部署 Windows Server 容器,配置必须满足以下要求:
- 对 Kubernetes 群集使用 Azure CNI 网络插件。
- 对 Windows 节点使用 Windows Server 2019 或更高版本。 早期版本的 Windows Server 不支持 Azure CNI 所需的覆盖网络。
- 使用 Kubernetes 1.14 版或更高版本。 早期版本的 Kubernetes 不支持 Windows 节点或 Pod。
AKS 和网络
在 AKS 中,可部署使用 Azure 容器网络接口 (Azure CNI) 网络的 Windows 容器群集。 在此模型中,Pod 接收完整的虚拟网络连接:Pod 到 Pod 和 Pod 到虚拟机(位于同一虚拟网络中或对等互连的虚拟网络中)。 Pod 可通过连接的网络上的专用 IP 地址进行访问。
Azure CNI 支持 Windows 节点池。 群集可部署在现有的或新的虚拟网络中。 使用 VPN 或 Azure Express Route 支持本地访问。 可使用负载均衡器服务、Azure 应用程序网关或通过入口控制器公开 Kubernetes 服务。
使用网络策略的流量控制
使用 AKS 的 Windows 容器的最佳做法是使用网络策略以允许或拒绝流向 Pod 的流量。 默认情况下,将允许群集中 Pod 之间的所有流量。 为了提高安全性,可定义规则以限制 Pod 通信。
网络策略是 AKS 中提供的 Kubernetes 功能,可用于控制 Pod 之间的流量流。 你可以基于分配的标签、命名空间或流量端口等设置来允许或拒绝到 Pod 的流量。 网络策略是一种可控制 Pod 的流量流的云原生方法。 因为 Pod 是在 AKS 群集中动态创建的,所以可以动态应用所需的网络策略。
AKS 注意事项
AKS 支持虚拟网络配置,在这种配置中,你需要进行 Pod 对 Pod 网络通信或从 Windows 群集访问本地网络。 可轻松将 Windows AKS 群集部署到现有虚拟网络中。
以下是规划 Windows 容器网络时要考虑的 AKS 的一些功能:
功能 | 注意事项 | 解决方案 |
---|---|---|
Docker 映像支持 | 对容器使用 Docker 映像 | AKS 默认支持 Docker 文件映像格式。 |
虚拟网络支持 | 支持 Pod 到 Pod 网络通信,从 AKS 群集访问本地网络 | 轻轻松松就可以将 AKS 群集部署到现有的虚拟网络中。 |
使用 HTTP 应用程序路由支持的流入量 | 使已部署的应用程序公开可用 | 可以通过 HTTP 应用程序路由附加产品轻松访问 AKS 群集部署的应用程序。 |
自动群集节点和 Pod 缩放 | 在大型容器化环境中缩放(纵向扩展或缩减)资源 | AKS 支持轻松缩放群集,并为大型环境提供两个自动群集缩放选项。 - 水平 Pod 自动缩放程序监视 Pod 的资源需求,并将增加 Pod 以满足需求。 - 群集自动缩放程序组件会监视由于节点约束而无法计划的 Pod。 该组件自动缩放群集节点来部署计划的 Pod。 |
集成式日志记录和监视 | 监视容器、Pod 和群集 | AKS 包含用于容器的 Azure Monitor,以提供群集的性能可见性。 通过自定义 Kubernetes 安装,使用 Azure Monitor,或安装和配置 Azure Log Analytics 或 Azure Application Insights。 |
高可用性 | 确保高可用性和容错 | AKS 通过跨可用性区域和地区分布节点,帮助实现 Windows 群集的高可用性和容错。 |
安全集成 | 保护 Windows 群集和应用程序 | AKS 与 Microsoft Entra ID(之前称为 Azure Active Directory)、Azure Key Vault、Azure Policy 和 Azure 安全中心集成。 |