Skip to content

Quick Install ​

WARNING

This guide describes the installation of standalone open-source Kyma with specific modules. If you are a managed offering user of SAP BTP, Kyma runtime, read Add and Delete a Kyma Module instead.

To get started with Kyma, let's quickly install it with specific modules first.

Prerequisites ​

  • kubectl
  • Kubernetes cluster, or for local installation: k3d (v5.x or higher) as well as Docker
  • kyma-system namespace created
  • Kyma CLI

Steps ​

  1. To provision a k3d cluster, run:
bash
k3d cluster create kyma --kubeconfig-switch-context -p '30080:80@loadbalancer' -p '30443:443@loadbalancer' --k3s-arg '--disable=traefik@server:*' --k3s-arg '--tls-san=host.docker.internal@server:*'
kubectl create ns kyma-system
  1. To install a Kyma module of your choice on a Kubernetes cluster, deploy its module manager and apply the module configuration. See the following Kyma modules with their quick installation commands and links to their GitHub repositories:

Istio

bash
kubectl label namespace kyma-system istio-injection=enabled --overwrite
kubectl apply -f https://github.com/kyma-project/istio/releases/latest/download/istio-manager.yaml
kubectl apply -f https://github.com/kyma-project/istio/releases/latest/download/istio-default-cr.yaml

SAP BTP Operator

bash
kubectl apply -f https://github.com/kyma-project/btp-manager/releases/latest/download/btp-manager.yaml
kubectl apply -f https://github.com/kyma-project/btp-manager/releases/latest/download/btp-operator-default-cr.yaml -n kyma-system

WARNING

The CR is in the Warning state and the message is Secret resource not found reason: MissingSecret. To create the Secret, follow the instructions in Create sap-btp-manager Secret.

Application Connector

bash
kubectl apply -f https://github.com/kyma-project/application-connector-manager/releases/latest/download/application-connector-manager.yaml
kubectl apply -f https://github.com/kyma-project/application-connector-manager/releases/latest/download/default_application_connector_cr.yaml -n kyma-system

Keda

bash
kubectl apply -f https://github.com/kyma-project/keda-manager/releases/latest/download/keda-manager.yaml
kubectl apply -f https://github.com/kyma-project/keda-manager/releases/latest/download/keda-default-cr.yaml -n kyma-system

Serverless

bash
kubectl apply -f https://github.com/kyma-project/serverless-manager/releases/latest/download/serverless-operator.yaml
kubectl apply -f https://github.com/kyma-project/serverless-manager/releases/latest/download/default-serverless-cr.yaml  -n kyma-system

Telemetry

bash
kubectl apply -f https://github.com/kyma-project/telemetry-manager/releases/latest/download/telemetry-manager.yaml
kubectl apply -f https://github.com/kyma-project/telemetry-manager/releases/latest/download/telemetry-default-cr.yaml -n kyma-system

NATS

bash
kubectl apply -f https://github.com/kyma-project/nats-manager/releases/latest/download/nats-manager.yaml
kubectl apply -f https://github.com/kyma-project/nats-manager/releases/latest/download/nats-default-cr.yaml -n kyma-system

Eventing

bash
kubectl apply -f https://github.com/kyma-project/eventing-manager/releases/latest/download/eventing-manager.yaml
kubectl apply -f https://github.com/kyma-project/eventing-manager/releases/latest/download/eventing-default-cr.yaml -n kyma-system

API Gateway

bash
kubectl label namespace kyma-system istio-injection=enabled --overwrite
kubectl apply -f https://github.com/kyma-project/api-gateway/releases/latest/download/api-gateway-manager.yaml
kubectl apply -f https://github.com/kyma-project/api-gateway/releases/latest/download/apigateway-default-cr.yaml
  1. Update CoreDNS to correctly resolve the local.kyma.dev domain:
bash
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: ConfigMap
metadata:
  name: coredns-custom
  namespace: kube-system
data:
  kyma.override: |
    rewrite name regex (.*)\.local\.kyma\.dev istio-ingressgateway.istio-system.svc.cluster.local
EOF

kubectl rollout restart deployment -n kube-system coredns