Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u meerdere knooppuntgroepen hebt, kunt u een label toevoegen tijdens het maken van een knooppuntgroep. Kubernetes-labels verwerken de planningsregels voor knooppunten. U kunt labels op elk gewenst moment toevoegen aan een knooppuntgroep en deze toepassen op alle knooppunten in de knooppuntgroep.
In deze handleiding leert u hoe u labels gebruikt in een AKS-cluster (Azure Kubernetes Service).
Vereisten
U moet Azure CLI versie 2.2.0 of hoger hebben geïnstalleerd en geconfigureerd. Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Een AKS-cluster met een label maken
U kunt een AKS-cluster maken met knooppuntlabels om sleutel-waarde metagegevens in te stellen voor het plannen van werkbelasting.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export RESOURCE_GROUP="myResourceGroup$RANDOM_SUFFIX"
export AKS_CLUSTER_NAME="myAKSCluster$RANDOM_SUFFIX"
az group create --name $RESOURCE_GROUP --location $REGION
Resultaten:
{
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx",
"location": "eastus2",
"managedBy": null,
"name": "myResourceGroupxxx",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Maak het AKS-cluster waarin knooppuntlabels worden opgegeven (bijvoorbeeld dept=IT, costcenter=9000):
az aks create \
--resource-group $RESOURCE_GROUP \
--name $AKS_CLUSTER_NAME \
--node-count 2 \
--nodepool-labels dept=IT costcenter=9000 \
--generate-ssh-keys --location $REGION
Resultaten:
{
"aadProfile": null,
"addonProfiles": {},
"agentPoolProfiles": [
{
"count": 2,
"enableAutoScaling": null,
"mode": "System",
"name": "nodepool1",
"nodeLabels": {
"costcenter": "9000",
"dept": "IT"
}
}
],
"dnsPrefix": "myaksclusterxxx-dns",
"fqdn": "myaksclusterxxx-xxxxxxxx.hcp.eastus2.azmk8s.io",
"id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroupxxx/providers/Microsoft.ContainerService/managedClusters/myAKSClusterxxx",
"location": "eastus2",
"name": "myAKSClusterxxx",
"resourceGroup": "myResourceGroupxxx"
}
Controleer of de labels zijn ingesteld:
az aks get-credentials --resource-group $RESOURCE_GROUP --name $AKS_CLUSTER_NAME --overwrite-existing
kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
Een knooppuntgroep met een label maken
U kunt een extra knooppuntgroep maken met labels voor specifieke planningsbehoeften.
export NODEPOOL_NAME="labelnp"
az aks nodepool add \
--resource-group $RESOURCE_GROUP \
--cluster-name $AKS_CLUSTER_NAME \
--name $NODEPOOL_NAME \
--node-count 1 \
--labels dept=HR costcenter=5000
Hier volgt een voorbeeld van de uitvoer van de az aks nodepool list opdracht waarin de labelnp-knooppuntgroep knooppunten maken met de opgegeven nodeLabels:
az aks nodepool list --resource-group $RESOURCE_GROUP --cluster-name $AKS_CLUSTER_NAME
Resultaten:
[
{
"count": 2,
"name": "nodepool1",
"nodeLabels": {
"costcenter": "9000",
"dept": "IT"
}
},
{
"count": 1,
"name": "labelnp",
"nodeLabels": {
"costcenter": "5000",
"dept": "HR"
},
"provisioningState": "Creating"
}
]
Controleer of de labels zijn ingesteld:
kubectl get nodes --show-labels | grep -e "costcenter=5000" -e "dept=HR"
Labels voor bestaande knooppuntgroepen bijwerken
U kunt de labels in een bestaande knooppuntgroep bijwerken. Houd er rekening mee dat het bijwerken van labels de oude labels overschrijft.
az aks nodepool update \
--resource-group $RESOURCE_GROUP \
--cluster-name $AKS_CLUSTER_NAME \
--name $NODEPOOL_NAME \
--labels dept=ACCT costcenter=6000
Controleer of de nieuwe labels zijn ingesteld:
kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
Niet-beschikbare labels
Gereserveerde systeemlabels
Sinds de AKS-release van 2021-08-19 heeft AKS de mogelijkheid om wijzigingen aan te brengen in gereserveerde AKS-labels gestopt. Als u deze labels probeert te wijzigen, wordt er een foutbericht weergegeven.
De volgende labels zijn gereserveerde AKS-labels. Het gebruik van virtuele knooppunten geeft aan of deze labels een ondersteunde systeemfunctie op virtuele knooppunten kunnen zijn. Sommige eigenschappen die door deze systeemfuncties worden gewijzigd, zijn niet beschikbaar op de virtuele knooppunten omdat ze de host moeten wijzigen.
| Etiket | Waarde | Voorbeeld/opties | Gebruik van virtuele knooppunten |
|---|---|---|---|
kubernetes.azure.com/agentpool |
<naam van agentpool> | nodepool1 |
Zelfde |
kubernetes.io/arch |
<runtime.GOARCH> | amd64 |
N.v.t. |
kubernetes.io/os |
<Type besturingssysteem> | Linux/Windows |
Zelfde |
node.kubernetes.io/instance-type |
<VM-grootte> | Standard_NC6s_v3 |
Virtueel |
topology.kubernetes.io/region |
<Azure-regio> | westus2 |
Zelfde |
topology.kubernetes.io/zone |
<Azure-zone> | 0 |
Zelfde |
kubernetes.azure.com/cluster |
<MC_RgName> | MC_aks_myAKSCluster_westus2 |
Zelfde |
kubernetes.azure.com/managedby |
aks |
aks |
N.v.t. |
kubernetes.azure.com/mode |
<modus> |
User of system |
Gebruiker |
kubernetes.azure.com/role |
agent | Agent |
Zelfde |
kubernetes.azure.com/scalesetpriority (afgeschaft) |
<VMSS-prioriteit> |
spot (regular is niet geschreven op normale knooppunten). Geef de voorkeur aan kubernetes.azure.com/priority in plaats daarvan. |
N.v.t. |
kubernetes.azure.com/priority |
<VM-prioriteit> |
spot of regular |
N.v.t. |
kubernetes.io/hostname |
<hostnaam> | aks-nodepool-00000000-vmss000000 |
Zelfde |
kubernetes.azure.com/storageprofile |
<Opslagprofiel voor besturingssysteemschijven> | Managed |
N.v.t. |
kubernetes.azure.com/storagetier |
<OS-schijf opslaglaag> | Premium_LRS |
N.v.t. |
kubernetes.azure.com/node-image-version |
<VHD-versie> | AKSUbuntu-1804-2020.03.05 |
Versie van virtueel knooppunt |
kubernetes.azure.com/network-name |
<naam van knooppuntpool vnet> | vnetName |
Virtueel knooppunt virtueel netwerk |
kubernetes.azure.com/network-subnet |
<subnetnaam van nodepool> | subnetName |
Naam van subnet van virtueel knooppunt |
kubernetes.azure.com/ppg |
<nodepool ppg naam> | ppgName |
N.v.t. |
kubernetes.azure.com/encrypted-set |
<naam van versleutelde knooppuntpool> | encrypted-set-name |
N.v.t. |
kubernetes.azure.com/accelerator |
<gaspedaal> | nvidia |
N.v.t. |
kubernetes.azure.com/fips_enabled |
<Is FIPS ingeschakeld?> | true |
N.v.t. |
kubernetes.azure.com/os-sku |
<os/sku> | Besturingssysteem-SKU maken of bijwerken | Linux |
kubernetes.azure.com/os-sku-effective |
<werkelijke SKU van het besturingssysteem gekozen> |
Ubuntu2204 of vergelijkbaar (nooit Ubuntu, heeft altijd de versie opgegeven) |
N.v.t. |
kubernetes.azure.com/os-sku-requested |
<gebruiker aangevraagde OS-SKU> |
Ubuntu, Ubuntu2204, of vergelijkbaar (exact overeenkomt met aangevraagde SKU vanuit de API) |
N.v.t. |
kubernetes.azure.com/sku-cpu |
<aantal processoren> | 4 |
Zelfde |
kubernetes.azure.com/sku-memory |
<geheugen in GB> | 16 |
Zelfde |
kubernetes.azure.com/nodepool-type |
<type knooppuntgroep> | VirtualMachineScaleSets |
N.v.t. |
- Hetzelfde is opgenomen op plaatsen waar de verwachte waarden voor de labels niet verschillen tussen een standaardknooppuntgroep en een virtuele knooppuntgroep. Omdat virtuele knooppuntpods geen onderliggende virtuele machine (VM) blootstellen, worden de VM-SKU-waarden vervangen door de SKU Virtual.
- De versie van het virtuele knooppunt verwijst naar de huidige versie van de virtuele Kubelet-ACI-connectorrelease.
- De naam van het subnet voor het virtuele knooppunt is het subnet waarin de pods van virtuele knooppunten worden geïmplementeerd in Azure Container Instances (ACI).
- Virtuele node virtueel netwerk is de naam van het virtuele netwerk, dat het subnet bevat waarin virtuele node-pods worden geïmplementeerd op ACI.
- Knooppunten voor automatisch inrichten van knooppunten (Karpenter) hebben extra labels die overeenkomen met de ondersteunde selectors.
-
kubernetes.azure.com/network-nameenkubernetes.azure.com/network-subnetwordt afgekapt als de onderliggende resourcenamen langer zijn dan 64 tekens.
Gereserveerde voorvoegsels
De volgende voorvoegsels zijn gereserveerde voorvoegsels van AKS en kunnen niet worden gebruikt voor een knooppunt:
- kubernetes.azure.com/
- kubernetes.io/
Zie Kubernetes-bekende labels, aantekeningen en taints voor meer informatie over gereserveerde voorvoegsels.
Verouderde labels
De volgende labels zijn gepland voor afschaffing met de release van Kubernetes v1.24. U moet eventuele labelverwijzingen wijzigen in de aanbevolen vervanging.
| Etiket | Aanbevolen vervanging | Onderhouder |
|---|---|---|
| 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 Service |
| kubernetes.io/role* | kubernetes.azure.com/role=agent | Azure Kubernetes Service |
| Agentpool* | kubernetes.azure.com/agentpool | Azure Kubernetes Service |
| Opslagprofiel* | kubernetes.azure.com/storageprofile | Azure Kubernetes Service |
| Opslagtier* | kubernetes.azure.com/storagetier | Azure Kubernetes Service |
| Gaspedaal* | kubernetes.azure.com/accelerator | Azure Kubernetes Service |
*Nieuw verouderd verklaard. Zie de releaseopmerkingen voor meer informatie.
Volgende stappen
Meer informatie over Kubernetes-labels vindt u in de documentatie over Kubernetes-labels.