func GetClusterNodes()

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
}