Удаление всех связанных постоянных дисков при удалении кластера
Согласно документации, при удалении кластера постоянный диск все равно будет существовать (https://cloud.google.com/kubernetes-engine/docs/how-to/deleting-a-cluster). Я хочу удалить все связанные постоянные диски при удалении кластера, но я не знаю имя / идентификатор постоянного диска. Cluster get API не имеет информации о дисках и узлах.
resp, err := containerService.Projects.Zones.Clusters.Get(project, zone, cluster).Context(ctx).Do()
4 ответа
Cloud SDK можно использовать для идентификации дисков при анализе правильного фильтра и формата.
т.е.
Чтобы перечислить все диски, используемые GKE (вы можете изменить фильтр по своему усмотрению)
gcloud compute disks list --format="table(name,users)" --filter="name~^gke-"
Чтобы перечислить только диски, используемые как PVC
gcloud compute disks list --format="table(name,users)" --filter="name~^gke-.*-pvc-.*"
Эта последняя команда выведет список отсоединенных дисков PVC.
gcloud compute disks list --format="table(name,users)" --filter="name~^gke-.*-pvc-.* AND -users:*"
Чтобы убедиться, что отсоединенный диск не используется кластером, вот команда kubectl для вывода списка PV кластера и их GCE PD:
kubectl get pv -o custom-columns=K8sPV:.metadata.name,GCEDisk:spec.gcePersistentDisk.pdName
Соответствующий метод API - disks.list
Чтобы достичь того, что вы ищете, следующие документы Google будут полезны для получения имени узла через Go API с помощью двух методов 1< nodeget> 2 < instagroupget>
Для наборов с отслеживанием состояния будет создан диск следующего формата
gke-стандартный кластер-3-ПВХ-8586b7f8-37fd-11ea-beff-42010a80012a
Где standard-cluster-3 будет именем вашего кластера, а pvc-8586b7f8-37fd-11ea-beff-42010a80012a будет именем вашего тома.
Тем не менее, вы можете использовать этот метод для получения имени постоянного диска, созданного набором с отслеживанием состояния.
Чтобы запустить имя узла, имя диска совпадает с именем узла. Вы можете удалить диск после кластера, но вам нужно запустить kubectl get nodes перед удалением. Также для получения идентификатора диска вы можете использовать команду gcloud: gcloud compute disks describe --zone