Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt het gebruikersbeheer van een NFO-extensie (Network Function Operator) voor Azure Operator Service Manager begeleid. U gebruikt deze Kubernetes-clusterextensie voor het beheren van op containers gebaseerde workloads die door het Azure Operator Nexus-platform worden gehost.
U voert de opdrachten in dit artikel uit nadat u het NAKS-cluster (Nexus Azure Kubernetes Service) gereed hebt gemaakt voor de uitbreiding van de invoegtoepassing. Bij de opdrachten wordt ervan uitgegaan dat de Azure CLI en verificatie vooraf zijn geïnstalleerd in het doelabonnement.
Een NFO-extensie maken
Als u een NFO-extensie wilt maken, voert u de Azure CLI-opdracht az k8s-extension createuit.
Opdracht
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]
Benodigde parameters
--cluster-name -c
- Naam van het Kubernetes-cluster.
--cluster-type -t
- Geef Azure Arc-clusters, door Azure Kubernetes Service (AKS) beheerde clusters, Azure Arc-apparaten of
provisionedClusters. - Geaccepteerde waarden:
connectedClusters.
--extension-type
- Naam van het extensietype.
- Geaccepteerde waarden:
Microsoft.Azure.HybridNetwork.
--name -n
- Naam van het extensie-exemplaar.
--resource-group -g
- De naam van de hulpmiddelengroep. U kunt de standaardgroep configureren met behulp van
az configure --defaults group=groupname.
--config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator
- U moet deze configuratie opgeven.
Optionele parameters
--auto-upgrade
- Werk automatisch de minor-versie van het extensie-exemplaar bij.
- Geaccepteerde waarden:
false,true. - Standaardwaarde:
true.
--release-train
- Geef de releasecyclus op voor het extensietype.
- Geaccepteerde waarden:
preview,stable. - Standaardwaarde:
stable.
--version
- Geef de expliciete versie op die moet worden geïnstalleerd voor het extensie-exemplaar als
--auto-upgrade-minor-versionniet is ingeschakeld.
Optionele functiespecifieke configuraties
Zijladen
--config global.networkfunctionextension.enableLocalRegistry=
- Met deze configuratie kunnen artefacten via een harde schijf naar de edge worden geleverd.
- Geaccepteerde waarden:
false,true. - Standaardwaarde:
false.
Pod muterende webhook
--config global.networkfunctionextension.webhook.pod.mutation.matchConditionExpression=
Deze configuratie is een optionele parameter. Het komt alleen in werking wanneer containernetwerkfuncties (CNF's) zijn geïnstalleerd in de bijbehorende release-namespace.
Met deze configuratie wordt een gedetailleerdere controle ingesteld op regels en
namespaceSelectors.Standaardwaarde:
"((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\"))))"De genoemde voorwaarde impliceert dat de pods die in de
kube-systemnaamruimte worden geaccepteerd, alleen worden gemuteerd als ze ten minste één van de volgende labels hebben:app == "commissioning",app == "descheduler", ofname == "cert-exporter". Anders worden ze niet gemuteerd en blijven ze gehaald uit de oorspronkelijke bron in overeenstemming met de Helm-chart van de CNF, het onderdeel of de toepassing.Geaccepteerde waarde: Elke geldige Expressietaalexpressie (CEL).
U kunt deze parameter instellen of bijwerken tijdens de installatie of update van de NFO-extensie.
Deze voorwaarde komt alleen in werking wanneer u de CNF, de component of de toepassing installeert in de betreffende naamruimte in overeenstemming met de regels en
namespaceSelectors. Als u meer pods in die naamruimte maakt, wordt deze voorwaarde toegepast.
Cluster-registratie
--config global.networkfunctionextension.enableClusterRegistry=
- Met deze configuratie wordt een register in het cluster geconfigureerd voor het lokaal opslaan van artefacten in de cache.
- Standaardwaarden schakelen lazy-loading-modus in, tenzij
global.networkfunctionextension.enableEarlyLoading=true. - Geaccepteerde waarden:
false,true. - Standaardwaarde:
false.
--config global.networkfunctionextension.clusterRegistry.highAvailability.enabled=
- Met deze configuratie wordt het clusterregister ingericht in de modus hoge beschikbaarheid (HA) als het clusterregister is ingeschakeld.
- Deze configuratie maakt gebruik van een NAKS-volume
nexus-sharedvolgens de aanbeveling van AKS als de waarde is ingesteld opfalse. - Het aantal registerpodreplica's is minimaal
3en maximaal5. - Geaccepteerde waarden:
true,false. - Standaardwaarde:
true.
--config global.networkfunctionextension.clusterRegistry.autoScaling.enabled=
- Met deze configuratie worden de cluster-registerpods voorzien van horizontale automatische schaalaanpassing.
- Geaccepteerde waarden:
true,false. - Standaardwaarde:
true.
--config global.networkfunctionextension.webhook.highAvailability.enabled=
- Met deze configuratie worden meerdere replica's van de webhook ingericht voor hoge beschikbaarheid.
- Geaccepteerde waarden:
true,false. - Standaardwaarde:
true.
--config global.networkfunctionextension.webhook.autoScaling.enabled=
- Met deze configuratie worden de webhookpods voorzien van horizontale automatische schaalaanpassing.
- Geaccepteerde waarden:
true,false. - Standaardwaarde:
true.
--config global.networkfunctionextension.enableEarlyLoading=
- Met deze configuratie kunt u artefacten vroeg laden in het clusterregister voordat Helm wordt geïnstalleerd of bijgewerkt.
- U kunt deze configuratie alleen inschakelen wanneer
global.networkfunctionextension.enableClusterRegistry=true. - Geaccepteerde waarden:
false,true. - Standaardwaarde:
false.
--config global.networkfunctionextension.clusterRegistry.storageClassName=
- U moet deze configuratie opgeven wanneer
global.networkfunctionextension.enableClusterRegistry=true. -
networkfunctionextensionricht een permanente volumeclaim (PVC) in op lokale cacheartefacten uit deze opslagklasse. - Platformspecifieke waarden:
- AKS:
managed-csi - NAKS (standaard):
nexus-shared - NAKS (niet-HA):
nexus-volume - Azure Stack Edge:
managed-premium
- AKS:
- Standaardwaarde:
nexus-shared.
Notitie
- Wanneer u een NAKS-cluster beheert met behulp van Azure Operator Service Manager, zorgen de standaardparameterwaarden ervoor dat hoge beschikbaarheid (HA) als aanbevolen configuratie is ingeschakeld.
- Wanneer u een AKS-cluster beheert met behulp van Azure Operator Service Manager, moet u ha uitschakelen met behulp van de volgende configuratieopties:
--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=
- U moet deze configuratie opgeven wanneer
global.networkfunctionextension.enableClusterRegistry=true. - Met deze configuratie wordt de grootte ingesteld die we voor het clusterregister reserveren.
- Deze configuratie maakt gebruik van eenheden als Gi en Ti voor het aanpassen van de grootte.
- Standaardwaarde:
100Gi
--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCCadence=
- U moet deze configuratie opgeven als een schema in standaard Unix Crontab-indeling.
- Met deze configuratie, die is opgegeven als een lege tekenreeks, wordt de geplande taak uitgeschakeld, zodat u kunt beslissen om garbage collection niet uit te voeren.
- Standaardwaarde:
0 0 * * *. Voert de taak eenmaal per dag uit.
--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCThreshold=
- Deze configuratie specificeert de percentage drempelwaarde om het garbage collection proces voor het clusterregister te activeren.
- Deze configuratie activeert het garbagecollectionproces wanneer het clusterregistergebruik deze waarde overschrijdt.
- Standaardwaarde:
0.
--config global.networkfunctionextension.clusterRegistry.registryService.scale=
Met deze configuratie worden de CPU- en geheugenbronnen voor het clusterregister ingesteld op een vooraf gedefinieerde schaaloptie.
Geaccepteerde waarden:
small,medium,large.Standaardwaarde:
medium.Hieronder volgen de registerresourcespecificaties voor alle drie de schalen:
- 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
Een NFO-extensie bijwerken
Als u een NFO-extensie wilt bijwerken, voert u de Azure CLI-opdracht az k8s-extension updateuit:
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=]
Een NFO-extensie verwijderen
Als u een NFO-extensie wilt verwijderen, voert u de Azure CLI-opdracht az k8s-extension deleteuit:
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
Voorbeelden
Maak een NFO-extensie met automatische upgrade:
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
Maak een NFO-extensie met een vastgemaakte versie:
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
Maak een NFO-extensie met de clusterregisterfunctie (standaard luie laadmodus) ingeschakeld op 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
Maak een NFO-extensie met de clusterregisterfunctie (standaard luie laadmodus) ingeschakeld op 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
Maak een NFO-extensie waarvoor de functie clusterregister (vroeg laden) is ingeschakeld:
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
Maak een NFO-extensie waarvoor de functie voor sideloading is ingeschakeld:
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
Werk een NFO-extensie bij om het clusterregister in te schakelen:
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
Werk een NFO-extensie bij om een nieuwe doelversie te bereiken:
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