Prerequisites
For a smooth sailing make sure you pass this checklist before you begin the installation:- The target machine is clean of any other software that can interfere with it. That means no docker, no kubernetes, http servers, no Nvidia drivers, etc.
- You have root and SSH access to the machine
- The machine has stable and strong Internet connection
- You can reboot the machine if needed
- Your firewall is not blocking connections to any website.
- In case you run in a restricted environment, check the semi-airgap instructions
- The machine has
curlinstalled - You have a domain for Zylon ready (ex: zylon.your-company.com)
- If your instance is not open to the internet you have a valid SSL certificate for that domain, it will be needed as the last step of the installation.
zylon-cli on the machine where you want to run it. To start the install process make sure that:
- At install time, the machine has internet connection (After Zylon has been installed internet connection it is not a requirement)
- You have ssh access to the machine
- Firewall rules will not block the CLI to download any Zylon container images or certificate generation
Step 1: Install the Zylon CLI
Estimated time: 2 min The CLI will speed up the time it takes to get everything ready, it will take care of installing drivers, updating Zylon and generating template configuration for you. To install it, SSH into the machine where you want to install Zylon and runsudo zylon-cli help to get a list of all the commands!
Step 2: Generate a configuration file for your Zylon installation
Estimated time: 10min Zylon is configured with a YAML file located at/etc/zylon/zylon-conf.yaml.
You can use the Zylon CLI to generate a configuration template:
/etc/zylon/zylon-conf.yaml.
Note that you will need root access to edit this file.
A basic configuration file will look like this:
Configuration Parameters
Fill in each required parameter using the values that match your environment:| Parameter | Set to… | Options |
|---|---|---|
node.distro | Your OS version | ubuntu22, ubuntu24 |
node.arch | Your CPU architecture | x86_64, arm64 |
node.drivers | Your hardware type | generic |
cluster.type | k0s | Only k0s supported |
channel | stable | stable (recommended), unstable |
license.email | Your registered email | Provided during registration |
license.id | Your license key | Received from Zylon team via email |
ai.preset | Your hardware capacity | See AI Presets → |
companyIdentifier | Your company name | e.g., acme-corp |
ingress.host | Your domain | e.g., zylon.company.com |
ingress.enabled | true | Must be true |
Step 3: Prepare the machine
Estimated time: 5min to 45min, depending on network speed. In order to install Zylon the machine needs to be ready to do so, and during this step, the drivers will be installed, an embedded kubernetes cluster, and other dependencies will be setup. This process will take between 5 to 15 minutes, it’s normal to see the output freeze while some installers are running, simply wait until it’s done. In slow network conditions, this process might take up to 1 hour.- Some common packages like gcc and git
- An embedded kubernetes distribution, k0s
- Nvidia drivers and CUDA
- Nvidia Container Toolkit
- Some tool utilities to manage the kubernetes cluster (kubectl, helm, helmfile…)
Kernel upgrades (like Ubuntu unattended upgrades) will break Nvidia drivers on every change!.To test if the drivers are working use
nvidia-smi utility, it will display the status of your GPU(s) or fail if the drivers are not working:An implicit kernel update might also happen after a restart of the machine when running in cloud providers like AWS or Azure.Check the following page for troubleshooting: Nvidia Drivers TroubleshootingStep 4: Install Zylon
Estimated time: 15min to 1hour, depending on network speed. This step (install / update) will make Zylon available in your machine assuming the configuration file in/etc/zylon/zylon-conf.yamlis correct.
The initial installation of Zylon will take around 15 minutes to complete after the update command itself is completed.
- Zylon images are being downloaded
- AI models are being downloaded
- GPU configuration is getting applied, several validations are running to ensure compatibility
- SSL certificate is being generated
If some service gets stuck in a ContainerCrashLoopBackOff for more than one hour contact us, the installation has failed.
Step 5: Prepare your organization
To start using Zylon you will need to create your organization in it, as well as adding a root admin that will serve as your entry point for other management tasks. You will need:- A name for your organization (can be changed later)
- A password for the root administrator (can be changed later).
- Due to some encoding limitations in the CLI some special symbols in password don’t work correctly, prefer using a long alphanumeric password.
- An email regex to allow users to join automatically. If your usual work email is
[email protected]your email regex should be.*@company\.com. If your access control is performed with SSO (like Microsoft Entra, or Google), you can use.*as your regular expression.
Running the seed command will WIPE ALL DATA. Only do this once during the Zylon lifecycle
[email protected] . You will need to use these credentials to login for the first time in the workspace.
Step 6 (optional): Manually installing SSL certificates
Estimated time: 10 minutes If you opted in to use Let’s Encrypt certificates you can skip this section. In case your Zylon installation is behind a VPN / private cloud and it’s not reachable through the internet you will need to configure SSL yourself. To do that you must upload your own SSL certificates and make them available to the server where Zylon is installed.Configuration file
First, REMOVE the following lines from the configuration file/etc/zylon/zylon-conf.yaml
*.key ) and the certificate file in two files (*.crt ) to store them as a secret.
For .pfx file (ignore otherwise)
In case you have a.pfx file you can get the desired files with the following commands:
Create secret a secret in the kubernetes cluster
Clear previous certificates (if any) and import the new one. Zylon will look for your certificate in the cluster with the namezylon-tls. Note that kubernetes requires the certificate split in two files, the .crt with certificate itself and .key with the private key.