code: def _create_supervisors(self):
      supervisors_config = self._supervisor_config_cls(
          self._supervisor_num,
          image=self._image,
          cpu=self._supervisor_cpu,
          memory=self._supervisor_mem,
          memory_limit_ratio=self._supervisor_mem_limit_ratio,
          modules=self._supervisor_extra_modules,
          volumes=self._extra_volumes,
          service_name=self._service_name,
          service_port=self._supervisor_service_port,
          web_port=self._web_port,
          pre_stop_command=self._pre_stop_command,
      )
      supervisors_config.add_simple_envs(self._supervisor_extra_env)
      supervisors_config.add_labels(self._supervisor_extra_labels)
      supervisors_config.create_namespaced(
          self._api_client, self._namespace
      )
  
imports: import asyncio
  import functools
  import logging
  import random
  import time
  import uuid
  from urllib.parse import urlparse
  from ...lib.aio import new_isolation, stop_isolation
  from ...services.cluster.api import WebClusterAPI
  from ...session import new_session
  from ...utils import calc_size_by_str
  from ..utils import wait_services_ready
  from .config import NamespaceConfig, RoleConfig, RoleBindingConfig, ServiceConfig, MarsSupervisorsConfig, MarsWorkersConfig
label_desc: Use image node_id 8 for calling the KubernetesCluster obj's underlying member method code with example usage: obj._create_supervisors() without return types