Správa rozšíření operátoru síťové funkce
Tento článek vás provede správou uživatelů rozšíření operátora služby Azure Operator Service Manager (AOSM) (NFO). Toto rozšíření clusteru Kubernetes se používá jako součást nabídky služby AOSM a slouží ke správě úloh založených na kontejnerech hostovaných platformou Azure Operator Nexus.
Přehled
Tyto příkazy se spustí po dokončení připravenosti clusteru NAKS na rozšíření doplňku a předpokládá se předchozí instalace Azure CLI a ověřování do cílového předplatného.
Vytvoření rozšíření síťové funkce
Příkaz Azure CLI az k8s-extension create se spustí a nainstaluje rozšíření NFO.
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=]
[--version]
Povinné parametry
--cluster-name -c
- Název clusteru Kubernetes
--cluster-type -t
- Určete clustery Arc nebo spravované clustery Azure Kubernetes Service (AKS) nebo zařízení Arc nebo zřízenéClusters.
- 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í příkazu az configure --defaults group=groupname.
--config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator
- Tato konfigurace musí být poskytována.
Volitelné parametry
--auto-upgrade
- Automaticky upgradovat podverzi instance rozšíření.
- Přijaté hodnoty: false, true.
- Výchozí hodnota: true.
--release-train
- Zadejte trénování vydané verze pro typ rozšíření.
- Přijaté hodnoty: preview, stabilní.
- Výchozí hodnota: stabilní.
--version
- Zadejte explicitní verzi, která se má nainstalovat pro instanci rozšíření, pokud není povolená možnost --auto-upgrade-minor-version.
Volitelné konfigurace specifické pro funkce
Zkušební načtení
--config global.networkfunctionextension.enableLocalRegistry=
- Tato konfigurace umožňuje doručení artefaktů do hraničních zařízení prostřednictvím hardwarové jednotky.
- Přijaté hodnoty: false, true.
- Výchozí hodnota: false.
Ztlumení podů Webhook
--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 konfiguruje podrobnější řízení nad pravidly a obory názvůSelectors.
- 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á shodaCondition znamená, že pody, které se přijímají v oboru názvů kube-system, jsou ztlumené pouze v případě, že mají alespoň jeden z následujících popisků: app == "provizí", app == "descheduler" nebo name == "cert-exportér". Jinak se neztlumí a budou se dál načítané z původního zdroje podle chartu Helm CNF/Component/Application.
- Přijatá hodnota: Libovolný platný výraz CEL.
- Tento parametr lze nastavit nebo aktualizovat během instalace nebo aktualizace rozšíření síťové funkce (NF).
- Tato podmínka přichází do hry pouze v případě, že se CNF/Component/Application instalují do oboru názvů podle pravidel a oborů názvůSelectors. Pokud se v tomto oboru názvů zpřístupní 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í režimu, pokud 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, pokud je povolený registr clusteru.
- Výchozí hodnota je pravdivá a v doporučení AKS je nastavená hodnota false pomocí služby Nexus Azure Kubernetes Service (NAKS).
- Přijaté hodnoty: true, false.
- Výchozí hodnota: true.
--config global.networkfunctionextension.clusterRegistry.autoScaling.enabled=
- Tato konfigurace zřídí pody registru clusteru s horizontálním automatickým škálováním.
- Přijaté hodnoty: true, false.
- Výchozí hodnota: true.
--config global.networkfunctionextension.webhook.highAvailability.enabled=
- Tato konfigurace zřídí několik 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 zřídí 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 rychlé načítání artefaktů do registru clusteru před instalací nebo upgradem helmu.
- Tuto konfiguraci lze 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 zřídí PVC pro artefakty místní mezipaměti z této třídy úložiště.
- Hodnoty specifické pro platformu
- AKS: managed-csi
- NAKS(Default): nexus-shared
- NAKS(non-HA): nexus-volume
- Azure Stack Edge (ASE): managed-premium
- Výchozí hodnota: nexus-shared.
--config global.networkfunctionextension.clusterRegistry.storageSize=
- Tuto konfiguraci je nutné zadat, pokud global.networkfunctionextension.enableClusterRegistry=true.
- Tato konfigurace konfiguruje velikost, která si vyhrazujeme pro registr clusteru.
- Tato konfigurace používá pro změnu velikosti jednotku jako Gi a Ti.
- Výchozí hodnota: 100Gi
--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCCadence=
- Tato konfigurace musí být poskytována jako plán ve standardním formátu Unix crontab.
- Tato konfigurace zadaná jako prázdný řetězec zakáže naplánovanou úlohu, což zákazníkům umožní odhlášení z provozu uvolňování paměti.
- Výchozí hodnota: 0 0 * * *- Spustí úlohu jednou denně.
--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCThreshold=
- Tato konfigurace určuje prahovou hodnotu precent pro aktivaci procesu uvolňování paměti registru clusteru.
- Tato konfigurace aktivuje proces uvolňování paměti, když využití registru clusteru překročí tuto hodnotu.
- Výchozí hodnota: 0.
Poznámka:
- Při správě clusteru NAKS pomocí AOSM povolí výchozí hodnoty parametrů vysokou dostupnost jako doporučenou konfiguraci.
- Při správě clusteru AKS pomocí AOSM je potřeba 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
Aktualizace rozšíření síťové funkce
Příkaz Azure CLI az k8s-extension update se spustí a aktualizuje rozšíření NFO.
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=]
Odstranění rozšíření síťové funkce
Příkaz Azure CLI az k8s-extension delete se spustí a odstraní rozšíření NFO.
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řte rozšíření síťové funkce 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í síťové funkce s připnutou 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í síťové funkce s povolenou funkcí registru clusteru (výchozí opožděný režim načítání) 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í síťové funkce 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í síťové funkce 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í síťové funkce s povolenou funkcí načítání bokem.
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í síťové funkce, aby bylo možné povolit 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í síťové funkce, 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