微软已正式发布Azure Kubernetes Service(AKS)Automatic,推出了一款全托管的Kubernetes产品,旨在消除运维开销,同时保持平台的完整功能和灵活性。该服务代表了微软对所谓"Kubernetes税"的回应——即传统上配置、保护和维护生产级集群所需的大量时间和专业知识。
AKS Automatic通过智能默认配置和自动化操作提供生产就绪的集群,从而实现差异化。当开发人员创建AKS Automatic集群时,Azure使用既定的最佳实践处理节点设置、网络配置和服务集成,无需前期架构决策。该服务预配置了Azure容器网络接口(CNI)和Azure Linux节点,支持立即部署应用程序。
自动化贯穿整个集群生命周期。AKS Automatic默认启用Horizontal Pod Autoscaler(HPA)、Vertical Pod Autoscaler(VPA)和KEDA进行事件驱动扩缩,实现Pod和节点的动态扩缩。该服务引入了Karpenter,这是一个开源的Kubernetes自动扩缩器,可根据实时需求动态配置节点,无需手动配置。Azure自动管理控制平面维护、节点池调优、系统补丁、升级和扩缩操作,将日常运维任务从开发团队中卸载。
从集群创建开始就嵌入了安全性和可靠性功能。每个AKS Automatic集群都包含Microsoft Entra ID集成用于身份验证、基于角色的访问控制和网络策略,无需额外设置。节点镜像接收自动安全补丁,Azure Monitor预配置用于集中日志记录和指标收集。该服务包含部署保护措施,以防止可能影响可用性的错误配置,以及自动节点修复和内置扩缩功能,确保工作负载可靠性。
尽管采用了预设方案,AKS Automatic仍保持完整的Kubernetes API兼容性和CNCF一致性。开发人员保留对kubectl和现有工具链的访问权限,可通过GitHub Actions等平台与CI/CD流水线无缝集成。该服务在需要时支持自定义,在抽象基础设施复杂性的同时保留定义Kubernetes的可扩展性。微软强调,AKS Automatic基于包括KEDA和Karpenter在内的开源项目构建,保持与更广泛Kubernetes社区的一致性。
该服务面向资源受限的初创企业和企业平台团队。对于小型组织,AKS Automatic使Kubernetes无需专门的DevOps人员即可访问,提供处理扩缩、安全和升级的托管体验。企业平台团队可以将AKS Automatic作为自服务选项提供给内部团队,确保跨组织的一致安全和管理实践,同时与Azure Arc和企业范围策略等企业工具集成。
入门需要在Azure门户中的集群创建期间选择"Automatic"选项,或通过Azure CLI指定Automatic层级。微软在Microsoft Learn上提供了文档和快速入门指南,包括使用自动化CI/CD集成从GitHub仓库部署应用程序的指南。
AKS Automatic加入了主要云提供商日益增长的简化Kubernetes产品类别,每种产品都采用不同的方法来降低运维复杂性。亚马逊网络服务(AWS)提供EKS Auto Mode,自动化基础设施管理,包括计算资源配置、存储配置和网络设置,同时保持完整的EKS API兼容性。EKS Auto Mode也使用Karpenter进行节点自动扩缩,并通过智能默认配置与AWS服务集成,尽管与AKS Automatic的预设方案相比,它需要更多明确的前期配置选择。谷歌云平台提供GKE Autopilot,这是最早的全托管Kubernetes服务之一,采用更严格的方案,限制某些集群配置以确保可靠性和安全性。GKE Autopilot仅对Pod资源消耗收费,而不是对配置的节点收费,并自动处理所有集群基础设施,包括节点、扩缩和安全补丁。
虽然所有三种服务都旨在减少Kubernetes的运维负担,但它们反映了不同的理念:GKE Autopilot强调基于消耗的定价和更严格的防护栏,EKS Auto Mode在自动化与AWS生态系统集成之间取得平衡,而AKS Automatic在保留最大Kubernetes灵活性的同时专注于智能默认配置。