Juno Internet-Enabled Installation Guide¶
This page will walk you through installing Juno on your existing cluster.
It assumes you already have a Kubernetes cluster up&running.
If you need to get one deployed, you can find guidance on it here
If you work in an offline environment, you should instead follow the Air-Gapped Installation guide.
Node Labels¶
Node labels help Kubernetes decide where to schedule particular workloads. Add labels to ALL your nodes:
# Replace these node names with your actual node names from 'kubectl get nodes'
kubectl label nodes <CONTROL_NODE_NAME> juno-innovations.com/service=true
kubectl label nodes <SERVICE_WORKER_NAME> juno-innovations.com/service=true
kubectl label nodes <WORKSTATION_NODE_NAME> juno-innovations.com/workstation=true
If you are using a cloud-managed Kubernetes platform, such as EKS, ensure it is configured to label all nodes you need appropriately.
Juno Installation¶
Clone the Juno Bootstrap repository:
Before running any installation scripts, review the Auth Setup Guide as well as the Deployment Configurations
You must carefully configure the values.yaml
file to match your specific environment requirements. Follow these steps:
- Review the sample configurations provided in the repository
- Modify the
values.yaml
file to reflect your environment specifics:- Auth
- License
- Ingress overrides
- Nvidia overrides
- Search the Deployment Configurations documentation for detailed information about each configuration option
Install Juno¶
- If you are using the predefined Juno deployment configurations, run the following command (replace the
<predefined deployment>
with the path to the predefined Juno deployment configuration):
helm install juno ./chart/ \
-f <predefined deployment> \
-f <predefined deployment> \
-f ./.values.yaml
Keep in mind that the order in which flags are passed matters here. We are adding our .values.yaml at the end of the command so we can override predefined deployments with our own settings.
- If you are using your own configuration, run the following command:
The script will:
- Install necessary Kubernetes addons
- Deploy Juno core services
Post-Installation Configuration¶
Genesis Configuration¶
Genesis is the administration interface for Juno. For detailed setup instructions, visit our Genesis Documentation.
After installation completes:
- Access Genesis via your control node's hostname
(Note: It is not possible to access Genesis via an IP address. Juno uses a host based ingress which does not support IP connections.)
- Log in with the credentials created during installation
- Follow the setup wizard to configure:
- Projects and workspaces
- User accounts and permissions
- Storage backends
- Network access and policies
- License verification
Access to Argo CD¶
Argo CD is used for managing applications in Juno. To access the Argo CD UI:
-
To get the initial admin password:
-
Forward the port to your local machine:
-
Access the UI at
http://localhost:8080
-
Run the port forward and login with the following:
-
Use the UI to inspect applications, check logs, and diagnose errors
Maintenance and Updates¶
Upgrading Kubernetes¶
To upgrade your K3s installation, follow the standard K3s documentation for upgrades: K3s Upgrade Documentation
The general process involves:
- Upgrade the server (control) node first
- Verify the server node is functioning correctly
- Upgrade each agent (worker) node
Always ensure you have backups before performing upgrades.
For further assistance, contact Juno Support.
Useful references¶
If you run into any issues, you can check the sync status of ArgoCD - see our overview here
To troubleshoot components within K8s, check out our Kubernetes Overview