Удаление всех связанных постоянных дисков при удалении кластера

Согласно документации, при удалении кластера постоянный диск все равно будет существовать (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 | grep "id" Перейдите по этой ссылке, чтобы ознакомиться с лучшими практиками Google по удалению дисков кластера: ссылка

Другие вопросы по тегам