Wyłączanie funkcji puli węzłów systemu Windows w środowisku lokalnym platformy Azure
Dotyczy: Azure Local, wersja 23H2
Podczas instalowania usługi Azure Local trzy wirtualne dyski twarde (VHD) — Azure Linux, Windows Server 2019 i Windows Server 2022 — są pobierane automatycznie. Wirtualne dyski twarde są potrzebne do wdrożenia usługi AKS w usłudze Azure Local, ponieważ służą one jako podstawowe obrazy systemu operacyjnego dla węzłów Kubernetes w klastrze usługi AKS. W przypadku środowiska mieszanego systemu operacyjnego (węzłów systemu Windows i Linux) do aprowizacji puli węzłów systemu Windows Server 2019 lub Windows Server 2022 jest konieczne aprowizowanie puli węzłów systemu Windows Server 2019 lub 2022. Pula węzłów systemu Linux używa wirtualnego dysku twardego systemu Linux platformy Azure zoptymalizowanego pod kątem uruchamiania rozwiązania Kubernetes. W środowiskach, w których są używane tylko kontenery systemu Linux, jednak wirtualny dysk twardy systemu Windows jest niepotrzebny. Możesz wyłączyć funkcję puli węzłów systemu Windows, aby uniknąć pobierania i przechowywania tego dużego pliku, co pozwala zaoszczędzić przepustowość i miejsce do magazynowania.
W tym artykule z instrukcjami przedstawiono sposób wyłączania funkcji puli węzłów systemu Windows dla usługi Azure Kubernetes Service (AKS) na platformie Azure Lokalnie. Wyłączenie tej funkcji uniemożliwia automatyczne pobieranie wirtualnych dysków twardych z systemem Windows (VHD), które są o rozmiarze około 20 GB i wymagane do tworzenia puli węzłów opartych na systemie Windows. Dzięki temu przedsiębiorstwa z ograniczoną przepustowością internetu mogą uniknąć niepotrzebnych pobrań, zwłaszcza jeśli ich obciążenia korzystają wyłącznie z kontenerów systemu Linux. Ta funkcja ułatwia optymalizowanie użycia przepustowości i upraszcza zarządzanie zasobami w środowiskach, w których węzły systemu Windows nie są potrzebne.
Zanim rozpoczniesz
Przed rozpoczęciem upewnij się, że zostały spełnione następujące wymagania wstępne:
- Wdrożono platformę Azure Lokalnie. Ten artykuł ma zastosowanie tylko wtedy, gdy wdrożono już usługę Azure Local, wersja 2411. Nie można uruchomić poleceń w tym artykule przed wdrożeniem wersji lokalnej platformy Azure 2411. Obecnie nie obsługujemy możliwości wprowadzenia tej zmiany przed początkowym wdrożeniem lokalnym platformy Azure 2411.
- Uprawnienia RBAC platformy Azure do aktualizowania konfiguracji lokalnej platformy Azure. Upewnij się, że masz następujące role. Aby uzyskać więcej informacji, zobacz wymagane uprawnienia do wdrożenia:
- Administrator lokalny platformy Azure
- Czytelnik
- Lokalizacja niestandardowa. Nazwa lokalizacji niestandardowej. Lokalizacja niestandardowa jest konfigurowana podczas wdrażania lokalnego platformy Azure. Jeśli jesteś w witrynie Azure Portal, przejdź do strony Omówienie > serwera w zasobie systemu lokalnego platformy Azure. Powinna zostać wyświetlona niestandardowa lokalizacja klastra.
- Grupa zasobów platformy Azure. Grupa zasobów platformy Azure, w której wdrożono usługę Azure Local.
Zalecana opcja: wyłączanie puli węzłów systemu Windows z sesji programu Azure CloudShell
Aby uprościć konfigurację, poniższe kroki definiują zmienne środowiskowe, do których odwołuje się ten artykuł. Pamiętaj, aby zastąpić wartości wyświetlane własnymi wartościami.
Ustaw lokalizację niestandardową i wartości grupy zasobów w zmiennych środowiskowych:
$customlocationName = <The custom location name for Azure Local>
$resourceGroup = <The Azure resource group in which Azure Local is deployed>
Następnie uruchom następujące polecenie, aby uzyskać clusterName
parametr . Ten parametr jest nazwą mostka zasobów usługi Arc wdrożonego w środowisku lokalnym platformy Azure:
az customlocation show -n $customlocationName -g $resourceGroup --query hostResourceId
Oczekiwane dane wyjściowe:
/subscriptions/f3dwer-00000-4383-2345-00000/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge
W tych danych wyjściowych sanjose-arcbridge
jest nazwą mostka zasobów usługi Arc wdrożonego w klastrze lokalnym platformy Azure. Ta nazwa jest inna dla danego wdrożenia.
$clusterName = <Name of Arc resource bridge deployed on the Azure Local cluster>
Następnie uzyskaj nazwę rozszerzenia usługi AKS Arc wdrożonego w lokalizacji niestandardowej. Aby uzyskać tę nazwę, uruchom następujące polecenie, aby wyświetlić listę rozszerzeń zainstalowanych w lokalizacji niestandardowej:
az customlocation show -n $customlocationID -g $resourceGroup --query clusterExtensionIds -o tsv
Oczekiwane dane wyjściowe:
/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/hybridaksextension
/subscriptions/fbaf508b-cb61-4383-9cda-a42bfa0c7bc9/resourceGroups/SanJose/providers/Microsoft.ResourceConnector/appliances/sanjose-arcbridge/providers/Microsoft.KubernetesConfiguration/extensions/vmss-hci
W lokalizacji niestandardowej powinny być zainstalowane dwa rozszerzenia: zarządzanie maszynami wirtualnymi usługi AKS Arc i Arc. Skopiuj nazwę rozszerzenia usługi AKS do zmiennej środowiskowej. W przykładowych danych wyjściowych nazwa rozszerzenia to hybridaksextension
. Może się to różnić od tego, co widzisz:
$extensionName = <Name of AKS Arc extension you deployed on the custom location>
Po utworzeniu nazwy rozszerzenia utwórz zmienne dla następujących parametrów, a następnie wyłącz funkcję puli węzłów systemu Windows:
$extensionVersion = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query version -o tsv)"
$releaseTrain = "$(az k8s-extension show -n $extensionName -g $resourceGroup -c $clusterName --cluster-type appliances --query releaseTrain -o tsv)"
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes
Alternatywna opcja: wyłącz pulę węzłów systemu Windows po nawiązaniu połączenia z lokalnym węzłem fizycznym platformy Azure za pośrednictwem pulpitu zdalnego
Jeśli z jakiegoś powodu nie możesz użyć programu Azure CloudShell lub maszyny z łącznością z platformą Azure w celu wyłączenia puli węzłów systemu Windows, możesz wyłączyć pulę węzłów systemu Windows po nawiązaniu połączenia z dowolnym z lokalnych węzłów fizycznych platformy Azure za pomocą pulpitu zdalnego. Musisz najpierw zalogować się na platformie Azure:
az k8s-extension update --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --name $extensionName --version $extensionVersion --release-train $releaseTrain --config disable-windows-nodepool=true --yes
Sprawdzanie, czy funkcja puli węzłów systemu Windows jest wyłączona
Możesz sprawdzić, czy ustawienia konfiguracji zostały zastosowane, uruchamiając polecenie az k8s-extension show
, w następujący sposób:
az k8s-extension show --name $extensionName --resource-group $resourceGroup --cluster-name $clusterName --cluster-type appliances --query configurationSettings
Oczekiwane dane wyjściowe:
...
"disable-windows-nodepool": "true",
...
Następnie sprawdź, czy węzłów systemu Windows zostały wyłączone, uruchamiając następujące polecenie:
az aksarc get-versions --resource-group $resourceGroup --custom-location $customlocationName
Dane wyjściowe polecenia osType=Windows
powinny mieć wartość "Funkcja puli węzłów systemu Windows jest wyłączona", a ready
stan powinien mieć false
wartość , dla każdej opcji wersji platformy Kubernetes:
...
"1.27.7": {
"readiness": [
{
"errorMessage": null,
"osSku": "CBLMariner",
"osType": "Linux",
"ready": true
},
{
"errorMessage": "Windows nodepool feature is disabled",
"osSku": "Windows2019",
"osType": "Windows",
"ready": false
},
{
"errorMessage": "Windows nodepool feature is disabled",
"osSku": "Windows2022",
"osType": "Windows",
"ready": false
}
],
...
Często zadawane pytania
Co się stanie, jeśli spróbuję wyłączyć pulę węzłów systemu Windows i pule węzłów systemu Windows w klastrze atleast 1 AKS we wdrożeniu lokalnym platformy Azure?
Przed wyłączeniem tej funkcji należy ręcznie usunąć pulę węzłów systemu Windows. Jeśli istnieją węzłów systemu Windows, nie można wyłączyć tej funkcji.
Co się stanie z pobranymi dyskami VHD systemu Windows, jeśli wyłączym pule węzłów systemu Windows?
Dyski VHD systemu Windows, które zostały wcześniej pobrane, są automatycznie usuwane, jeśli funkcja puli węzłów systemu Windows jest wyłączona. Możesz sprawdzić, czy wirtualne dyski twarde systemu Windows zostały usunięte ze ścieżek magazynu lokalnego platformy Azure. Usunięcie może zająć trochę czasu. Poczekaj 30 minut przed sprawdzeniem. Należy sprawdzić wszystkie ścieżki magazynu, ponieważ wirtualne dyski twarde systemu Windows są przypisane do ścieżek magazynu w sposób okrężny na podstawie dostępnej pojemności magazynu.