On-Premise#
Create a Kubernetes cluster to be used as a backend for job execution on your own infrastructure.
Prerequisites#
Before setting up your on-premises Kubernetes cluster, ensure you have the necessary hardware and software infrastructure available.
Important
Kubernetes Version: v1.30.0 or later
Architecture: x86_64 or arm64
Container Runtime: containerd 1.7.27+
Networking: All nodes must be routable with stable IP addresses, DNS resolution, and outbound internet access to container registries and the OSMO service
Security: Enable encryption at rest for etcd and persistent volumes, TLS for communications - Encrypt Data
Node Requirements#
Node Type |
Specification |
Configuration |
|---|---|---|
Control Plane |
|
|
Backend-Operator |
|
|
Compute (CPU) |
|
|
Compute (GPU x86_64) |
|
|
Compute (GPU Jetson) |
|
|
Setup Guide#
Kubeadm (Upstream Kubernetes)
Kubeadm is the official tool for bootstrapping Kubernetes clusters and provides full control over cluster configuration.
Documentation:
Key Steps:
Install containerd 1.7.27+ as the container runtime
Configure control plane and worker nodes per specifications above
Apply appropriate node labels (
node-type=operator,node-type=compute,node-type=gpu,node-type=jetson)For GPU nodes (x86_64): Install NVIDIA drivers (535.216.03+), CUDA (12.6+), and NVIDIA Container Toolkit
For GPU nodes (Jetson): Install JetPack 6.2+ (includes CUDA and container runtime)
Configure CNI plugin and verify CoreDNS is operational
Configure firewall rules per Kubernetes Ports and Protocols
Note
For production deployments, configure high availability with 3+ control plane nodes and enable encryption at rest for etcd.