我们很高兴地宣布在 Azure Kubernetes Service(以下简称AKS)上启用的 Dapr、Azure 机器学习和 GitOps 三项新功能正式发布,可以通过称为“集群扩展”的功能在 AKS 集群上启用这些功能。集群扩展提供了一种大规模机制来部署、更新和管理由运行在您的 AKS 集群上的扩展实例所代表的服务的生命周期。借助此功能,可以通过 Azure CLI 和 Azure SDK 等工具来管理这些服务。
什么是 AKS 集群扩展?
集群扩展为 AKS 集群上的 Azure 服务和受支持的开源项目安装和生命周期管理提供了 Azure Resource Manager (ARM) 驱动体验。集群扩展为用户提供安装、更新和升级支持服务的统一体验。用户可以通过手动升级或自动升级选项安装特定版本并升级支持的服务版本。集群扩展通过 Azure CLI 公开一组标准操作。有关更多详细信息,请参阅 Azure CLI 文档和 AKS 集群扩展文档。
# Install
az k8s-extension create
# Update
az k8s-extension update
# Delete
az k8s-extension delete
Dapr集群扩展
分布式应用程序运行时 (Dapr) 是一组可逐步采用的 API,可简化基于微服务的分布式应用程序的创作。例如,Dapr 提供了启用应用程序相互通信的功能,无论是通过 pubsub 消息传递,还是可靠和安全的服务到服务调用。Dapr API 也称为构建块,建立在最佳实践行业标准之上,即:
- 与您的首选语言或框架无缝匹配
- 可逐步采用,您可以根据需要使用一个、多个或所有构建块
AKS Dapr 扩展在您的 AKS 集群上预配 Dapr,从而节省了下载任何 Dapr 工具以及在 AKS 集群上手动安装和管理 Dapr 运行时的开销。该扩展提供了完全受支持的 Dapr 版本,并通过简单的命令行参数集成了所有原生 Dapr 配置功能。
以下命令在 AKS 集群上部署 Dapr extension:
az k8s-extension create --extension-type Microsoft.Dapr \
--cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name myDaprExtension \
--version X.X.X.X
您可以通过指定 --auto-upgrade-minor-version 参数并将值设置为 true 来允许 Daprto 自动更新其次要版本:
--auto-upgrade-minor-version true
以下命令显示已安装 Dapr 扩展的快照:
az k8s-extension show --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name myDaprExtension
托管集群 id 显示 DaprExtension 存在,命令:kubectl get namespace 产生以下结果:
Dapr 使用“智能默认值”并安装在高可用性环境中作为生产环境的建议。
kubectl get pods -n dapr-system 产生以下结果
Azure Machine Learning 集群扩展
适用于 AKS 的 Azure ML 集群扩展是一个机器学习运算符,使用集群扩展 CLI 在 AKS 上部署和管理。Azure ML 操作员将 AKS 集群配置并附加到 Azure 机器学习工作区,以便训练和管理机器学习模型。在 AKS 上部署 Azure ML 集群扩展后,可以将集群作为计算类型附加,在您的机器学习工作区中运行训练和推理模型。
Azure ML 扩展的设计可帮助 IT 运营商利用原生的 Kubernetes 概念,例如:命名空间、节点选择器和资源请求/限制,以实现机器学习计算利用率和优化。通过让 IT 操作员管理 Azure ML 计算设置,Azure ML 扩展为数据科学专家创造了无缝体验,他们不需要直接学习或使用 Kubernetes。
AKS集群可让企业使用 GPU 计算运行高度可用的机器学习和深度学习模型。
以下命令在 AKS 集群上部署 Azure ML 扩展:
az k8s-extension create --extension-type Microsoft.AzureML.Kubernetes \
--cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name amlarc-compute \
--configuration-settings enableTraining=True \
--scope cluster
GitOps Flux 集群扩展
运行现代云原生应用程序的团队需要可靠的自动化流程来管理 Kubernetes 集群配置和应用程序生命周期。GitOps 是一种为这些应用程序和配置实施持续部署的技术,专注于使用开发人员和集群管理员熟悉的工具和流程,例如 Git 和拉取请求。GitOps 支持基础设施即代码,其中环境的状态在 Git 存储库中以声明方式描述。对工作负载环境的更改(例如应用程序更新)是通过对 Git 存储库的拉取请求发生的,之后在每个集群中运行的 Flux 会自动同步更改并将其应用到集群。Flux 还不断确保集群保持在声明的状态。GitOps 支持准确的变更管理和审计,因为集群状态和所有变更都在 Git 存储库中完全可见。开发人员和部署工具不需要直接访问集群,因此也增强了集群安全性。简而言之,GitOps 是管理现代工作负载持续部署的现代方式,而 Azure GitOps with Flux 为您提供了这个功能。
Azure 使用开源 CNCF Flux 来启用 GitOps in AKS 集群。Azure 提供简单的安装、自动更新和运行状况报告,以简化你在一个到数千个集群中使用 GitOps。
GitOps with Flux v2 作为 AKS 集群的集群扩展启用。Flux 扩展在集群中安装 Flux 控制器。
启用 Flux 后,您可以在每个集群中创建一个或多个 GitOps 配置,以启用与 Git 存储库的连接以及存储库中定义的资源的部署。
Azure GitOps with Flux v2 支持多租户。当多个团队共享集群,您可能有一个 Flux 配置指向集群管理团队存储库,以在集群级别为每个集群制定基准安全配置和管理应用程序。接着您可能拥有一个或多个具有命名空间范围的 Flux 配置,这些配置指向应用程序团队存储库,以安装由您公司的各个组创建的应用程序。
在 Azure 中,您可以跟踪每个集群中部署的合规性状态,确保集群处于您在 Git 存储库中声明的状态,提供了集群状态的可观察性。
总结
上述扩展允许用户通过简单的部署模型使用领先的 Azure 服务,例如机器学习和事件驱动的开源项目(例如 Dapr on AKS )。用户还可以利用 AKS 使用配置管理功能。
长按识别二维码
关注微软中国MSDN
**点击阅读原博客