Sdílet prostřednictvím


Správa rozšíření NFO

Tento článek vás provede správou rozšíření NFO (Network Function Operator) pro Azure Operator Service Manager. Toto rozšíření clusteru Kubernetes použijete ke správě úloh založených na kontejnerech, které hostuje platforma Nexus operátora Azure.

Příkazy v tomto článku spustíte po vytvoření clusteru Nexus Azure Kubernetes Service (NAKS) připraveného pro rozšíření doplňku. Příkazy předpokládají předchozí instalaci Azure CLI a ověřování do cílového předplatného.

Vytvoření rozšíření NFO

Pokud chcete vytvořit rozšíření NFO, spusťte příkaz az k8s-extension createAzure CLI .

Příkaz

az k8s-extension create --cluster-name
                        --cluster-type {connectedClusters}
                        --extension-type {Microsoft.Azure.HybridNetwork}
                        --name
                        --resource-group
                        --scope {cluster}
                        --release-namespace {azurehybridnetwork}
                        --release-train {preview, stable}
                        --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator
                        [--auto-upgrade {false, true}]
                        [--config global.networkfunctionextension.enableClusterRegistry={false, true}]
                        [--config global.networkfunctionextension.enableLocalRegistry={false, true}]
                        [--config global.networkfunctionextension.enableEarlyLoading={false,true}]
                        [--config global.networkfunctionextension.clusterRegistry.highAvailability.enabled={true, false}]
                        [--config global.networkfunctionextension.clusterRegistry.autoScaling.enabled={true, false}]
                        [--config global.networkfunctionextension.webhook.highAvailability.enabled={true, false}]
                        [--config global.networkfunctionextension.webhook.autoScaling.enabled={true, false}]
                        [--config global.networkfunctionextension.clusterRegistry.storageClassName=]
                        [--config global.networkfunctionextension.clusterRegistry.storageSize=]
                        [--config global.networkfunctionextension.webhook.pod.mutation.matchConditionExpression=]
                        [--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCCadence=]
                        [--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCThreshold=]
                        [--config global.networkfunctionextension.clusterRegistry.registryService.scale={"small", "medium", "large"}]
                        [--version]

Požadované parametry

--cluster-name -c

  • Název clusteru Kubernetes

--cluster-type -t

  • Zadejte clustery Azure Arc, spravované clustery Azure Kubernetes Service (AKS), zařízení Azure Arc nebo provisionedClusters.
  • Přijaté hodnoty: connectedClusters.

--extension-type

  • Název typu rozšíření.
  • Přijaté hodnoty: Microsoft.Azure.HybridNetwork.

--name -n

  • Název instance rozšíření

--resource-group -g

  • Název skupiny prostředků. Výchozí skupinu můžete nakonfigurovat pomocí az configure --defaults group=groupname.

--config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator

  • Tuto konfiguraci musíte zadat.

Volitelné parametry

--auto-upgrade

  • Automaticky se upgraduje dílčí verze instance rozšíření.
  • Přijaté hodnoty: false, true.
  • Výchozí hodnota: true.

--release-train

  • Zadejte verzi vydávacího cyklu pro typ rozšíření.
  • Přijaté hodnoty: preview, stable.
  • Výchozí hodnota: stable.

--version

  • Zadejte explicitní verzi, která se má nainstalovat pro instanci rozšíření, pokud --auto-upgrade-minor-version není povolená.

Volitelné funkčně specifické konfigurace

Boční načítání

--config global.networkfunctionextension.enableLocalRegistry=

  • Tato konfigurace umožňuje doručení artefaktů k okraji sítě prostřednictvím hardwarového disku.
  • Přijaté hodnoty: false, true.
  • Výchozí hodnota: false.

Ztlumení podů webhookem

--config global.networkfunctionextension.webhook.pod.mutation.matchConditionExpression=

  • Tato konfigurace je volitelný parametr. Přichází do hry pouze v případech, kdy jsou v odpovídajícím oboru názvů vydaných verzí nainstalovány funkce sítě kontejnerů (CNF).

  • Tato konfigurace nastavuje podrobnější kontrolu nad pravidly a namespaceSelectors.

  • Výchozí hodnota:

    "((object.metadata.namespace != \"kube-system\") ||  (object.metadata.namespace == \"kube-system\" && has(object.metadata.labels) && (has(object.metadata.labels.app) && (object.metadata.labels.app == \"commissioning\") || (has(object.metadata.labels.name) && object.metadata.labels.name == \"cert-exporter\") || (has(object.metadata.labels.app) && object.metadata.labels.app == \"descheduler\"))))"
    

    Odkazovaná podmínka shody znamená, že pody, které se přijímají v kube-system oboru názvů, jsou změněné pouze v případě, že mají alespoň jeden z následujících popisků: app == "commissioning", app == "descheduler" nebo name == "cert-exporter". V opačném případě nejsou změněny a nadále se načítají z původního zdroje v souladu s Helm chartem CNF, komponentou nebo aplikací.

  • Přijatá hodnota: Libovolný platný výraz jazyka CEL (Common Expression Language).

  • Tento parametr můžete nastavit nebo aktualizovat během instalace nebo aktualizace rozšíření NFO.

  • Tato podmínka se použije pouze v případě, že instalujete CNF, komponentu nebo aplikaci do prostoru jmen v souladu s pravidly a namespaceSelectors. Pokud v tomto oboru názvů vytvoříte více podů, použije se tato podmínka.

Registr clusteru

--config global.networkfunctionextension.enableClusterRegistry=

  • Tato konfigurace zřídí registr v clusteru pro místní ukládání artefaktů do mezipaměti.
  • Výchozí hodnoty umožňují opožděné načítání, pokud ne global.networkfunctionextension.enableEarlyLoading=true.
  • Přijaté hodnoty: false, true.
  • Výchozí hodnota: false.

--config global.networkfunctionextension.clusterRegistry.highAvailability.enabled=

  • Tato konfigurace zřídí registr clusteru v režimu vysoké dostupnosti (HA), pokud je povolený registr clusteru.
  • Tato konfigurace používá svazek NAKS nexus-shared podle doporučení AKS, pokud je hodnota nastavena na false.
  • Počet replik podů registru je minimálně 3 a maximálně .5
  • Přijaté hodnoty: true, false.
  • Výchozí hodnota: true.

--config global.networkfunctionextension.clusterRegistry.autoScaling.enabled=

  • Tato konfigurace připraví pody registru clusteru pro horizontální automatické škálování.
  • Přijaté hodnoty: true, false.
  • Výchozí hodnota: true.

--config global.networkfunctionextension.webhook.highAvailability.enabled=

  • Tato konfigurace zřídí více replik webhooku pro zajištění vysoké dostupnosti.
  • Přijaté hodnoty: true, false.
  • Výchozí hodnota: true.

--config global.networkfunctionextension.webhook.autoScaling.enabled=

  • Tato konfigurace poskytuje pody webhooků s horizontálním automatickým škálováním.
  • Přijaté hodnoty: true, false.
  • Výchozí hodnota: true.

--config global.networkfunctionextension.enableEarlyLoading=

  • Tato konfigurace umožňuje předčasné načítání artefaktů do registru clusteru před instalací nebo upgradem Helmu.
  • Tuto konfiguraci můžete povolit pouze v případě, že global.networkfunctionextension.enableClusterRegistry=true.
  • Přijaté hodnoty: false, true.
  • Výchozí hodnota: false.

--config global.networkfunctionextension.clusterRegistry.storageClassName=

  • Tuto konfiguraci je nutné zadat, pokud global.networkfunctionextension.enableClusterRegistry=true.
  • networkfunctionextension poskytuje požadavek na trvalý svazek (PVC) pro artefakty z místní mezipaměti z této třídy úložiště.
  • Hodnoty specifické pro platformu:
    • AKS: managed-csi
    • NAKS (výchozí): nexus-shared
    • NAKS (non-HA): nexus-volume
    • Azure Stack Edge: managed-premium
  • Výchozí hodnota: nexus-shared.

Poznámka:

  • Při správě clusteru NAKS pomocí Azure Operator Service Manager jsou výchozí hodnoty parametrů nastaveny tak, aby povolily HA jako doporučenou konfiguraci.
  • Při správě clusteru AKS pomocí Azure Operator Service Manageru musíte vysokou dostupnost zakázat pomocí následujících možností konfigurace:
   --config global.networkfunctionextension.clusterRegistry.highAvailability.enabled=false
   --config global.networkfunctionextension.webhook.highAvailability.enabled=false
   --config global.networkfunctionextension.clusterRegistry.storageClassName=managed-csi

--config global.networkfunctionextension.clusterRegistry.storageSize=

  • Tuto konfiguraci je nutné zadat, pokud global.networkfunctionextension.enableClusterRegistry=true.
  • Tato konfigurace nastaví velikost, kterou pro registr clusteru rezervujeme.
  • Tato konfigurace používá jednotky Gi a Ti pro určení velikosti.
  • Výchozí hodnota: 100Gi

--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCCadence=

  • Tuto konfiguraci musíte zadat jako plán ve standardním formátu Unix Crontab.
  • Tato konfigurace, určená jako prázdný řetězec, zakáže naplánovanou úlohu, abyste mohli zrušit spouštění uvolňování paměti.
  • Výchozí hodnota: 0 0 * * *. Spustí úlohu jednou denně.

--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCThreshold=

  • Tato konfigurace určuje procentuální prahovou hodnotu pro aktivaci procesu uvolňování paměti pro registr clusteru.
  • Tato konfigurace aktivuje proces uvolňování paměti, když využití registru clusteru překročí tuto hodnotu.
  • Výchozí hodnota: 0.

--config global.networkfunctionextension.clusterRegistry.registryService.scale=

  • Tato konfigurace nastaví prostředky procesoru a paměti pro registr clusteru na předdefinovanou možnost škálování.

  • Přijaté hodnoty: small, medium, large.

  • Výchozí hodnota: medium.

  • Následují specifikace prostředků registru pro všechny tři škály:

        - requests:
          - small: cpu: 100m, memory: 250Mi
          - medium: cpu: 250m, memory: 500Mi
          - large: cpu: 500m, memory: 1Gi
        - limits:
          - small: cpu: 100m, memory: 2Gi
          - medium: cpu: 500m, memory: 2Gi
          - large: cpu: 1, memory: 4Gi
    

Aktualizace rozšíření NFO

Pokud chcete aktualizovat rozšíření NFO, spusťte příkaz az k8s-extension updateAzure CLI:

az k8s-extension update --resource-group
                        --cluster-name
                        --cluster-type {connectedClusters}
                        --extension-type {Microsoft.Azure.HybridNetwork}
                        --name
                        --release-namespace {azurehybridnetwork}
                        --release-train {preview, stable}
                        --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator
                        [--version] {version-target}
                        [--config global.networkfunctionextension.enableClusterRegistry={false, true}]
                        [--config global.networkfunctionextension.enableLocalRegistry={false, true}]
                        [--config global.networkfunctionextension.enableEarlyLoading={false,true}]
                        [--config global.networkfunctionextension.clusterRegistry.highAvailability.enabled={true, false}]
                        [--config global.networkfunctionextension.clusterRegistry.autoScaling.enabled={true, false}]
                        [--config global.networkfunctionextension.webhook.highAvailability.enabled={true, false}]
                        [--config global.networkfunctionextension.webhook.autoScaling.enabled={true, false}]
                        [--config global.networkfunctionextension.clusterRegistry.storageClassName=]
                        [--config global.networkfunctionextension.clusterRegistry.storageSize=]
                        [--config global.networkfunctionextension.webhook.pod.mutation.matchConditionExpression=]
                        [--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCCadence=]
                        [--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCThreshold=]

Smazat rozšíření NFO

Pokud chcete odstranit rozšíření NFO, spusťte příkaz az k8s-extension deleteAzure CLI:

az k8s-extension delete --resource-group
                        --cluster-name
                        --cluster-type {connectedClusters}
                        --extension-type {Microsoft.Azure.HybridNetwork}
                        --name
                        --release-namespace {azurehybridnetwork}
                        --release-train {preview, stable}
                        --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator

Příklady

Vytvoření rozšíření NFO s automatickým upgradem:

az k8s-extension create --resource-group myresourcegroup --cluster-name mycluster --name myextension --cluster-type connectedClusters --extension-type Microsoft.Azure.HybridNetwork --scope cluster --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator --release-namespace azurehybridnetwork

Vytvořte rozšíření NFO s pevně danou verzí.

az k8s-extension create --resource-group myresourcegroup --cluster-name mycluster --name myextension --cluster-type connectedClusters --extension-type Microsoft.Azure.HybridNetwork --auto-upgrade-minor-version false --scope cluster --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator --release-namespace azurehybridnetwork --version 1.0.2711-7

Vytvořte rozšíření NFO s funkcí registru clusteru (výchozí opožděný režim načítání) povolenou v NAKS:

az k8s-extension create --resource-group myresourcegroup --cluster-name mycluster --name myextension --cluster-type connectedClusters --extension-type Microsoft.Azure.HybridNetwork --scope cluster --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator --release-namespace azurehybridnetwork --config global.networkfunctionextension.enableClusterRegistry=true --config global.networkfunctionextension.clusterRegistry.storageSize=100Gi

Vytvořte rozšíření NFO s povolenou funkcí registru clusteru (výchozí opožděný režim načítání) v AKS:

az k8s-extension create --resource-group myresourcegroup --cluster-name mycluster --name myextension --cluster-type connectedClusters --extension-type Microsoft.Azure.HybridNetwork --scope cluster --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator --release-namespace azurehybridnetwork --config global.networkfunctionextension.enableClusterRegistry=true --config global.networkfunctionextension.clusterRegistry.highAvailability.enabled=false --config global.networkfunctionextension.clusterRegistry.storageClassName=managed-csi --config global.networkfunctionextension.clusterRegistry.storageSize=100Gi

Vytvořte rozšíření NFO s povolenou funkcí registru clusteru (předčasné načítání):

az k8s-extension create --resource-group myresourcegroup --cluster-name mycluster --name myextension --cluster-type connectedClusters --extension-type Microsoft.Azure.HybridNetwork --scope cluster --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator --release-namespace azurehybridnetwork --config global.networkfunctionextension.enableClusterRegistry=true --config global.networkfunctionextension.enableEarlyLoading=true --config global.networkfunctionextension.clusterRegistry.storageClassName=managed-csi --config global.networkfunctionextension.clusterRegistry.storageSize=100Gi

Vytvořte rozšíření NFO s povolenou funkcí vedlejšího načítání.

az k8s-extension create --resource-group myresourcegroup --cluster-name mycluster --name myextension --cluster-type connectedClusters --extension-type Microsoft.Azure.HybridNetwork --scope cluster --config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator --release-namespace azurehybridnetwork --config global.networkfunctionextension.enableLocalRegistry=true

Aktualizujte rozšíření NFO, aby se povolil registr clusteru:

az k8s-extension update --resource-group naks-1-rg --cluster-name naks-1  --cluster-type connectedClusters --name networkfunction-operator  --extension-type Microsoft.Azure.HybridNetwork --release-namespace azurehybridnetwork --config networkFunctionExtension.EnableManagedInClusterEdgeRegistry=true –-config networkFunctionExtension.EdgeRegistrySizeInGB=1024

Aktualizujte rozšíření NFO tak, aby se dosáhlo nové cílové verze:

az k8s-extension update --resource-group naks-1-rg --cluster-name naks-1  --cluster-type connectedClusters --name networkfunction-operator  --extension-type Microsoft.Azure.HybridNetwork --release-namespace azurehybridnetwork --version X.X.XXXX-YYY