Install Service Manually
Different Connection Options
Before following this guide, note that you can connect to the Chassis service in one of two ways:
- Continue following this guide to install the Chassis service locally on a private Kubernetes cluster
- Bypass this guide and follow the instructions to connect to our publicly-hosted and free instance of the service
Install required dependencies
- Install Docker Desktop
- Try to run
docker ps
- If you get a permissions error, follow instructions here
- Try to run
- Install Helm
Note: If you prefer to use Minikube for your Kubernetes distribution, make sure it can access the internet. Otherwise, your Chassis build jobs will fail.
Enable Kubernetes
Follow these instructions to enable Kubernetes in Docker Desktop.
Add the Helm repository
After that we just need to update the Helm repos to fetch Chassis
data.
Configure private Docker registry settings (Optional)
By default, installing the Chassis service will push all container images to a public Docker Hub account, which requires you to have valid credentials. If instead you have access to a private Docker registry, you can add a few lines of configuration before installing the Chassis
service using helm. Note: only HTTP API v2 compliant Docker registries are supported.
1. Generate Kuberentes secret containing registry credentials
We first need to generate a Kubernetes secret of type dockerconfigjson
that contains Docker registry credentials with push/pull permissions.
kubectl create secret docker-registry <registry-secret-name> \
--docker-server=<private-registry-url> \
--docker-email=<private-registry-email> \
--docker-username=<private-registry-user> \
--docker-password=<private-registry-password>
Visit Managing Secrets using kubectl for more details.
2. Create Values File for Helm Chart
Next, we will create a values.yml
file to modify a few of the default values in the Chassis helm chart. This is where you can specify the base URL of your private registry and provide the name of the secret generated in the previous step.
registry:
url: "https://my-private-registry.com"
credentialsSecretName: "<registry-secret-name>"
repositoryPrefix: ""
image:
pullPolicy: IfNotPresent
tag: "1f20586e050416239b055faa18baf35ce5707a32" # Commit hash for latest version of Chassis service
For more details and different registry examples, visit the Private Registry Support guide.
Install Chassis
service
Now we just need to install Chassis
as normal using Helm.
Check the installation
After having installed the service we can check that the Chassis
service is correctly deployed.
Then you should see an output similar to this.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
chassis NodePort 10.106.209.207 <none> 5000:30496/TCP 15s
We can also check that the pod that runs the service is correctly running.
Where we should find our pod listed.
Query the service
To conclude, we may want to query the service just to see that it answers as we expect.
To do that, we need to port forward the service.
Now that we have access to the service we can query it.
Which should output an alive message.
Begin Using the Service
Congratulations, you have now successfully deployed the service in a private Kubernetes cluster. To get started, make sure you set up a Python virtual enviornment and install the chassisml
SDK.
For more resources, check out our tutorials and how-to guides