code: def kind_and_type(pod: Dict[str, Any]) -> Tuple[NodeKind, NodeType]:
      """Determine Ray node kind (head or workers) and node type (worker group name)
      from a Ray pod's labels.
      """
      labels = pod["metadata"]["labels"]
      if labels[KUBERAY_LABEL_KEY_KIND] == KUBERAY_KIND_HEAD:
          kind = NODE_KIND_HEAD
          type = KUBERAY_TYPE_HEAD
      else:
          kind = NODE_KIND_WORKER
          type = labels[KUBERAY_LABEL_KEY_TYPE]
      return kind, type
  
imports: import json
  import logging
  import os
  from collections import defaultdict
  from typing import Any, Dict, List, Optional, Tuple
  import requests
  from ray.autoscaler._private.constants import WORKER_LIVENESS_CHECK_KEY, WORKER_RPC_DRAIN_KEY
  from ray.autoscaler._private.util import NodeID, NodeIP, NodeKind, NodeStatus, NodeType
  from ray.autoscaler.batching_node_provider import BatchingNodeProvider, NodeData, ScaleRequest
  from ray.autoscaler.tags import NODE_KIND_HEAD, NODE_KIND_WORKER, STATUS_UP_TO_DATE, STATUS_UPDATE_FAILED, TAG_RAY_USER_NODE_TYPE
label_desc: Use image node_id 2 for calling a global function with example usage: kind_and_type(pod) and returns: kind,  type