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.
Usługa Azure Container Storage to oparta na chmurze usługa zarządzania woluminami, wdrażania i orkiestracji wbudowana natywnie dla kontenerów. Skorzystaj z tego artykułu, aby rozwiązać typowe problemy z usługą Azure Container Storage (wersja 1.x.x) i znaleźć rozwiązania problemów.
Ważne
Ten artykuł dotyczy usługi Azure Container Storage (wersja 1.x.x). Usługa Azure Container Storage (wersja 2.x.x) jest teraz dostępna.
Rozwiązywanie problemów z instalacją
Nie można zainstalować usługi Azure Container Storage z powodu braku konfiguracji
Po uruchomieniu az aks createpolecenia może zostać wyświetlony komunikat Nie można zainstalować usługi Azure Container Storage. Klaster usługi AKS jest tworzony. Uruchom polecenie az aks update wraz z poleceniem --enable-azure-container-storage , aby włączyć usługę Azure Container Storage.
Ten komunikat oznacza, że usługa Azure Container Storage nie została zainstalowana, ale klaster usługi AKS (Azure Kubernetes Service) został prawidłowo utworzony.
Aby zainstalować usługę Azure Container Storage w klastrze i utworzyć pulę magazynów, uruchom następujące polecenie. Zastąp <cluster-name> i <resource-group> własnymi wartościami. Zastąp ciąg <storage-pool-type> ciągiem azureDisk, ephemeraldisklub elasticSan.
az aks update -n <cluster-name> -g <resource-group> --enable-azure-container-storage <storage-pool-type>
Nie można zainstalować usługi Azure Container Storage z powodu ograniczeń usługi Azure Policy
Instalacja usługi Azure Container Storage może zakończyć się niepowodzeniem, jeśli obowiązują ograniczenia usługi Azure Policy. W szczególności usługa Azure Container Storage opiera się na kontenerach uprzywilejowanych. Usługę Azure Policy można skonfigurować tak, aby blokowała kontenery uprzywilejowane. Po zablokowaniu instalacja usługi Azure Container Storage może przekroczyć limit czasu lub zakończyć się niepowodzeniem, i mogą wystąpić błędy w dziennikach gatekeeper-controller, takie jak:
$ kubectl logs -n gatekeeper-system deployment/gatekeeper-controller
...
{"level":"info","ts":1722622443.9484184,"logger":"webhook","msg":"denied admission: Privileged container is not allowed: prereq, securityContext: {\"privileged\": true, \"runAsUser\": 0}","hookType":"validation","process":"admission","details":{},"event_type":"violation","constraint_name":"azurepolicy-k8sazurev2noprivilege-686dd8b209a774ba977c","constraint_group":"constraints.gatekeeper.sh","constraint_api_version":"v1beta1","constraint_kind":"K8sAzureV2NoPrivilege","constraint_action":"deny","resource_group":"","resource_api_version":"v1","resource_kind":"Pod","resource_namespace":"acstor","resource_name":"azurecontainerstorage-prereq-gt58x","request_username":"system:serviceaccount:kube-system:daemon-set-controller"}
{"level":"info","ts":1722622443.9839077,"logger":"webhook","msg":"denied admission: Privileged container is not allowed: metrics-exporter, securityContext: {\"privileged\": true}","hookType":"validation","process":"admission","details":{},"event_type":"violation","constraint_name":"azurepolicy-k8sazurev2noprivilege-686dd8b209a774ba977c","constraint_group":"constraints.gatekeeper.sh","constraint_api_version":"v1beta1","constraint_kind":"K8sAzureV2NoPrivilege","constraint_action":"deny","resource_group":"","resource_api_version":"v1","resource_kind":"Pod","resource_namespace":"acstor","resource_name":"azurecontainerstorage-metrics-exporter-286np","request_username":"system:serviceaccount:kube-system:daemon-set-controller"}
{"level":"info","ts":1722622444.0515249,"logger":"webhook","msg":"denied admission: Privileged container is not allowed: csi-node, securityContext: {\"privileged\": true}","hookType":"validation","process":"admission","details":{},"event_type":"violation","constraint_name":"azurepolicy-k8sazurev2noprivilege-686dd8b209a774ba977c","constraint_group":"constraints.gatekeeper.sh","constraint_api_version":"v1beta1","constraint_kind":"K8sAzureV2NoPrivilege","constraint_action":"deny","resource_group":"","resource_api_version":"v1","resource_kind":"Pod","resource_namespace":"acstor","resource_name":"azurecontainerstorage-csi-node-7hcd7","request_username":"system:serviceaccount:kube-system:daemon-set-controller"}
{"level":"info","ts":1722622444.0729053,"logger":"webhook","msg":"denied admission: Privileged container is not allowed: io-engine, securityContext: {\"privileged\": true}","hookType":"validation","process":"admission","details":{},"event_type":"violation","constraint_name":"azurepolicy-k8sazurev2noprivilege-686dd8b209a774ba977c","constraint_group":"constraints.gatekeeper.sh","constraint_api_version":"v1beta1","constraint_kind":"K8sAzureV2NoPrivilege","constraint_action":"deny","resource_group":"","resource_api_version":"v1","resource_kind":"Pod","resource_namespace":"acstor","resource_name":"azurecontainerstorage-io-engine-84hwx","request_username":"system:serviceaccount:kube-system:daemon-set-controller"}
{"level":"info","ts":1722622444.0742755,"logger":"webhook","msg":"denied admission: Privileged container is not allowed: ndm, securityContext: {\"privileged\": true}","hookType":"validation","process":"admission","details":{},"event_type":"violation","constraint_name":"azurepolicy-k8sazurev2noprivilege-686dd8b209a774ba977c","constraint_group":"constraints.gatekeeper.sh","constraint_api_version":"v1beta1","constraint_kind":"K8sAzureV2NoPrivilege","constraint_action":"deny","resource_group":"","resource_api_version":"v1","resource_kind":"Pod","resource_namespace":"acstor","resource_name":"azurecontainerstorage-ndm-x6q5n","request_username":"system:serviceaccount:kube-system:daemon-set-controller"}
{"level":"info","ts":1722622449.2412128,"logger":"webhook","msg":"denied admission: Privileged container is not allowed: ndm, securityContext: {\"privileged\": true}","hookType":"validation","process":"admission","details":{},"event_type":"violation","constraint_name":"azurepolicy-k8sazurev2noprivilege-686dd8b209a774ba977c","constraint_group":"constraints.gatekeeper.sh","constraint_api_version":"v1beta1","constraint_kind":"K8sAzureV2NoPrivilege","constraint_action":"deny","resource_group":"","resource_api_version":"v1","resource_kind":"Pod","resource_namespace":"acstor","resource_name":"azurecontainerstorage-ndm-b5nfg","request_username":"system:serviceaccount:kube-system:daemon-set-controller"}
Aby rozwiązać problem z blokowaniem, należy dodać acstor przestrzeń nazw do listy wykluczeń usługi Azure Policy. Usługa Azure Policy służy do tworzenia i wymuszania reguł zarządzania zasobami na platformie Azure, w tym klastrów usługi AKS. W niektórych przypadkach zasady mogą blokować tworzenie zasobników i składników usługi Azure Container Storage. Aby uzyskać więcej informacji na temat pracy z usługą Azure Policy dla platformy Kubernetes, zapoznaj się z usługą Azure Policy dla platformy Kubernetes.
Aby dodać acstor przestrzeń nazw do listy wykluczeń, wykonaj następujące kroki:
- Utwórz klaster usługi Azure Kubernetes.
- Włącz usługę Azure Policy dla usługi AKS.
- Utwórz zasady, które podejrzewasz, że blokują instalację usługi Azure Container Storage.
- Spróbuj zainstalować usługę Azure Container Storage w klastrze usługi AKS.
- Sprawdź dzienniki zasobnika kontrolera gatekeeper, aby potwierdzić wszelkie naruszenia zasad.
- Dodaj przestrzeń nazw
acstori przestrzeń nazwazure-extensions-usage-systemdo listy wykluczeń zasad. - Spróbuj ponownie zainstalować usługę Azure Container Storage w klastrze usługi AKS.
Nie można zainstalować i włączyć usługi Azure Container Storage w pulach węzłów z defektami
Można skonfigurować znaki węzłów w pulach węzłów, aby ograniczyć planowanie podów w tych pulach węzłów. Instalowanie i włączanie usługi Azure Container Storage w tych pulach węzłów może być zablokowane, ponieważ nie można utworzyć wymaganych zasobników w tych pulach węzłów. Zachowanie dotyczy zarówno puli węzłów systemowych podczas instalowania, jak i pul węzłów użytkownika podczas włączania.
Możesz sprawdzić defekty węzłów przy użyciu następującego przykładu:
$ az aks nodepool list -g $resourceGroup --cluster-name $clusterName --query "[].{PoolName:name, nodeTaints:nodeTaints}"
[
...
{
"PoolName": "nodepoolx",
"nodeTaints": [
"sku=gpu:NoSchedule"
]
}
]
Te defekty można tymczasowo usunąć, aby odblokować i skonfigurować je ponownie po pomyślnym zainstalowaniu i włączeniu. Możesz przejść do pul węzłów klastra > usługi AKS w witrynie Azure Portal>, wybrać pulę węzłów i usunąć te znaki w sekcji Taints and labels (Etykiety i etykiety). Możesz też użyć następującego polecenia, aby usunąć defekty i potwierdzić zmianę.
$ az aks nodepool update -g $resourceGroup --cluster-name $clusterName --name $nodePoolName --node-taints ""
$ az aks nodepool list -g $resourceGroup --cluster-name $clusterName --query "[].{PoolName:name, nodeTaints:nodeTaints}"
[
...
{
"PoolName": "nodepoolx",
"nodeTaints": null
}
]
Spróbuj ponownie zainstalować lub włączyć po pomyślnym usunięciu defektów węzła. Po pomyślnym zakończeniu można skonfigurować tainty węzłów, aby wznowić ograniczenia dotyczące planowania zasobników.
Nie można ustawić typu puli magazynów na NVMe
Jeśli spróbujesz zainstalować usługę Azure Container Storage z dyskiem efemerycznym, w szczególności z lokalnym dyskiem NVMe w klastrze, w którym jednostka SKU maszyny wirtualnej nie ma dysków NVMe, zostanie wyświetlony następujący komunikat o błędzie: Nie można ustawić opcji --storage-pool-as NVMe, ponieważ żadna z pul węzłów nie może obsługiwać efemerycznego dysku NVMe.
Aby rozwiązać ten problem, utwórz pulę węzłów przy użyciu SKU maszyny wirtualnej z dyskami NVMe i spróbuj ponownie. Zobacz Maszyny wirtualne zoptymalizowane pod kątem przechowywania danych.
Konflikt operatora Prometheus w usłudze Azure Container Storage
Usługa Azure Container Storage używa operatora Prometheus i jego wdrożenia do zbierania metryk na potrzeby wewnętrznej pomocy technicznej i rozwiązywania problemów. Jeśli klaster Kubernetes ma już zainstalowany operator Prometheus, oba operatory mogą próbować aprowizować zasób niestandardowy PromCluster, co może prowadzić do konfliktów lub problemów z instalacją.
Aby uniknąć konfliktów, możesz wykluczyć przestrzeń nazw acstor z istniejącej konfiguracji rozwiązania Prometheus lub wyłączyć kolekcję metryk usługi Azure Container Storage, uruchamiając następujące polecenie. Zastąp <cluster_name> i <resource_group_name> własnymi wartościami.
az k8s-extension update --cluster-type managedClusters --cluster-name <cluster_name> --resource-group <resource_group_name> --name azurecontainerstorage --config base.metrics.enablePrometheusStack=false
Rozwiązywanie problemów z pulą pamięci masowej
Aby sprawdzić stan pul magazynów, uruchom kubectl describe sp <storage-pool-name> -n acstor. Poniżej przedstawiono niektóre problemy, które mogą wystąpić.
Efemeryczna pula pamięci tymczasowej nie zarezerwuje pojemności, gdy dyski efemeryczne są używane przez inne zestawy demonów
Włączenie efemerycznej puli pamięci w puli węzłów z dyskami SSD tymczasowymi lub lokalnymi dyskami NVMe może nie przydzielić pojemności z tych dysków, jeśli korzystają z nich inne zestawy demonów.
Uruchom następujące kroki, aby umożliwić usłudze Azure Container Storage zarządzanie tymi dyskami lokalnymi wyłącznie:
Uruchom następujące polecenie, aby wyświetlić zgłoszoną pojemność przez efemeryczną pulę pamięci:
$ kubectl get sp -A NAMESPACE NAME CAPACITY AVAILABLE USED RESERVED READY AGE acstor ephemeraldisk-nvme 0 0 0 0 False 82sW tym przykładzie pokazano zero pojemności przypisanej przez
ephemeraldisk-nvmepulę magazynową.Uruchom następujące polecenie, aby potwierdzić nieodebrany stan tych lokalnych urządzeń blokowych i sprawdzić istniejący system plików na dyskach:
$ kubectl get bd -A NAMESPACE NAME NODENAME SIZE CLAIMSTATE STATUS AGE acstor blockdevice-1f7ad8fa32a448eb9768ad8e261312ff aks-nodepoolnvme-38618677-vmss000001 1920383410176 Unclaimed Active 22m acstor blockdevice-9c8096fc47cc2b41a2ed07ec17a83527 aks-nodepoolnvme-38618677-vmss000000 1920383410176 Unclaimed Active 23m $ kubectl describe bd -n acstor blockdevice-1f7ad8fa32a448eb9768ad8e261312ff Name: blockdevice-1f7ad8fa32a448eb9768ad8e261312ff … Filesystem: Fs Type: ext4 …W tym przykładzie pokazano, że urządzenia blokowe są w statusie
Unclaimedi istnieje system plików na dysku.Przed kontynuowaniem upewnij się, że chcesz używać usługi Azure Container Storage do zarządzania dyskami danych lokalnych wyłącznie.
Zatrzymaj i usuń daemonsets lub składniki, które zarządzają lokalnymi dyskami danych.
Zaloguj się do każdego węzła z lokalnymi dyskami danych.
Usuń istniejące systemy plików ze wszystkich lokalnych dysków danych.
Uruchom ponownie daemonset ndm, aby odkryć nieużywane lokalne dyski danych.
$ kubectl rollout restart daemonset -l app=ndm -n acstor daemonset.apps/azurecontainerstorage-ndm restarted $ kubectl rollout status daemonset -l app=ndm -n acstor --watch … daemon set "azurecontainerstorage-ndm" successfully rolled outZaczekaj kilka sekund i sprawdź, czy efemeryczna pula pamięci masowej przydziela pojemność z lokalnych dysków danych.
$ kubectl wait -n acstor sp --all --for condition=ready storagepool.containerstorage.azure.com/ephemeraldisk-nvme condition met $ kubectl get bd -A NAMESPACE NAME NODENAME SIZE CLAIMSTATE STATUS AGE acstor blockdevice-1f7ad8fa32a448eb9768ad8e261312ff aks-nodepoolnvme-38618677-vmss000001 1920383410176 Claimed Active 4d16h acstor blockdevice-9c8096fc47cc2b41a2ed07ec17a83527 aks-nodepoolnvme-38618677-vmss000000 1920383410176 Claimed Active 4d16h $ kubectl get sp -A NAMESPACE NAME CAPACITY AVAILABLE USED RESERVED READY AGE acstor ephemeraldisk-nvme 3840766820352 3812058578944 28708241408 26832871424 True 4d16hW tym przykładzie pokazano, że
ephemeraldisk-nvmepula magazynów pomyślnie przejmuje pojemność z lokalnych dysków NVMe znajdujących się w węzłach.
Błąd podczas próby rozwinięcia puli magazynów usługi Azure Disks
Jeśli istniejąca pula magazynów jest mniejsza niż 4 TiB (4096 GiB), można ją rozwinąć tylko do 4095 GiB. Jeśli spróbujesz rozwinąć się poza limit, wewnętrzny PVC wyświetli komunikat o błędzie o rozmiarze dysku lub ograniczeniach typu buforowania. Zatrzymaj maszynę wirtualną lub odłącz dysk i spróbuj ponownie wykonać operację".
Aby uniknąć błędów, nie próbuj rozszerzać bieżącej puli pamięci poza 4095 GiB, jeśli początkowo jest mniejsza niż 4 TiB (4096 GiB). Pule magazynów większe niż 4 TiB można rozszerzyć do maksymalnej dostępnej pojemności magazynu.
To ograniczenie ma zastosowanie tylko w przypadku używania jednostek SKU dysków Premium_LRS, Standard_LRS, StandardSSD_LRS, Premium_ZRS i StandardSSD_ZRS.
Tworzenie elastycznej sieci SAN kończy się niepowodzeniem
Jeśli próbujesz utworzyć elastyczną pulę pamięci masowej SAN, może zostać wyświetlony komunikat Tworzenie platformy Azure Elastic SAN nie powiodło się: Osiągnięto maksymalną możliwą liczbę elastycznych SAN dla tej subskrypcji. Oznacza to, że osiągnięto limit liczby zasobów Elastic SAN, które można wdrożyć w danym regionie na jedną subskrypcję. Limit można sprawdzić tutaj: Elastyczna skalowalność sieci SAN i cele wydajności. Rozważ usunięcie wszystkich istniejących elastycznych zasobów sieci SAN w ramach subskrypcji, które nie są już używane, lub spróbuj utworzyć pulę magazynów w innym regionie.
Nie znaleziono urządzeń zablokowanych
Jeśli zostanie wyświetlony ten komunikat, prawdopodobnie próbujesz utworzyć pulę magazynów dysków efemerycznych w klastrze, w którym jednostka SKU maszyny wirtualnej nie ma dysków NVMe.
Aby rozwiązać ten problem, utwórz pulę węzłów przy użyciu SKU maszyny wirtualnej z dyskami NVMe i spróbuj ponownie. Zobacz Maszyny wirtualne zoptymalizowane pod kątem przechowywania danych.
Typ puli magazynów jest już włączony
Jeśli spróbujesz włączyć typ puli magazynów, który istnieje, zostanie wyświetlony następujący komunikat: Nieprawidłowa --enable-azure-container-storage wartość. Usługa Azure Container Storage jest już włączona dla typu <storage-pool-type> puli magazynów w klastrze. Możesz sprawdzić, czy istnieją istniejące pule magazynów utworzone, uruchamiając polecenie kubectl get sp -n acstor.
Wyłączanie typu puli pamięci
Podczas wyłączania typu puli magazynów za pomocą az aks update --disable-azure-container-storage <storage-pool-type> lub odinstalowywania Azure Container Storage za pomocą az aks update --disable-azure-container-storage all, jeśli istnieje istniejąca pula magazynów tego typu, zostanie wyświetlony następujący komunikat:
Wyłączenie usługi Azure Container Storage dla typu <storage-pool-type> puli magazynów wymusza usunięcie wszystkich pul magazynów tego samego typu i wpływa na aplikacje korzystające z tych pul magazynu. Wymuszone usunięcie pul magazynów może również prowadzić do wycieku zasobów magazynu, które są używane. Czy chcesz sprawdzić, czy którekolwiek z pul magazynów typu <storage-pool-type> są używane przed wyłączeniem usługi Azure Container Storage? (Y/n)
Jeśli wybierzesz wartość Y, zostanie uruchomiona automatyczna walidacja, aby upewnić się, że nie ma woluminów trwałych utworzonych z puli magazynów. Wybranie opcji n pomija tę walidację oraz wyłącza typ puli pamięci masowej, usuwając wszelkie istniejące pule pamięci masowej i potencjalnie wpływając na Twoją aplikację.
Rozwiązywanie problemów z dźwiękiem
Tworzenie zasobnika oczekujące na realizację z powodu przejściowego rozmiaru woluminu przekraczającego dostępną pojemność
Wolumin efemeryczny jest przydzielany w jednym węźle. Podczas konfigurowania rozmiaru wolumenów efemerycznych dla zasobników, ich rozmiar powinien być mniejszy niż dostępna pojemność efemerycznego dysku w pojedynczym węźle. W przeciwnym razie, tworzenie podu jest w stanie oczekiwania.
Użyj następującego polecenia, aby sprawdzić, czy tworzenie poda jest w stanie oczekiwania.
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
fiopod 0/1 Pending 0 17s
W tym przykładzie zasobnik fiopod jest w Pending stanie.
Użyj następującego polecenia, aby sprawdzić, czy pod ma zdarzenie ostrzegawcze dotyczące tworzenia persistentvolumeclaim.
$ kubectl describe pod fiopod
...
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 40s default-scheduler 0/3 nodes are available: waiting for ephemeral volume controller to create the persistentvolumeclaim "fiopod-ephemeralvolume". preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling..
W tym przykładzie pod wyświetla ostrzeżenie podczas tworzenia roszczenia zasobu dyskowego fiopod-ephemeralvolume.
Użyj następującego polecenia, aby sprawdzić, czy żądanie trwałego woluminu nie może zostać zrealizowane z powodu niewystarczającej pojemności.
$ kubectl describe pvc fiopod-ephemeralvolume
...
Warning ProvisioningFailed 107s (x13 over 20m) containerstorage.csi.azure.com_aks-nodepool1-29463073-vmss000000_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx failed to provision volume with StorageClass "acstor-ephemeraldisk-temp": rpc error: code = Internal desc = Operation failed: GenericOperation("error in response: status code '507 Insufficient Storage', content: 'RestJsonError { details: \"Operation failed due to insufficient resources: Not enough suitable pools available, 0/1\", message: \"SvcError :: NotEnoughResources\", kind: ResourceExhausted }'")
W tym przykładzie Insufficient Storage pokazano jako przyczynę niepowodzenia aprowizacji woluminów.
Uruchom następujące polecenie, aby sprawdzić dostępną pojemność dysku efemerycznego pojedynczego węzła.
$ kubectl get diskpool -n acstor
NAME CAPACITY AVAILABLE USED RESERVED READY AGE
ephemeraldisk-temp-diskpool-jaxwb 75660001280 75031990272 628011008 560902144 True 21h
ephemeraldisk-temp-diskpool-wzixx 75660001280 75031990272 628011008 560902144 True 21h
ephemeraldisk-temp-diskpool-xbtlj 75660001280 75031990272 628011008 560902144 True 21h
W tym przykładzie dostępna pojemność dysku tymczasowego dla jednego węzła to 75031990272 bajty lub 69 GiB.
Dostosuj przestrzeń woluminu na mniejszą niż dostępna pojemność i ponownie wdróż pod. Zobacz Wdrażanie zasobnika z ogólnym woluminem efemerycznym.
Nie można dołączyć woluminu, ponieważ magazyn metadanych jest offline.
Usługa Azure Container Storage używa etcdrozproszonego, niezawodnego magazynu par klucz-wartość do przechowywania metadanych woluminów i zarządzania nimi w celu obsługi operacji orkiestracji woluminów. Aby zapewnić wysoką dostępność i odporność, etcd działa w trzech podach. Jeśli jest uruchomionych mniej niż dwie etcd instancje, usługa Azure Container Storage zatrzymuje operacje orkiestracji woluminów, jednocześnie zezwalając na dostęp do danych na woluminach. Usługa Azure Container Storage automatycznie wykrywa, kiedy instancja etcd jest offline i ją odzyskuje. Jeśli jednak zauważysz błędy orkiestracji woluminów po ponownym uruchomieniu klastra usługi AKS, możliwe, że instancja etcd nie zdołała wykonać zautomatyzowanego odzyskiwania. Postępuj zgodnie z instrukcjami w tej sekcji, aby określić stan zdrowia wystąpień etcd.
Uruchom następujące polecenie, aby uzyskać listę podów.
kubectl get pods
Dane wyjściowe mogą być podobne do poniższych.
NAME READY STATUS RESTARTS AGE
fiopod 0/1 ContainerCreating 0 25m
Opisz zasobnik:
kubectl describe pod fiopod
Zazwyczaj są wyświetlane komunikaty o błędach woluminu, jeśli magazyn metadanych jest w trybie offline. W tym przykładzie fiopod jest w stanie ContainerCreating, a ostrzeżenie FailedAttachVolume wskazuje, że tworzenie jest opóźnione z powodu błędu dołączenia woluminu.
Name: fiopod
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 25m default-scheduler Successfully assigned default/fiopod to aks-nodepool1-xxxxxxxx-vmss000009
Warning FailedAttachVolume 3m8s (x6 over 23m) attachdetach-controller AttachVolume.Attach failed for volume "pvc-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" : timed out waiting for external-attacher of containerstorage.csi.azure.com CSI driver to attach volume xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Możesz również uruchomić następujące polecenie, aby sprawdzić stan etcd wystąpień:
kubectl get pods -n acstor | grep "^etcd"
Powinny zostać wyświetlone dane wyjściowe podobne do następujących, ze wszystkimi wystąpieniami w stanie Uruchomiony:
etcd-azurecontainerstorage-bn89qvzvzv 1/1 Running 0 4d19h
etcd-azurecontainerstorage-phf92lmqml 1/1 Running 0 4d19h
etcd-azurecontainerstorage-xznvwcgq4p 1/1 Running 0 4d19h
Jeśli działają mniej niż dwa wystąpienia, wolumin nie jest dołączany, ponieważ sklep metadanych jest w trybie offline, a automatyczne odzyskiwanie nie powiodło się. Jeśli tak, złóż zgłoszenie do Azure Support.