培训
模块
优化 Azure Kubernetes 服务 (AKS) 上的计算成本 - Training
了解可在 Azure 上采用哪些策略来通过使用 Azure Kubernetes 服务 (AKS) 优化云原生应用程序开发过程。
认证
Microsoft Certified: Azure Administrator Associate - Certifications
演示在 Microsoft Azure 中配置、管理、保护和管理关键专业功能的关键技能。
你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
如果你有多个节点池,可能希望在创建节点池期间添加标签。 Kubernetes 标签处理节点的计划规则。 可以随时将标签添加到节点池,并将其应用于该节点池的所有节点。
在本操作指南中,你会了解如何在 Azure Kubernetes 服务 (AKS) 群集中使用标签。
需要安装并配置 Azure CLI 2.2.0 或更高版本。 运行 az --version
即可查找版本。 如果需要进行安装或升级,请参阅安装 Azure CLI。
使用az aks create
命令创建具有标签的 AKS 群集,并指定--node-labels
参数以设置标签。 标签必须是键/值对,并采用有效的语法。
az aks create \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-count 2 \
--nodepool-labels dept=IT costcenter=9000 \
--generate-ssh-keys
使用kubectl get nodes --show-labels
命令验证是否已设置标签。
kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
使用az aks nodepool add
命令创建具有标签的节点池, 并为--labels
参数指定--name
参数的名称和标签。 标签必须是键/值对,并采用有效的语法
以下示例命令创建名为labelnp的节点池,其标签 为dept=HR和costcenter=5000。
az aks nodepool add \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name labelnp \
--node-count 1 \
--labels dept=HR costcenter=5000 \
--no-wait
az aks nodepool list
命令中的以下示例输出显示labelnp正在创建具有指定nodeLabels的节点:
[
{
...
"count": 1,
...
"name": "labelnp",
"orchestratorVersion": "1.15.7",
...
"provisioningState": "Creating",
...
"nodeLabels": {
"costcenter": "5000",
"dept": "HR"
},
...
},
...
]
使用kubectl get nodes --show-labels
命令验证是否已设置标签。
kubectl get nodes --show-labels | grep -e "costcenter=5000" -e "dept=HR"
使用az aks nodepool update
命令更新现有节点池上的标签。 更新现有节点池上的标签会使用新标签覆盖旧标签。 标签必须是键/值对,并采用有效的语法。
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name labelnp \
--labels dept=ACCT costcenter=6000 \
--no-wait
使用kubectl get nodes --show-labels
命令验证是否已设置标签。
kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
从2021-08-19 AKS 版本开始,AKS 停用了对 AKS 保留的标签进行更改的功能。 尝试更改这些标签会导致出现错误消息。
以下标签是 AKS 保留的标签。 “虚拟节点用途”指定这些标签是否可以用作虚拟节点上的受支持系统功能。 这些系统功能更改的一些属性在虚拟节点上不可用,因为它们需要修改主机。
Label | Value | 示例/选项 | 虚拟节点用途 |
---|---|---|---|
kubernetes.azure.com/agentpool | <代理池名称> | nodepool1 | 相同 |
kubernetes.io/arch | amd64 | runtime.GOARCH | 不适用 |
kubernetes.io/os | <OS 类型> | Linux/Windows | 相同 |
node.kubernetes.io/instance-type | <VM 大小> | Standard_NC6s_v3 | 虚拟 |
topology.kubernetes.io/region | <Azure 区域> | westus2 | 相同 |
topology.kubernetes.io/zone | <Azure 区域> | 0 | 相同 |
kubernetes.azure.com/cluster | <MC_RgName> | MC_aks_myAKSCluster_westus2 | 相同 |
kubernetes.azure.com/mode | 模式<> | 用户或系统 | User |
kubernetes.azure.com/role | 代理 | Agent | 相同 |
kubernetes.azure.com/scalesetpriority | <VMSS 优先级> | 现成 VM 或常规 VM | 不适用 |
kubernetes.io/hostname | <hostname> | aks-nodepool-00000000-vmss000000 | 相同 |
kubernetes.azure.com/storageprofile | <OS 磁盘存储配置文件> | 托管 | 不适用 |
kubernetes.azure.com/storagetier | <OS 磁盘存储层> | Premium_LRS | 不适用 |
kubernetes.azure.com/instance-sku | <SKU 系列> | Standard_N | 虚拟 |
kubernetes.azure.com/node-image-version | <VHD 版本> | AKSUbuntu-1804-2020.03.05 | 虚拟节点版本 |
kubernetes.azure.com/subnet | <节点池子网名称> | subnetName | 虚拟节点子网名称 |
kubernetes.azure.com/vnet | <节点池 vnet 名称> | vnetName | 虚拟节点虚拟网络 |
kubernetes.azure.com/ppg | <节点池 ppg 名称> | ppgName | 不适用 |
kubernetes.azure.com/encrypted-set | <节点池已加密集名称> | encrypted-set-name | 不适用 |
kubernetes.azure.com/accelerator | <加速器> | nvidia | 不适用 |
kubernetes.azure.com/fips_enabled | <是否启用了 fips?> | 是 | 不适用 |
kubernetes.azure.com/os-sku | <os/sku> | 创建或更新 OS SKU | Linux |
以下前缀是 AKS 保留的前缀,不能用于任何节点:
有关预留前缀的详细信息,请参阅Kubernetes 的已知标签、注释和排斥。
随着 Kubernetes v1.24 的发布,已计划弃用以下标签。 应将任何标签引用更改为引用建议的替代标签。
Label | 建议的替代标签 | 维护者 |
---|---|---|
failure-domain.beta.kubernetes.io/region | topology.kubernetes.io/region | Kubernetes |
failure-domain.beta.kubernetes.io/zone | topology.kubernetes.io/zone | Kubernetes |
beta.kubernetes.io/arch | kubernetes.io/arch | Kubernetes |
beta.kubernetes.io/instance-type | node.kubernetes.io/instance-type | Kubernetes |
beta.kubernetes.io/os | kubernetes.io/os | Kubernetes |
node-role.kubernetes.io/agent* | kubernetes.azure.com/role=agent | Azure Kubernetes 服务 |
kubernetes.io/role* | kubernetes.azure.com/role=agent | Azure Kubernetes 服务 |
Agentpool* | kubernetes.azure.com/agentpool | Azure Kubernetes 服务 |
Storageprofile* | kubernetes.azure.com/storageprofile | Azure Kubernetes 服务 |
Storagetier* | kubernetes.azure.com/storagetier | Azure Kubernetes 服务 |
Accelerator* | kubernetes.azure.com/accelerator | Azure Kubernetes 服务 |
*最近已弃用。 有关详细信息,请参阅发行说明。
在Kubernetes 标签文档中详细了解 Kubernetes 标签。
培训
模块
优化 Azure Kubernetes 服务 (AKS) 上的计算成本 - Training
了解可在 Azure 上采用哪些策略来通过使用 Azure Kubernetes 服务 (AKS) 优化云原生应用程序开发过程。
认证
Microsoft Certified: Azure Administrator Associate - Certifications
演示在 Microsoft Azure 中配置、管理、保护和管理关键专业功能的关键技能。