code: def init_spark_on_k8s_cluster(
      master,
      container_image,
      num_executors,
      executor_cores,
      executor_memory="2g",
      driver_memory="2g",
      driver_cores=4,
      extra_executor_memory_for_ray=None,
      extra_python_lib=None,
      penv_archive=None,
      spark_log_level="WARN",
      redirect_spark_log=True,
      jars=None,
      conf=None,
      python_location=None,
  ):
      """
      Create a SparkContext with BigDL configurations on Kubernetes cluster for k8s cluster
      mode. You are recommended to use the Docker image intelanalytics/bigdl-k8s:latest.
      You can refer to https://github.com/intel-analytics/BigDL/tree/main/docker/bigdl-k8s
      to build your own Docker image.
      :param master: The master address of your k8s cluster.
      :param container_image: The name of the docker container image for Spark executors.
             For example, intelanalytics/bigdl-k8s:latest
      :param executor_cores: The number of cores for each executor.
      :param executor_memory: The memory for each executor. Default to be '2g'.
      :param driver_cores: The number of cores for the Spark driver. Default to be 4.
      :param driver_memory: The memory for the Spark driver. Default to be '1g'.
      :param extra_executor_memory_for_ray: The extra memory for Ray services. Default to be None.
      :param extra_python_lib: Extra python files or packages needed for distribution.
             Default to be None.
      :param penv_archive: the path to a packed conda file in "tar.gz" format here. The path should be
             that k8s pod can access.
             Default to be None.
      :param spark_log_level: The log level for Spark. Default to be 'WARN'.
      :param redirect_spark_log: Whether to redirect the Spark log to local file. Default to be True.
      :param jars: Comma-separated list of jars to be included on driver and executor's classpath.
             Default to be None.
      :param conf: You can append extra conf for Spark in key-value format.
             i.e conf={"spark.executor.extraJavaOptions": "-XX:+PrintGCDetails"}.
             Default to be None.
      :param python_location: The path to your running Python executable. If not specified, the
             default Python interpreter in effect would be used.
      :return: An instance of SparkContext.
      """
      if os.environ.get("onDriver", "False") == "True":
          sc = init_internal_nncontext()
          return sc
      else:
          from bigdl.dllib.utils.spark import SparkRunner
  
          runner = SparkRunner(
              spark_log_level=spark_log_level,
              redirect_spark_log=redirect_spark_log,
          )
          return_value = runner.init_spark_on_k8s_cluster(
              master=master,
              container_image=container_image,
              num_executors=num_executors,
              executor_cores=executor_cores,
              executor_memory=executor_memory,
              driver_memory=driver_memory,
              driver_cores=driver_cores,
              extra_executor_memory_for_ray=extra_executor_memory_for_ray,
              extra_python_lib=extra_python_lib,
              penv_archive=penv_archive,
              jars=jars,
              conf=conf,
              python_location=python_location,
          )
          sys.exit(return_value)
  
imports: from bigdl.dllib.utils.common import *
  from bigdl.dllib.utils.file_utils import callZooFunc
  from bigdl.dllib.utils.utils import set_python_home
  from bigdl.dllib.utils.log4Error import *
  import warnings
  import multiprocessing
  import os
  import threading
  import sys
label_desc: Use image node_id 6 for calling a global function with example usage: init_spark_on_k8s_cluster(master, container_image, num_executors, executor_cores, executor_memory, driver_memory, driver_cores, extra_executor_memory_for_ray, extra_python_lib, penv_archive, spark_log_level, redirect_spark_log, jars, conf, python_location) and returns: sc