code: func findNodeRoles(node *api.Node) []string {
  	roles := sets.NewString()
  	for k, v := range node.Labels {
  		switch {
  		case strings.HasPrefix(k, labelNodeRolePrefix):
  			if role := strings.TrimPrefix(k, labelNodeRolePrefix); len(role) > 0 {
  				roles.Insert(role)
  			}
  
  		case k == nodeLabelRole && v != "":
  			roles.Insert(v)
  		}
  	}
  	return roles.List()
  }
docs: // findNodeRoles returns the roles of a given node.
  // The roles are determined by looking for:
  // * a node-role.kubernetes.io/<role>="" label
  // * a kubernetes.io/role="<role>" label