Skip to main content
Using SGLang on CKS is easiest with SkyPilot, which provides a way to launch and manage distributed applications on Kubernetes clusters. SGLang is a serving framework for large language models (LLMs), and pairing it with SkyPilot lets you launch LLM inference workloads on CKS without managing Kubernetes manifests directly. This guide is for CKS users who want to serve an LLM for inference on their cluster. It shows you how to set up SGLang with SkyPilot on CKS by covering the following:
  • Install and run SkyPilot
  • Run SGLang
By the end of this guide, you have a working SGLang inference server running on your CKS cluster.

Prerequisites

Before you complete the steps in this guide, be sure your development environment meets the following requirements:
  • You have your kubeconfig file properly set and can interact with clusters and Pods using kubectl.
  • An environment variable set to HF_TOKEN with your Hugging Face token. For more information, see the Hugging Face instructions at User access tokens.
  • Authentication to use the meta-llama/Llama-3.1-8B-Instruct model. For more information, go to meta-llama/Llama-3.1-8B-Instruct and request access. Approval for restricted models can take a few hours or longer.
  • The socat and netcat networking utilities.

Install SkyPilot

SkyPilot is the launcher you use to deploy SGLang to CKS, so install it before continuing. You can install SkyPilot using Anaconda or uv. The following instructions cover both techniques. Choose whichever matches your existing Python toolchain.

Install SkyPilot with Anaconda

Python development environment with Anaconda installed. The following commands create a Conda environment named sky with Python 3.10 and install SkyPilot with Kubernetes support:
  • CKS requires SkyPilot version 0.10.1 or later.
  • SkyPilot requires Python 3.7 to 3.13.
Once you see output stating that Kubernetes is enabled infra, you’ve successfully installed SkyPilot. For example, you might see output similar to the following:
Debugging steps: Follow any instructions for installing missing dependencies.

Install SkyPilot with uv

To install SkyPilot with uv, you might need to download and install uv first. Follow the instructions on the uv GitHub repository. After you install uv, the following commands create a virtual environment with Python 3.10 and install SkyPilot with Kubernetes support:
You should see output similar to the following:

Run SkyPilot

With SkyPilot installed, verify that it can reach your CKS cluster before launching workloads. The sky check command verifies SkyPilot’s connectivity to your Kubernetes infrastructure:

Optional: Run a nccl test on Nodes with InfiniBand enabled

If you have Nodes with InfiniBand enabled, you can confirm that GPU-to-GPU networking is healthy across Nodes before running SGLang. Run a nccl test by completing the following steps:
  1. Copy the following file and name it nccl-network-tier.yaml. Replace accelerators with your Node type (which corresponds to the gpu.nvidia.com/class property):
  2. Launch the nccl test cluster with SkyPilot:

Run SGLang

With SkyPilot installed and verified, you can now launch SGLang on your cluster to serve an LLM. To run SGLang on CKS, you can use the following example script. You need to complete the steps to install and run SkyPilot as described in the preceding sections. The following example launches the meta-llama/Llama-3.1-8B-Instruct model behind an SGLang server on port 30000. To run SGLang, complete the following steps:
  1. Copy the following YAML file and name it sglang.yaml. Be sure to replace the accelerators field with your GPU type:
  2. Launch the SGLang server with SkyPilot, replacing [HUGGING-FACE-TOKEN] with your Hugging Face token:
Last modified on July 1, 2026