Místní zřizování cest v AKS Edge Essentials
Aplikace spuštěné v Azure Kubernetes Service (AKS) Edge Essentials můžou potřebovat ukládat a načítat data. Řešení trvalého úložiště umožňují ukládat data aplikací, která jsou externí z podu, na kterém běží vaše aplikace. Trvalé úložiště také umožňuje udržovat data aplikace, a to i v případě, že pod aplikace selže.
Nástroj Local Path Provisioner umožňuje uživatelům Kubernetes používat místní úložiště v každém uzlu tím, že umožňuje vytvářet trvalé deklarace identity svazků pomocí místního úložiště na příslušném uzlu.
Tento článek popisuje, jak nastavit úložiště nástroje Local Path Provisioner a nasadit ukázkový kontejner do clusteru AKS Edge Essentials. Další informace najdete v oficiální dokumentaci k nástroji Local Path Provisioner.
Krok 1: Instalace požadavků
V okně PowerShellu se zvýšenými oprávněními spusťte následující rutinu:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/local-path-storage.yaml
Upozornění
Image Local-Path-Provisioner a Busybox nejsou spravovány společností Microsoft a jsou načítané z úložiště Rancher Labs .
BusyBox
A Local-Path-Provisioner
jsou k dispozici pouze jako image kontejneru Linuxu.
Po dokončení nasazení se spuštěním následující rutiny ujistěte, že je na vašem uzlu k dispozici třída úložiště local-path :
kubectl get StorageClass
Pokud je vše správně nakonfigurované, měl by se zobrazit následující výstup:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
local-path (default) rancher.io/local-path Delete WaitForFirstConsumer false 21h
Krok 2: Vytvoření deklarace trvalého svazku (PVC)
Druhým krokem je vytvoření deklarace trvalého svazku (PVC). K dispozici je několik konfigurací, ale tento příklad vytvoří pvc s režimem přístupu ReadWriteOnce a vyžádá si 128 MB úložiště. V okně PowerShellu se zvýšenými oprávněními spusťte následující rutinu:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/pvc.yaml
Krok 3: Nasazení ukázkového podu a ověření prostředků
Tento krok nasadí ukázkový pod, který se váže k PVC definovanému v předchozím kroku. Pokud chcete nasadit ukázkový pod, spusťte v okně PowerShellu se zvýšenými oprávněními následující rutinu:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/pod.yaml
Pokud je vše spuštěné a správně připojené, měl by se zobrazit výstup podobný následujícímu. Nejprve byste měli vidět, že byla vytvořena pv:
PS C:\WINDOWS\system32> kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pvc-0f217d0e-1d07-4d9e-91da-6b83534180b9 128Mi RWO Delete Bound default/local-path-pvc local-path 16s
Dále byste měli vidět, že PVC je svázaný:
PS C:\WINDOWS\system32> kubectl get pvc
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
local-path-pvc Bound pvc-0f217d0e-1d07-4d9e-91da-6b83534180b9 128Mi RWO local-path 118s
Nakonec byste měli vidět spuštěný ukázkový pod:
PS C:\WINDOWS\system32> kubectl get pod
NAME READY STATUS RESTARTS AGE
volume-test 1/1 Running 0 2m24s
Krok 4: Testování trvalého úložiště
Posledním testem je ověření, že úložiště je trvalé a že data budou zachována, i když pod aplikace selže.
Začněte tím, že něco napíšete do podu. V okně PowerShellu se zvýšenými oprávněními spusťte následující rutinu:
kubectl exec volume-test -- sh -c "echo Hello AKS Edge! > /data/test"
Teď pod odstraňte a simulujte selhání podu nebo dokonce odebrání nasazení:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/pod.yaml
Zkontrolujte, že se pod odebral, a pak znovu nasaďte pod test svazku :
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/pod.yaml
Nakonec si přečtěte obsah souboru, který byl dříve napsán. Pokud vše proběhne úspěšně, měla by se zobrazit zpráva Hello AKS Edge! .
kubectl exec volume-test -- sh -c "cat /data/test"
Hello AKS Edge!
Krok 5: Vyčištění nasazení
Po dokončení zřizování místních cest přejděte do PowerShellu a vyčistěte pracovní prostor spuštěním příkazu:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/pod.yaml
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/storage/local-path-provisioner/pvc.yaml