Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera instrukcje dotyczące zarządzania użytkownikami rozszerzenia operatora funkcji sieciowej (NFO) dla programu Azure Operator Service Manager. To rozszerzenie klastra Kubernetes służy do zarządzania obciążeniami opartymi na kontenerach, które są hostowane na platformie Azure Operator Nexus.
Po ustawieniu klastra Nexus Azure Kubernetes Service (NAKS) jako gotowego do rozszerzenia dodatku, uruchamiasz polecenia opisane w tym artykule. Polecenia zakładają wcześniejsze zainstalowanie Azure CLI i uwierzytelnienie w docelowej subskrypcji.
Tworzenie rozszerzenia NFO
Aby utworzyć rozszerzenie NFO, uruchom polecenie CLI platformy Azure az k8s-extension create.
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=]
[--config global.networkfunctionextension.clusterRegistry.registryService.scale={"small", "medium", "large"}]
[--version]
Wymagane parametry
--cluster-name -c
- Nazwa klastra Kubernetes.
--cluster-type -t
- Określ klastry usługi Azure Arc, zarządzane klastry usługi Azure Kubernetes Service (AKS), urządzenia usługi Azure Arc lub
provisionedClusters. - Zaakceptowane wartości:
connectedClusters.
--extension-type
- Nazwa typu rozszerzenia.
- Zaakceptowane wartości:
Microsoft.Azure.HybridNetwork.
--name -n
- Nazwa wystąpienia rozszerzenia.
--resource-group -g
- Nazwa grupy zasobów. Grupę domyślną można skonfigurować przy użyciu
az configure --defaults group=groupname.
--config Microsoft.CustomLocation.ServiceAccount=azurehybridnetwork-networkfunction-operator
- Musisz podać tę konfigurację.
Parametry opcjonalne
--auto-upgrade
- Automatycznie zaktualizuj mniejszą wersję wystąpienia rozszerzenia.
- Zaakceptowane wartości:
false,true. - Wartość domyślna:
true.
--release-train
- Określ pociąg wydania dla typu rozszerzenia.
- Zaakceptowane wartości:
preview,stable. - Wartość domyślna:
stable.
--version
- Określ jawną wersję do zainstalowania dla wystąpienia rozszerzenia, jeśli
--auto-upgrade-minor-versionnie jest włączona.
Opcjonalne konfiguracje specyficzne dla funkcji
Ładowanie boczne
--config global.networkfunctionextension.enableLocalRegistry=
- Ta konfiguracja umożliwia dostarczanie artefaktów do krawędzi za pośrednictwem dysku sprzętowego.
- Zaakceptowane wartości:
false,true. - Wartość domyślna:
false.
Zmutowanie elementu webhook zasobnika
--config global.networkfunctionextension.webhook.pod.mutation.matchConditionExpression=
Ta konfiguracja jest opcjonalnym parametrem. Wchodzi w grę tylko wtedy, gdy funkcje sieciowe kontenerów (CNFs) są instalowane w odpowiedniej przestrzeni nazw wersji.
Ta konfiguracja ustawia bardziej szczegółową kontrolę nad regułami i
namespaceSelectors.Wartość domyślna:
"((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\"))))"Warunek dopasowania przywołany oznacza, że zasobniki akceptowane w
kube-systemprzestrzeni nazw są mutowane tylko wtedy, gdy mają co najmniej jedną z następujących etykiet:app == "commissioning",app == "descheduler"lubname == "cert-exporter". W przeciwnym razie nie są onemutowane i nadal są pobierane z oryginalnego źródła zgodnie z wykresem Helm systemu CNF, składnika lub aplikacji.Zaakceptowana wartość: dowolne prawidłowe wyrażenie języka Common Expression Language (CEL).
Ten parametr można ustawić lub zaktualizować podczas instalacji lub aktualizacji rozszerzenia NFO.
Ten warunek ma zastosowanie tylko wtedy, gdy instalujesz CNF, składnik lub aplikację w przestrzeni nazw zgodnie z regułami i
namespaceSelectors. Jeśli utworzysz więcej zasobników w tej przestrzeni nazw, zostanie zastosowany ten warunek.
Rejestr klastrów
--config global.networkfunctionextension.enableClusterRegistry=
- Ta konfiguracja konfiguruje rejestr w klastrze w celu lokalnego przechowywania artefaktów.
- Wartości domyślne włączają tryb leniwego ładowania, chyba że
global.networkfunctionextension.enableEarlyLoading=true. - Zaakceptowane wartości:
false,true. - Wartość domyślna:
false.
--config global.networkfunctionextension.clusterRegistry.highAvailability.enabled=
- Ta konfiguracja konfiguruje rejestr klastrów w trybie HA (wysokiej dostępności), jeśli rejestr klastrów jest włączony.
- Ta konfiguracja używa zalecanego przez AKS woluminu NAKS
nexus-shared, jeśli wartość jest ustawiona nafalse. - Liczba replik zasobników rejestru jest minimalna
3i maksymalnie5. - Zaakceptowane wartości:
true,false. - Wartość domyślna:
true.
--config global.networkfunctionextension.clusterRegistry.autoScaling.enabled=
- Ta konfiguracja konfiguruje zasobniki rejestru klastra ze skalowaniem horyzontalnym.
- Zaakceptowane wartości:
true,false. - Wartość domyślna:
true.
--config global.networkfunctionextension.webhook.highAvailability.enabled=
- Ta konfiguracja konfiguruje wiele replik webhooka w celu zapewnienia wysokiej dostępności.
- Zaakceptowane wartości:
true,false. - Wartość domyślna:
true.
--config global.networkfunctionextension.webhook.autoScaling.enabled=
- Ta konfiguracja udostępnia zasobniki webhook z zastosowaniem poziomego skalowania automatycznego.
- Zaakceptowane wartości:
true,false. - Wartość domyślna:
true.
--config global.networkfunctionextension.enableEarlyLoading=
- Ta konfiguracja umożliwia wczesne ładowanie artefaktów do rejestru klastrów przed instalacją lub uaktualnieniem programu Helm.
- Tę konfigurację można włączyć tylko wtedy, gdy
global.networkfunctionextension.enableClusterRegistry=true. - Zaakceptowane wartości:
false,true. - Wartość domyślna:
false.
--config global.networkfunctionextension.clusterRegistry.storageClassName=
- Tę konfigurację należy podać, gdy
global.networkfunctionextension.enableClusterRegistry=true. -
networkfunctionextensionprzydziela trwałe roszczenie woluminu (PVC) do lokalnych artefaktów pamięci podręcznej z tej klasy magazynu. - Wartości specyficzne dla platformy:
- Usługa AKS:
managed-csi - NAKS (ustawienie domyślne):
nexus-shared - NAKS (non-HA):
nexus-volume - Azure Stack Edge:
managed-premium
- Usługa AKS:
- Wartość domyślna:
nexus-shared.
Uwaga
- Podczas zarządzania klastrem NAKS przy użyciu usługi Azure Operator Service Manager domyślne wartości parametrów włączają wysoką dostępność (HA) jako zalecaną konfigurację.
- Podczas zarządzania klastrem AKS przy użyciu Azure Operator Service Manager należy wyłączyć HA przy użyciu następujących opcji konfiguracji:
--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=
- Tę konfigurację należy podać, gdy
global.networkfunctionextension.enableClusterRegistry=true. - Ta konfiguracja określa rozmiar, który rezerwujemy dla rejestru klastrów.
- Ta konfiguracja używa jednostek jako Gi i Ti do określania rozmiaru.
- Wartość domyślna:
100Gi
--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCCadence=
- Tę konfigurację należy podać jako harmonogram w standardowym formacie Crontab systemu Unix.
- Ta konfiguracja, określona jako pusty ciąg znaków, wyłącza zaplanowane zadanie, aby zrezygnować z uruchamiania procesu odśmiecania pamięci.
- Wartość domyślna:
0 0 * * *. Uruchamia zadanie raz dziennie.
--config global.networkfunctionextension.clusterRegistry.clusterRegistryGCThreshold=
- Ta konfiguracja określa procentową wartość progową uruchamiania procesu zbierania nieużywanej pamięci dla rejestru klastra.
- Ta konfiguracja wyzwala proces odśmiecania pamięci, gdy użycie rejestru klastra przekracza tę wartość.
- Wartość domyślna:
0.
--config global.networkfunctionextension.clusterRegistry.registryService.scale=
Ta konfiguracja ustawia zasoby procesora CPU i pamięci dla rejestru klastra na wstępnie zdefiniowaną opcję skalowania.
Zaakceptowane wartości:
small, ,mediumlarge.Wartość domyślna:
medium.Poniżej przedstawiono specyfikacje zasobów rejestru dla wszystkich trzech skalowania:
- 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
Aktualizowanie rozszerzenia NFO
Aby zaktualizować rozszerzenie NFO, uruchom polecenie interfejsu wiersza polecenia platformy Azure az k8s-extension update.
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=]
Usuń rozszerzenie NFO
Aby usunąć rozszerzenie NFO, uruchom polecenie CLI platformy Azure az k8s-extension delete.
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
Przykłady
Utwórz rozszerzenie NFO z automatycznym uaktualnieniem:
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
Utwórz rozszerzenie NFO z przypiętą wersją:
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
Utwórz rozszerzenie NFO z włączoną funkcją rejestru klastra (domyślny tryb lazy loading) na 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
Utwórz rozszerzenie NFO z włączoną funkcją rejestru klastra (domyślny tryb leniwego ładowania) na 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
Utwórz rozszerzenie NFO z włączoną funkcją rejestru klastra (wczesne ładowanie):
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
Utwórz rozszerzenie NFO z włączoną funkcją ładowania z zewnętrznych źródeł.
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
Zaktualizuj rozszerzenie NFO, aby włączyć rejestr klastrów:
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
Zaktualizuj rozszerzenie NFO, aby uzyskać dostęp do nowej wersji docelowej:
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