code: async def load_kube_config(config_file=None, context=None,
                             client_configuration=None,
                             persist_config=True):
      
  
      if config_file is None:
          config_file = KUBE_CONFIG_DEFAULT_LOCATION
  
      loader = _get_kube_config_loader_for_yaml_file(
          config_file, active_context=context,
          persist_config=persist_config)
      if client_configuration is None:
          config = type.__call__(Configuration)
          await loader.load_and_set(config)
          Configuration.set_default(config)
      else:
          await loader.load_and_set(client_configuration)
  
      return loader
docs: Loads authentication and cluster information from kube-config file
      and stores them in kubernetes.client.configuration.
  
      :param config_file: Name of the kube-config file.
      :param context: set the active context. If is set to None, current_context
          from config file will be used.
      :param client_configuration: The kubernetes.client.Configuration to
          set configs to.
      :param persist_config: If True, config file will be updated when changed
          (e.g GCP token refresh).