in cluster/cluster.go [102:121]
func GetClusterNodes(clientset *kubernetes.Clientset) (map[string]Node, error) {
nodes := make(map[string]Node)
clusterNodes, err := ListNodes(clientset)
if err != nil {
err = fmt.Errorf("error getting nodes: %v", err)
return nil, err
}
for _, clusterNode := range clusterNodes.Items {
nodes[clusterNode.Name] = Node{
Name: clusterNode.Name,
Region: clusterNode.Labels["topology.kubernetes.io/region"],
Spot: clusterNode.Labels["cloud.google.com/gke-spot"] == "true",
Accelerator: clusterNode.Labels["cloud.google.com/gke-accelerator"],
InstanceType: clusterNode.Labels["beta.kubernetes.io/instance-type"]}
}
return nodes, nil
}