**

Total time for deployment:** 30-45 minutes

This deployment requires the use of Exoscale CLI commands. Before you start install the Exo CLI following the official documentation.

Recommended Cluster Configuration

ConfigurationRecommended Value
Nodes in the cluster’s core nodegroup5
CPU per core node4 CPU
RAM per core node16 GiB RAM
Minimum volume size per node400 GiB
Number of nodes in the cluster’s runners nodegroup2
CPU per runner node8 CPU
RAM per runner node32 GiB RAM
Minimum volume size per node200 GiB
Required Kubernetes API version1.24

Deploying the SKS Cluster

  1. Create security groups
exo compute security-group create sks-security-group

exo compute security-group rule add sks-security-group \
    --description "NodePort services" \
    --protocol tcp \
    --network 0.0.0.0/0 \
    --port 30000-32767

exo compute security-group rule add sks-security-group \
    --description "SKS kubelet" \
    --protocol tcp \
    --port 10250 \
    --security-group sks-security-group

exo compute security-group rule add sks-security-group \
    --description "Calico traffic" \
    --protocol udp \
    --port 4789 \
    --security-group sks-security-group
  1. Create SKS cluster
exo compute sks create galileo \
    --kubernetes-version "1.24"
    --zone ch-gva-2 \
    --nodepool-name galileo-core \
    --nodepool-size 6 \
    --nodepool-disk-size 400 \
    --nodepool-instance-prefix "galileo-core" \
    --nodepool-instance-type "extra-large" \
    --nodepool-label "galileo-node-type=galileo-core" \
    --nodepool-security-group sks-security-group

exo compute sks nodepool add galileo galileo-runner \
    --zone ch-gva-2 \
    --size 2 \
    --size 400 \
    --instance-prefix "galileo-runner" \
    --instance-type "extra-large" \
    --label "galileo-node-type=galileo-runner" \
    --security-group sks-security-group

Deploy distributed block storage

Longhorn is Open-Source Software that you can install inside your SKS cluster. Installation of Longhorn takes a few minutes, you need a SKS Cluster and access to this cluster via kubectl.

kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/1.3.1/deploy/longhorn.yaml

Required Configuration Values

Customer specific cluster values (e.g. domain name, slack channel for notifications etc) will be placed in a base64 encoded string, stored as a secret in GitHub that Galileo’s deployment automation will read in and use when templating a cluster’s resource files.

Mandatory FieldDescription
SKS Cluster NameThe SKS cluster name
Galileo runner instance pool IDSKS galileo-runner instance pool ID
Exoscale API keysExoscale EXOSCALE_API_KEY and EXOSCALE_API_SECRET with Object Storage Buckets permissions: - create - get - list
Exoscale storage hoste.g sos-ch-gva-2.exo.io
Domain NameThe customer wishes to deploy the cluster under e.g. google.com
Root subdomaine.g. “galileo” as in galileo.google.com
Trusted SSL Certificates (Optional)By default, Galileo provisions Let’s Encrypt certificates. But if you wish to use your own trusted SSL certificates, you should submit a base64 encoded string of

1. the full certificate chain, and

2. another, separate base64 encoded string of the signing key.

Access to Deployment Logs

As a customer, you have full access to the deployment logs in Google Cloud Storage. You (customer) are able to view all configurations there. A customer email address must be provided to have access to this log.

Customer DNS Configuration

Galileo has 4 main URLs (shown below). In order to make the URLs accessible across the company, you have to set the following DNS addresses in your DNS provider after the platform is deployed.

ServiceURL
API**api.galileo.**company.[com|ai|io…]
Data**data.galileo.**company.[com|ai|io…]
UI**console.galileo.**company.[com|ai|io…]
Grafanagrafana.galileo.company.[com|ai|io…]