Kyuubi K8s
| Channel | Revision | Published | Runs on |
|---|---|---|---|
| latest/edge | 112 | 01 Aug 2025 | |
| 3.5/stable | 160 | Today | |
| 3.5/candidate | 160 | Today | |
| 3.5/candidate | 159 | Today | |
| 3.5/beta | 159 | 21 Apr 2026 | |
| 3.5/beta | 160 | 21 Apr 2026 | |
| 3.5/edge | 160 | 20 Apr 2026 | |
| 3.5/edge | 159 | 20 Apr 2026 | |
| 4.0/edge | 164 | 21 Apr 2026 | |
| 4.0/edge | 163 | 21 Apr 2026 | |
| 3.4/stable | 162 | Today | |
| 3.4/candidate | 162 | Today | |
| 3.4/candidate | 161 | Today | |
| 3.4/beta | 161 | 21 Apr 2026 | |
| 3.4/beta | 162 | 21 Apr 2026 | |
| 3.4/edge | 162 | 21 Apr 2026 | |
| 3.4/edge | 161 | 21 Apr 2026 |
juju deploy kyuubi-k8s --channel 3.5/candidate
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
-
driver-pod-template | string
Define K8s driver pod from a file accessible to the workload. Ex.: "s3a://bucket/template.yml". Is equivalent to the following Spark configuration:
spark.kubernetes.driver.podTemplateFile=<driver-pod-template>
-
enable-dynamic-allocation | boolean
Enable dynamic allocation of pods for Spark jobs.
-
executor-cores | int
Set K8s executor pods cpu limit. Is equivalent to the following Spark configuration:
spark.executor.cores=4
-
executor-memory | int
Set K8s executor pods memory limit (in GB). Is equivalent to the following Spark configuration:
spark.executor.memory=4G
-
executor-pod-template | string
Define K8s executor pods from a file accessible to the workload. Ex.: "s3a://bucket/template.yml". Is equivalent to the following Spark configuration:
spark.kubernetes.executor.podTemplateFile=<executor-pod-template>
-
expose-external | string
Default: false
The mode in which the service should be exposed externally. Valid values are false, nodeport and loadbalancer.
-
gpu-enable | boolean
Enable GPU acceleration for the SparkSQLEngine. This option override 'enable-dynamic-allocation' toggling auto-scaling for executor pods. Is equivalent to the following Spark configuration:
spark.plugins=com.nvidia.spark.SQLPlugin spark.executor.resource.gpu.amount=1 spark.executor.resource.gpu.vendor=nvidia.com spark.kubernetes.container.image=GPU_JOB_OCI_IMAGE spark.executor.resource.gpu.discoveryScript=/opt/getGpusResources.sh kyuubi.session.engine.idle.timeout=PT3M
-
gpu-engine-executors-limit | int
Default: 1
Limit the number of GPUs an engine can schedule executor pods on. If -1, use all GPUs available. The more tenants are expected, the less this value should be. This option should be set to either -1 or a positive integer. This option is ignored if 'gpu-enable' is set to false. Is equivalent to the following Spark configuration:
spark.executor.instances=1
-
gpu-pinned-memory | int
Default: 1
Set the host memory (in GB) per executor reserved for fast data transfer on GPUs. This also sets the executor memory overhead to be 1GB larger. This option is ignored if 'gpu-enable' is set to false. Is equivalent to the following Spark configuration:
spark.rapids.memory.pinnedPool.size=1G spark.executor.memoryOverhead=2G # 1 + 1
-
iceberg-catalog-name | string
Default: iceberg
The name of the catalog that has Iceberg capabilities.
-
k8s-node-selectors | string
Comma separated label:value selectors for K8s pods Ex.: "<label1>:<value1>,<label2>:<value2>". Is equivalent to the following Spark configuration:
spark.kubernetes.node.selector.<label1>=<value1> spark.kubernetes.node.selector.<label2>=<value2>
The desired configuration will be applied for both driver and executor pods.
-
loadbalancer-extra-annotations | string
Default: {}
Optional extra annotations to be supplied to the load balancer service.
-
namespace | string
The namespace to be used by driver to create executor pods. If not configured, the model namespace will be used.
-
pause-after-unit-refresh | string
Default: first
Wait for manual confirmation to resume refresh after these units refresh
Allowed values: "all", "first", "none"
-
profile | string
Default: production
Profile representing the scope of the deployment, and used to enable high-level customization of system configurations, resource checks/allocation, warning levels, etc. Allowed values are: "production", "staging" and "testing"
-
service-account | string
Default: kyuubi-spark-engine
The service account to be used by driver to create executor pods.
-
system-users | secret
Configure the system user 'admin' and it's password. This needs to be a Juju secret URI pointing to a secret that contains the following content:
admin: <password>. If this config option is not provided, the charm will generate a random password for the admin user. -
tls-client-private-key | secret
A Juju secret URI of a secret containing the private key for client-to-server TLS certificates. This needs to be a Juju secret URI pointing to a secret that has the content { private-key: <key> }, where <key> is the key to be used by the charm to generate Certificate Signing Request (CSR). If this config option is not provided, the charm will generate a new private key and use it instead.