Question: According to the documentation when deleting a cluster the persistent disk will still exist(<https://cloud.google.com/kubernetes-engine/docs/how-to/deleting-a-cluster>). I wanna delete all the associate persistent disks when deleting cluster but I don't know the name/id of persistent disk. 
Cluster get API doesn't have any information about the disks and nodes.

`resp, err := containerService.Projects.Zones.Clusters.Get(project, zone, cluster).Context(ctx).Do()`

Answer: 
[Cloud SDK](https://cloud.google.com/sdk/gcloud/reference/compute/disks/list) can be used to identify the disks if the proper filter and format are parse

i.e.

To list all the disks being used by a GKE (you can change [the filter](https://cloud.google.com/sdk/gcloud/reference/topic/filters) at your convenience)

```
gcloud compute disks list --format="table(name,users)" --filter="name~^gke-"

```

To list only disks used as PVC

```
gcloud compute disks list --format="table(name,users)" --filter="name~^gke-.*-pvc-.*"

```

This last command will list detached PVC disks

```
gcloud compute disks list --format="table(name,users)" --filter="name~^gke-.*-pvc-.* AND -users:*"

```

To ensure a detached disk is not in use by a cluster, here's a kubectl command to list a cluster's PVs and their GCE PD:

```
kubectl get pv -o custom-columns=K8sPV:.metadata.name,GCEDisk:spec.gcePersistentDisk.pdName

```

The corresponding API method is [disks.list](https://cloud.google.com/compute/docs/reference/rest/v1/disks/list)
To get the node name run , then the disk name is the same as the node name. You can delete the disk after the cluster but you need to run kubectl get nodes before the deletion.
Also to get the disk id, you can use gcloud command: gcloud compute disks describe --zone < ZONE> | grep "id"
Follow this link for Google best practices on how to delete cluster disks:link