对于 Kubernetes 版本 1.20 及更高版本,可以指定 containerd 为 Windows Server 2019 节点池的容器运行时。 从 Kubernetes 1.23 开始,containerd 是 Windows 的默认且唯一的容器运行时。
本文介绍如何在 Azure Kubernetes 服务(AKS)中创建 Windows Server 节点池, 使用 containerd。
先决条件
- 已安装并配置 Azure CLI。 使用
az version命令查找版本。 如果需要安装或升级,请参阅 安装 Azure CLI。 - 具有系统节点池的现有 AKS 群集。 如果需要创建一个群集,请参阅 使用单个节点池创建 AKS 群集。
限制和注意事项
使用 Windows Server 节点池 containerd时,请记住以下限制和注意事项:
- 控制平面和 Windows Server 2019 节点池都必须使用 Kubernetes 1.20 或更高版本。
- 创建或更新节点池以运行 Windows Server 容器时,默认值
--node-vm-size为Standard_D2s_v3,这是 Windows Server 2019 节点池的最低建议大小,最高为 Kubernetes 版本 1.20。 Windows Server 2019 节点池使用的containerd最小建议大小为Standard_D4s_v3。 设置--node-vm-size参数时,请检查 受限制的虚拟机(VM)大小列表。 - 建议在运行 的 Windows Server 2019 节点池中使用
containerd,并在部署中使用容忍或节点选择器,以确保正确调度工作负载。
使用 containerd 添加 Windows Server 节点池
使用 [
containerd][az-aks-nodepool-add] 将 Windows Server 节点池添加到az aks nodepool add现有群集。注释
如果未指定
WindowsContainerRuntime=containerd自定义标头,节点池将默认使用containerd作为容器运行时。az aks nodepool add \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --os-type Windows \ --name $CONTAINER_D_NODE_POOL_NAME \ --node-vm-size Standard_D4s_v3 \ --kubernetes-version 1.20.5 \ --aks-custom-headers WindowsContainerRuntime=containerd \ --node-count 1
将现有 Windows Server 节点池升级到 containerd
将特定节点池从 Docker 升级到
containerd使用 [az aks nodepool upgrade][az-aks-nodepool-upgrade] 命令。export CONTAINER_D_NODE_POOL_NAME="mywindowsnodepool" az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --name $CONTAINER_D_NODE_POOL_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
将所有的现有 Windows Server 节点池升级到containerd
将所有节点池从 Docker 升级到
containerd使用 [az aks nodepool upgrade][az-aks-nodepool-upgrade] 命令。az aks nodepool upgrade \ --resource-group $RESOURCE_GROUP \ --cluster-name $CLUSTER_NAME \ --kubernetes-version 1.20.7 \ --aks-custom-headers WindowsContainerRuntime=containerd
后续步骤
有关 AKS 中的节点池的详细信息,请参阅 管理 Azure Kubernetes 服务(AKS)中群集的节点池。