开源鸿蒙跨平台开发者社区 在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间一般情况下,当在AKS中运行高性能计算的工作负载时通常会涉及到Size较大的容器映像。在实际的使用场景中,对于这类工作负载的部署有极大的可能性会遇到因为映像拉取时间长并拖慢工作负载部署速度的场景。通过 AKS 上...

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间

一般情况下,当在AKS中运行高性能计算的工作负载时通常会涉及到Size较大的容器映像。在实际的使用场景中,对于这类工作负载的部署有极大的可能性会遇到因为映像拉取时间长并拖慢工作负载部署速度的场景。通过 AKS 上的Artifact Streaming功能,可将容器映像从 Azure 容器注册表 (ACR) 流式传输到 AKS。 AKS 只拉取初始 Pod 启动所需的层,从而缩短拉取映像和部署工作负载所需的时间。

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_镜像仓库

主要优点
  • 更快的部署:Artifact Streaming 可以将 Pod 就绪时间缩短 15% 以上,尤其是对于小于 30GB 的映像。
  • 并发 Pod 启动:Pod 可以并发启动,而不是串行启动,从而提高部署效率。
  • 优化的资源使用:通过减少拉取大型图像所需的时间来帮助避免拥塞。
先决条件

在启用 Artifact Streaming 之前,需要确保已经满足如下先决条件:

  • 具有 ACR 集成的现有 AKS 群集。
  • Kubernetes 版本 1.25 或更高版本。
  • Ubuntu 22.04、Ubuntu 20.04 或 Azure Linux 节点池(不支持Windows 节点池)
部署指南

安装CLI扩展

首先,需要使用 az extension add 命令安装 aks-preview CLI 扩展:

az extensionadd --name aks-preview
  • 1.

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_镜像仓库_02

扩展安装完成后,需要将其更新到最新的版本:

az extension update--name aks-preview
  • 1.

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_Azure AKS_03

注册 ArtifactStreamingPreview 功能

接下来需要使用命令在订阅中注册ArtifactStreamingPreview 功能标志,具体如下:

az feature register--namespace Microsoft.ContainerService --name ArtifactStreamingPreview
  • 1.

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_镜像仓库_04

 在 ACR 上启用项目流式处理

若要使用此功能,需要现在ACR上启用项目流式处理。需要注意的是,项目流式处理目前只在高级版的ACR上受支持。所以需要确保ACR的版本为高级版。

本次演示中,已经提前准备了一个高级版的ACR:

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_镜像仓库_05

使用 az acr artifact-streaming create 命令根据映像创建流项目:

az configure--defaults acr="openopsrepo"
az acr artifact-streaming create --image play2048:1.0
  • 1.
  • 2.

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_ACR_06

使用 az acr manifest list-referrers 命令验证所生成的项目流式处理:

az acr manifest list-referrers--name play2048:1.0
  • 1.

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_Azure AKS_07

在 AKS 上启用项目流式处理
使用带有 --enable-artifact-streaming 的 az aks nodepool update 命令更新现有节点池以启用项目流式处理。
az aks nodepool update --resource-group myResourceGroup --cluster-name myAKSCluster--name myNodePool --enable-artifact-streaming
  • 1.

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_镜像仓库_08

验证 Artifact Streaming

检查是否启用了 Artifact Streaming:

az aks nodepool show --resource-group myResourceGroup --cluster-name myAKSCluster--name myNodePool --query artifactStreamingProfile
  • 1.

在Azure Kubernetes 服务 (AKS) 上使用Artifact Streaming优化映像拉取时间_性能优化_09

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐

  • 浏览量 0
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献28条内容