Dela via


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