Použití popisků v clusteru Azure Kubernetes Service (AKS)

Pokud máte více fondů uzlů, můžete při vytváření fondu uzlů přidat popisek. Popisky Kubernetes zpracovávají pravidla plánování pro uzly. Popisky můžete do fondu uzlů přidat kdykoli a použít je na všechny uzly ve fondu uzlů.

V tomto návodu se dozvíte, jak používat popisky v clusteru Azure Kubernetes Service (AKS).

Požadavky

Potřebujete nainstalovanou a nakonfigurovanou verzi Azure CLI 2.2.0 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Vytvoření clusteru AKS s popiskem

  1. Vytvořte cluster AKS s popiskem pomocí az aks create příkazu a zadejte --node-labels parametr pro nastavení popisků. Popisky musí být pár klíč/hodnota a musí mít platnou syntaxi.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --node-count 2 \
        --nodepool-labels dept=IT costcenter=9000 \
        --generate-ssh-keys
    
  2. Pomocí příkazu ověřte, že se popisky nastavily kubectl get nodes --show-labels .

    kubectl get nodes --show-labels | grep -e "costcenter=9000" -e "dept=IT"
    

Vytvoření fondu uzlů s popiskem

  1. Vytvořte fond uzlů s popiskem pomocí az aks nodepool add příkazu a zadejte název --name parametrů a popisků parametru --labels . Popisky musí být pár klíč/hodnota a musí mít platnou syntaxi.

    Následující ukázkový příkaz vytvoří fond uzlů s názvem labelnp s popisky dept=HR a costcenter=5000.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name labelnp \
        --node-count 1 \
        --labels dept=HR costcenter=5000 \
        --no-wait
    

    Následující příklad výstupu z az aks nodepool list příkazu ukazuje, že fond uzlů labelnp vytváří uzly se zadanými uzlyLabels:

    [
      {
        ...
        "count": 1,
        ...
        "name": "labelnp",
        "orchestratorVersion": "1.15.7",
        ...
        "provisioningState": "Creating",
        ...
        "nodeLabels":  {
          "costcenter": "5000",
          "dept": "HR"
        },
        ...
      },
     ...
    ]
    
  2. Pomocí příkazu ověřte, že se popisky nastavily kubectl get nodes --show-labels .

    kubectl get nodes --show-labels | grep -e "costcenter=5000" -e "dept=HR"
    

Aktualizace popisků u existujících fondů uzlů

  1. Pomocí příkazu aktualizujte popisek ve stávajícím fondu az aks nodepool update uzlů. Aktualizace popisků u existujících fondů uzlů přepíše staré popisky novými popisky. Popisky musí být pár klíč/hodnota a musí mít platnou syntaxi.

    az aks nodepool update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name labelnp \
        --labels dept=ACCT costcenter=6000 \
        --no-wait
    
  2. Pomocí příkazu ověřte, že se popisky nastavily kubectl get nodes --show-labels .

    kubectl get nodes --show-labels | grep -e "costcenter=6000" -e "dept=ACCT"
    

Nedostupné popisky

Rezervované systémové popisky

Od vydání AKS z roku 2021-08-19 přestal AKS provádět změny rezervovaných popisků AKS. Při pokusu o změnu těchto popisků se zobrazí chybová zpráva.

Následující popisky jsou vyhrazené popisky AKS. Využití virtuálního uzlu určuje, jestli by tyto popisky mohly být podporovanou systémovou funkcí na virtuálních uzlech. Některé vlastnosti, které tyto systémové funkce mění, nejsou na virtuálních uzlech dostupné, protože vyžadují změnu hostitele.

Štítek Hodnota Příklad/Možnosti Využití virtuálního uzlu
kubernetes.azure.com/agentpool <Název fondu agentů> nodepool1 Stejné
kubernetes.io/arch amd64 runtime. GOARCH
kubernetes.io/os <OS Type> Linux nebo Windows Stejné
node.kubernetes.io/instance-type <Velikost virtuálního počítače> Standard_NC6s_v3 Virtuální
topology.kubernetes.io/region <Oblast Azure> westus2 Stejné
topology.kubernetes.io/zone <Zóna Azure> 0 Stejné
kubernetes.azure.com/cluster <MC_RgName> MC_aks_myAKSCluster_westus2 Stejné
kubernetes.azure.com/mode <režim> Uživatel nebo systém Uživatelská
kubernetes.azure.com/role agent Agent Stejné
kubernetes.azure.com/scalesetpriority <Priorita VMSS> Spot nebo regular
kubernetes.io/hostname <název hostitele> aks-nodepool-00000000-vmss0000000 Stejné
kubernetes.azure.com/storageprofile <Profil úložiště disku s operačním systémem> Spravované
kubernetes.azure.com/storagetier <Disková úroveň operačního systému> Premium_LRS
kubernetes.azure.com/instance-sku <Řada skladových položek> Standard_N Virtuální
kubernetes.azure.com/node-image-version <Verze virtuálního pevného disku> AKSUbuntu-1804-2020.03.05 Verze virtuálního uzlu
kubernetes.azure.com/subnet <Název podsítě fondu uzlů> subnetName Název podsítě virtuálního uzlu
kubernetes.azure.com/vnet <Název virtuální sítě fondu uzlů> vnetName Virtuální síť virtuálních uzlů
kubernetes.azure.com/ppg <název ppg fondu uzlů> ppgName
kubernetes.azure.com/encrypted-set <Název šifrované sady uzlů> encrypted-set-name
kubernetes.azure.com/accelerator <akcelerátor> nvidia
kubernetes.azure.com/fips_enabled <je povolené fips?> true
kubernetes.azure.com/os-sku <os/sKU> Vytvoření nebo aktualizace skladové položky operačního systému Linux
  • Totéž je součástí míst, kde se očekávané hodnoty popisků mezi standardním fondem uzlů a fondem virtuálních uzlů neliší. Vzhledem k tomu, že pody virtuálních uzlů nezpřístupňují žádný základní virtuální počítač, nahradí se hodnoty skladové položky virtuálního počítače hodnotou SKU Virtual.
  • Verze virtuálního uzlu odkazuje na aktuální verzi virtuálního konektoru Kubelet-ACI.
  • Název podsítě virtuálního uzlu je název podsítě, ve které jsou pody virtuálních uzlů nasazené do služby Azure Container Instance (ACI).
  • Virtuální síť virtuálního uzlu je název virtuální sítě, která obsahuje podsíť, ve které jsou pody virtuálních uzlů nasazené v ACI.

Rezervované předpony

Následující předpony jsou vyhrazené předpony AKS a nelze je použít pro žádný uzel:

  • kubernetes.azure.com/
  • kubernetes.io/

Další informace o vyhrazených předponách najdete v tématu Známé popisky, poznámky a tainty Kubernetes.

Zastaralé popisky

Následující popisky se plánují pro vyřazení s vydáním Kubernetes verze 1.24. Všechny odkazy na popisky byste měli změnit na doporučenou náhradu.

Popisek Doporučená náhrada Správce
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
Fond agentů* kubernetes.azure.com/agentpool Azure Kubernetes Service
Storageprofile* kubernetes.azure.com/storageprofile Azure Kubernetes Service
Storagetier* kubernetes.azure.com/storagetier Azure Kubernetes Service
Akcelerátor* kubernetes.azure.com/accelerator Azure Kubernetes Service

*Nově zastaralé. Další informace najdete v poznámkách k verzi.

Další kroky

Další informace o popiscích Kubernetes najdete v dokumentaci k popiskům Kubernetes.