Kubernetes
This guide explains how to install and run Kyso using Kubernetes

Prerequisites

  • A Docker-enabled system with proper Docker access
  • A Kubernetes-enabled system with proper Kubernetes access
  • A LoadBalancer and a DNS properly configured
  • Access to Kyso's private docker image hub
  • Internet access
Internet access is only needed during the installation process if Kyso is hosted where it can access Amazon S3 buckets locally

Install Kyso with scripts

Kyso provides a set of Kubernetes deployment files ready to be deployed in a Kubernetes cluster, and a script that deploys them properly. These scripts will be provided by Kyso to their enterprise customers.
Open the deployment scripts' folder, which will have the following structure
1
.
2
└── kyso-k8s-scripts/
3
├── deployments/
4
│ ├── kyso-db.deployment.yml
5
│ ├── kyso-backend.deployment.yml
6
│ └── kyso-frontend.deployment.yml
7
├── config/
8
│ └── environment.configmap.yml
9
├── deploy.sh
10
└── undeploy.sh
Copied!
Before applying the deployment scripts, open config/environment.configmap.yml and change the desired properties, specially the default passwords
1
apiVersion: v1
2
kind: ConfigMap
3
metadata:
4
name: kyso-environment-configmap
5
data:
6
mongo-init.js: |
7
db = new Mongo().getDB("kyso");
8
db.createUser(
9
{
10
user: 'kysodb',
11
pwd: 'kysodb',
12
roles: [{ role: 'readWrite', db: 'kyso' }],
13
},
14
);
15
16
mongo-env:
17
MONGO_INITDB_ROOT_USERNAME: kadmin
18
MONGO_INITDB_ROOT_PASSWORD: ksecret
19
20
kyso-backend-env:
21
DATABASE_URI: mongodb://kysodb:[email protected]/kyso?retryWrites=true&w=majority
22
NODE_ENV: production
23
SELF_URL: http://kyso-backend-service:3000
24
KYSO_FILES_CLOUDFRONT_URL: http://url-to-cloudfront
25
AWS_REGION: your-bucket-s3-region
26
AWS_S3_BUCKET: your-bucket-s3-name
27
S3_BUCKET: your-bucket-s3-name
28
AWS_ACCESS_KEY_ID: your-aws-access-key
29
AWS_SECRET_ACCESS_KEY: your-aws-access-key-secret
30
AUTH_GITHUB_CLIENT_ID: your-github-client-id
31
AUTH_GITHUB_CLIENT_SECRET: your-github-client-secret
32
AUTH_GOOGLE_CLIENT_ID: your-google-client-id
33
AUTH_GOOGLE_CLIENT_SECRET: your-google-client-secret
34
35
kyso-frontend-env:
36
NODE_ENV: production
37
API_URL: http://kyso-backend-service:3000
38
NEXT_PUBLIC_API_URL: http://kyso-frontend-service:3000
Copied!
Execute the deployment script, passing the target namespace as parameter
1
sh deploy.sh --namespace ${NAMESPACE}
Copied!

Test the installation

Kyso deployment in Kubernetes exposes automatically the following URLs:
  • https://kyso.yourdomain for the frontend
  • https://kyso.yourdomain/api for the backend
So, for example, if your domain is "amazing-company.com", the URLs related to Kyso should be https://kyso.amazing-company.com and https://kyso.amazing-company.com/api
By default, Kyso only works over HTTPS, that means that every single HTTP request is redirected to HTTPS. To change this redirection configuration open kyso-backend.deployment.yml and kyso-frontend.deployment.yml and change the configuration accordingly
In order to check that the backend is up and running, just open https://kyso.amazing-company.com/api/redoc in your browser
Backend API Documentation
To check that the frontend is up and running, just open https://kyso.amazing-company.com in your browser
Frontend login page
Last modified 1mo ago