Przechowywanie kontenerów Windows w hybrydowej usłudze AKS

Ukończone

Opcje wdrożenia hybrydowego usługi Azure Kubernetes Service (AKS) ("Hybrydowe rozwiązanie AKS") to lokalna implementacja orkiestratora usługi Azure Kubernetes Service. Orkiestrator automatyzuje uruchamianie konteneryzowanych aplikacji na dużą skalę, umożliwiając obsługę spójnych aplikacji natywnych dla chmury w dowolnym miejscu. infrastruktura lokalna i integracja jej z usługami Azure.

W zależności od klasy sprzętu, dostępności obliczeniowej i procesu wdrażania rozwiązania Kubernetes dostępne są następujące opcje wdrożenia hybrydowego usługi AKS:

  • Usługa AKS w systemie Windows Server
  • Usługa AKS w usłudze Azure Stack HCI (hiperkonwergentna infrastruktura)
  • Aprowizowanie klastra usługi AKS z platformy Azure (WERSJA ZAPOZNAWCZA)
  • Podstawy usługi AKS Edge

Przechowywanie w hybrydowym AKS

Ponieważ hybrydowa usługa AKS jest implementacją usługi AKS, większość pojęć związanych z magazynem jest taka sama. hybrydowy klaster AKS zawiera płaszczyznę sterowania zarządzaną przez AKS, która zapewnia podstawowe usługi Kubernetes i orkiestrację, podczas gdy zarządzasz węzłami zawierającymi zasobniki z aplikacjami obciążeniowymi. Na poniższym diagramie przedstawiono architekturę klastra hybrydowego usługi AKS korzystającego z opcji wdrożenia hybrydowego usługi AKS w usłudze Azure Stack HCI:

Diagram przedstawiający architekturę klastra hybrydowego usługi AKS korzystającego z opcji wdrożenia hybrydowego usługi AKS w usłudze Azure Stack HCI.

Podobnie jak w usłudze AKS, tradycyjne woluminy to zasoby Kubernetes obsługiwane przez Azure Storage. Możesz ręcznie utworzyć woluminy danych, które mają być przypisane bezpośrednio do zasobników lub automatycznie utworzyć je platforma Kubernetes. Aby skojarzyć te woluminy z usługą Azure Storage, rozwiązanie hybrydowe usługi AKS używa interfejsu magazynu kontenerów (CSI). Usługa AKS Hybrid obsługuje kontenery systemu Windows i magazyn trwały z tymi samymi sterownikami CSI co usługa AKS.

Podczas tworzenia pamięci masowej w środowisku hybrydowym, AKS korzysta z tych samych pojęć Kubernetes co AKS, z pewnymi różnicami. Woluminy trwałe są tworzone statycznie lub dynamicznie. Jeśli tworzysz je dynamicznie, definiujesz ich typ i cykl życia za pomocą klasy przechowywania, a następnie są one powiązane z woluminem trwałym (PV) za pomocą żądania zasobu trwałego (PVC).

Jeśli magazyn hybrydowy usługi AKS różni się od usługi AKS, jest jego obsługą korzystania z magazynu lokalnego jako magazynu trwałego.

Woluminy trwałe

Trwała pamięć masowa to zasób pamięci masowej utworzony i zarządzany przez API Kubernetes, który może istnieć poza czasem życia pojedynczego podu. Na przykład przy korzystaniu z opcji wdrożenia hybrydowego AKS na platformie Azure Stack HCI, można użyć woluminów dysków AKS obsługiwanych przez VHDX (typ pliku wirtualnego dysku twardego), które są zamontowane jako ReadWriteOnce i dostępne dla jednego węzła jednocześnie. Można też użyć woluminów plików usługi AKS obsługiwanych przez współdzielone pliki SMB lub NFS (system plików sieciowych). Są one instalowane jako ReadWriteMany i są dostępne dla wielu węzłów jednocześnie.

Administrator klastra może statycznie utworzyć wolumin trwały lub dynamicznie utworzyć go za pomocą serwera interfejsu API Kubernetes. Jeśli zasobnik jest zaplanowany i żąda magazynu, który nie jest obecnie dostępny, platforma Kubernetes może utworzyć podstawowy plik VHDX, a następnie dołączyć go do zasobnika. Aprowizacja dynamiczna używa StorageClass do identyfikowania typu magazynu, który należy utworzyć.

Klasy przechowywania

Klasa pamięci masowej definiuje warstwę pamięci masowej, lokalizację i reclaimPolicy bazowego zasobu pamięci masowej.

W hybrydowej usłudze AKS domyślna klasa magazynu jest tworzona automatycznie i używa CSV do tworzenia woluminów opartych na VHDX. Polityka odzyskiwania zapewnia usunięcie podstawowego dysku VHDX, gdy trwały wolumin, który z niego korzystał, jest usunięty. Klasa pamięci konfiguruje również woluminy trwałe, aby można je było rozszerzać, więc wystarczy edytować żądanie trwałego woluminu, podając nowy rozmiar.

Jeśli nie określiszStorageClass dla woluminu trwałego, zostanie użyta domyślna StorageClass. Podczas żądania woluminów trwałych upewnij się, że używają odpowiedniego magazynu, którego potrzebujesz. Możesz utworzyć StorageClass, aby spełnić dodatkowe potrzeby.

Oświadczenia trwałego woluminu

PersistentVolumeClaim żąda przechowywania StorageClass o określonym rozmiarze we ReadWriteOnce lub ReadWriteMany. Serwer API Kubernetes może dynamicznie przydzielać bazowy zasób magazynowy w hybrydowej usłudze AKS, jeśli nie ma istniejącego zasobu do spełnienia żądania zgodnie z określonym StorageClass. Definicja zasobnika zawiera montowanie woluminu po podłączeniu woluminu do zasobnika.

PersistentVolume jest powiązana z PersistentVolumeClaim po przypisaniu dostępnego zasobu pamięci masowej do zasobnika, który go żąda. Istnieje mapowanie woluminów trwałych 1:1 na żądania.

Używanie dysków lokalnych na potrzeby magazynu trwałego

Jedną z zalet użycia hybrydowego usługi AKS jest możliwość używania dysków lokalnych jako magazynu trwałego dla kontenerów systemu Windows. Dyski lokalne to dyski fizyczne dołączone do węzłów lokalnych. Dyski lokalne oferują wysoką wydajność i małe opóźnienia dla aplikacji konteneryzowanych.

Aby używać dysków lokalnych z kontenerami systemu Windows w hybrydowej usłudze AKS, należy użyć wtyczki local-volume-provisioner. Ta wtyczka automatycznie odnajduje i tworzy trwałe woluminy (PVs) dla lokalnych dysków na Twoich węzłach. Następnie należy utworzyć roszczenia na trwałe woluminy (PVC), które są zgodne z trwałymi woluminami na podstawie koligacji węzła i klasy pamięci masowej. Na koniec należy przymocować PVC do podów lub kontenerów przy użyciu definicji woluminów.