Skip to main content

Installing Krateo PlatformOps

Basic Installation

Installing Krateo with default configuration is quick and easy.

You will need:

  • Helm: These instructions were tested with v3.13.1.
  • A Kubernetes cluster.
note

Krateo PlatformOps installer is a flexible workflow engine that executes sequential steps. The installer-chart is a helper that provider already baked configurations for Krateo PlatformOps. It is however possible to implement a custom installer.

If you have any Docker-compatible container runtime installed (including native Docker, Docker Desktop, or OrbStack), you can easily launch a disposable cluster just for this quickstart using kind.

helm repo add krateo https://charts.krateo.io
helm repo update krateo

kind create cluster --wait 120s --image kindest/node:v1.30.4 --config - <<EOF
kind: Cluster
apiVersion: kind.x-k8s.io/v1alpha4
name: krateo-quickstart
nodes:
- role: control-plane
kubeadmConfigPatches:
- |
kind: InitConfiguration
nodeRegistration:
kubeletExtraArgs:
node-labels: "ingress-ready=true"
extraPortMappings:
- containerPort: 80
hostPort: 80
protocol: TCP
- containerPort: 443
hostPort: 443
protocol: TCP
- role: worker
extraPortMappings:
- containerPort: 30080 # Krateo Portal
hostPort: 30080
- containerPort: 30081 # Krateo BFF
hostPort: 30081
- containerPort: 30082 # Krateo AuthN Service
hostPort: 30082
- containerPort: 30083 # Krateo EventSSE
hostPort: 30083
- containerPort: 30084 # Krateo Terminal Server
hostPort: 30084
- containerPort: 30085 # Krateo Resource Tree Handler
hostPort: 30085
- containerPort: 30086 # Krateo FireworksApp Frontend
hostPort: 30086
- containerPort: 31443 # vCluster API Server Port
hostPort: 31443
networking:
# By default the API server listens on a random open port.
# You may choose a specific port but probably don't need to in most cases.
# Using a random port makes it easier to spin up multiple clusters.
apiServerPort: 6443
EOF

helm upgrade installer installer \
--repo https://charts.krateo.io \
--namespace krateo-system \
--create-namespace \
--install \
--version 2.2.0 \
--wait
info

While this option is a bit more complex than using Docker Desktop or OrbStack directly, it offers the advantage of being fully-disposable. If your cluster reaches a state you are dissatisfied with, you can simply destroy it and launch a new one.

At the end of this process:

info

Krateo PlatformOps requires access to Kubernetes CertificateAuthority certificate and key in order to generate certificates for logged users. For this reason we provide with the installer the option to leverage vCluster (https://github.com/loft-sh/vcluster) in order to provide a sandboxed installation of Krateo PlatformOps. This is mandatory in Elastic Kubernetes Service (EKS) where this feature is disabled by design.

info

The installer by default deploys a composable-portal-basic with examples to immediately start to play with Krateo PlatformOps. The chart is available here: https://github.com/krateoplatformops/composable-portal-basic.