Hantera tillägg för nätverksfunktionsoperatorer
Den här artikeln beskriver användarhantering av AOSM-tillägget (Azure Operator Service Manager) nätverksfunktionsoperator (NFO). Det här kubernetes-klustertillägget används som en del av AOSM-tjänsterbjudandet och används för att hantera containerbaserade arbetsbelastningar som hanteras av Azure Operator Nexus-plattformen.
Översikt
Dessa kommandon körs när NAKS-klustret är redo för tilläggstillägget och förutsätter en tidigare installation av Azure CLI och autentisering i målprenumerationen.
Skapa nätverksfunktionstillägg
Azure CLI-kommandot az k8s-extension create körs för att installera NFO-tillägget.
Command
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]
Obligatoriska parametrar
--cluster-name -c
- Namnet på Kubernetes-klustret.
--cluster-type -t
- Ange Arc-kluster eller Azure kubernetes Service-hanterade kluster (AKS) eller Arc-enheter eller provisionedClusters.
- Godkända värden: connectedClusters.
--extension-type
- Namnet på tilläggstypen.
- Godkända värden: Microsoft.Azure.HybridNetwork.
--name -n
- Namnet på tilläggsinstansen.
--resource-group -g
- Namnet på resursgruppen. Du kan konfigurera standardgruppen med hjälp av "az configure --defaults group=groupname".
--config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator
- Den här konfigurationen måste anges.
Valfria parametrar
--auto-upgrade
- Uppgradera automatiskt delversionen av tilläggsinstansen.
- Accepterade värden: false, true.
- Standardvärde: true.
--release-train
- Ange versionståget för tilläggstypen.
- Godkända värden: förhandsversion, stabil.
- Standardvärde: stabilt.
--version
- Ange den explicita version som ska installeras för tilläggsinstansen om "--auto-upgrade-minor-version" inte är aktiverad.
Valfria funktionsspecifika konfigurationer
Sidoinläsning
--config global.networkfunctionextension.enableLocalRegistry=
- Med den här konfigurationen kan artefakter levereras till gränsen via maskinvaruenheten.
- Accepterade värden: false, true.
- Standardvärde: false.
Webhook för poddmuterande
--config global.networkfunctionextension.webhook.pod.mutation.matchConditionExpression=
- Den här konfigurationen är en valfri parameter. Det spelar bara in när containernätverksfunktioner (CNFs) installeras i motsvarande versionsnamnområde.
- Den här konfigurationen konfigurerar mer detaljerad kontroll ovanpå regler och namnrymdVäljare.
- Standardvärde:
"((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\"))))"
Den refererade matchCondition innebär att poddarna som godkänns i kube-systemnamnområdet endast muteras om de har minst en av följande etiketter: app == "provisioning", app == "descheduler" eller name == "cert-exporter". Annars är de inte muterade och fortsätter att hämtas från den ursprungliga källan enligt helm-diagrammet för CNF/Component/Application.
- Godkänt värde: Valfritt giltigt CEL-uttryck.
- Den här parametern kan ställas in eller uppdateras under installation eller uppdatering av NF-tillägg (Network Function).
- Det här villkoret spelar bara in när CNF/Component/Application installeras i namnområdet enligt reglerna och namnområdetVäljare. Om det finns fler poddar som startas i namnområdet tillämpas det här villkoret.
Klusterregister
--config global.networkfunctionextension.enableClusterRegistry=
- Den här konfigurationen etablerar ett register i klustret för att cachelagras lokalt artefakter.
- Standardvärden aktiverar lat inläsningsläge om inte global.networkfunctionextension.enableEarlyLoading=true.
- Accepterade värden: false, true.
- Standardvärde: false.
--config global.networkfunctionextension.clusterRegistry.highAvailability.enabled=
- Den här konfigurationen etablerar klusterregistret i läget för hög tillgänglighet om klusterregistret är aktiverat.
- Standardvärdet är sant och använder Nexus Azure kubernetes Service (NAKS) nexus-delad volym på AKS-rekommendationen anges som false.
- Accepterade värden: sant, falskt.
- Standardvärde: true.
--config global.networkfunctionextension.clusterRegistry.autoScaling.enabled=
- Den här konfigurationen etablerar klusterregisterpoddarna med horisontell automatisk skalning.
- Accepterade värden: sant, falskt.
- Standardvärde: true.
--config global.networkfunctionextension.webhook.highAvailability.enabled=
- Den här konfigurationen etablerar flera repliker av webhook för hög tillgänglighet.
- Accepterade värden: sant, falskt.
- Standardvärde: true.
--config global.networkfunctionextension.webhook.autoScaling.enabled=
- Den här konfigurationen etablerar webhookspoddarna med horisontell automatisk skalning.
- Accepterade värden: sant, falskt.
- Standardvärde: true.
--config global.networkfunctionextension.enableEarlyLoading=
- Den här konfigurationen möjliggör tidig inläsning av artefakter i klusterregistret innan helm-installationen eller uppgraderingen.
- Den här konfigurationen kan bara aktiveras när global.networkfunctionextension.enableClusterRegistry=true.
- Accepterade värden: false, true.
- Standardvärde: false.
--config global.networkfunctionextension.clusterRegistry.storageClassName=
- Den här konfigurationen måste anges när global.networkfunctionextension.enableClusterRegistry=true.
- NetworkFunctionExtension etablerar en PVC till lokala cacheartefakter från den här lagringsklassen.
- Plattformsspecifika värden
- AKS: managed-csi
- NAKS(Standard): nexus-shared
- NAKS(Non-HA): nexus-volume
- Azure Stack Edge (ASE): managed-premium
- Standardvärde: nexus-shared.
--config global.networkfunctionextension.clusterRegistry.storageSize=
- Den här konfigurationen måste anges när global.networkfunctionextension.enableClusterRegistry=true.
- Den här konfigurationen konfigurerar storleken som vi reserverar för klusterregistret.
- Den här konfigurationen använder enheten som Gi och Ti för storleksändring.
- Standardvärde: 100Gi
--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCCadence=
- Den här konfigurationen måste anges som ett schema i unix crontab-standardformat.
- Den här konfigurationen som anges som en tom sträng inaktiverar det schemalagda jobbet, så att kunderna kan välja bort att köra skräpinsamling.
- Standardvärde: "0 0 * * *" – Kör jobbet en gång varje dag.
--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCThreshold=
- Den här konfigurationen anger tröskelvärdet före uppstigningen för att utlösa klusterregistrets skräpinsamlingsprocess.
- Den här konfigurationen utlöser skräpinsamlingsprocessen när klusterregisteranvändningen överskrider det här värdet.
- Standardvärde: 0.
Kommentar
- När du hanterar ett NAKS-kluster med AOSM aktiverar standardparametervärdena HA som rekommenderad konfiguration.
- När du hanterar ett AKS-kluster med AOSM måste ha inaktiverats med hjälp av följande konfigurationsalternativ:
--config global.networkfunctionextension.clusterRegistry.highAvailability.enabled=false
--config global.networkfunctionextension.webhook.highAvailability.enabled=false
--config global.networkfunctionextension.clusterRegistry.storageClassName=managed-csi
Uppdatera nätverksfunktionstillägget
Azure CLI-kommandot "az k8s-extension update" körs för att uppdatera NFO-tillägget.
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=]
Ta bort nätverksfunktionstillägg
Azure CLI-kommandot az k8s-extension delete körs för att ta bort NFO-tillägget.
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
Exempel
Skapa ett nätverksfunktionstillägg med automatisk uppgradering.
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
Skapa ett nätverksfunktionstillägg med en fäst version.
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
Skapa ett nätverksfunktionstillägg med funktionen för klusterregister (standardläge för lat inläsning) aktiverad på 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
Skapa ett nätverksfunktionstillägg med funktionen för klusterregister (standardläge för lat inläsning) aktiverad på 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
Skapa ett nätverksfunktionstillägg med funktionen för klusterregister (tidig inläsning) aktiverad.
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
Skapa ett nätverksfunktionstillägg med funktionen för sidoinläsning aktiverad.
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
Uppdatera ett nätverksfunktionstillägg för att aktivera klusterregistret.
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
Uppdatera ett nätverksfunktionstillägg för att nå en ny målversion.
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