Skip to content

@kyma-bot kyma-bot released this Feb 14, 2019

Local Kyma installation

Use the following command to run Kubernetes locally via Minikube:
$ ./installation/scripts/minikube.sh --domain "kyma.local" --vm-driver "hyperkit"

Kyma installation requires increased permissions granted by the cluster-admin role. To bind the role to the default ServiceAccount, run the following command:
$ kubectl apply -f ./installation/resources/default-sa-rbac-role.yaml

Wait until the coredns Pod is ready. Run this script to setup Tiller:
$ ./installation/scripts/install-tiller.sh

Deploy Kyma Installer using the local installer file:
$ kubectl apply -f https://github.com/kyma-project/kyma/releases/download/0.7.0/kyma-installer-local.yaml

Configure the Kyma installation using the local configuration file:
$ kubectl apply -f https://github.com/kyma-project/kyma/releases/download/0.7.0/kyma-config-local.yaml

To trigger the installation process, label the kyma-installation custom resource:
$ kubectl label installation/kyma-installation action=install

Track progress of the installation using the following script:
$ ./installation/scripts/is-installed.sh

Installation on Google Kubernetes Engine

  1. Make sure that you have gcloud tool installed. Set environment variables for your Google project identifier and your cluster name. You can keep your demo cluster name but your Google project identifier must be changed. Then you can spin up the cluster:

    export CLUSTER_NAME=demo
    export PROJECT=YOUR_PROJECT_ID
    
    gcloud beta container --project "$PROJECT" clusters \
    create "$CLUSTER_NAME" --zone "europe-west1-b" \
    --cluster-version "1.10.12" --machine-type "n1-standard-2" \
    --addons HorizontalPodAutoscaling,HttpLoadBalancing,KubernetesDashboard 
    
  2. Install Tiller:

    kubectl apply -f https://raw.githubusercontent.com/kyma-project/kyma/0.7.0/installation/resources/tiller.yaml
    
  3. Download the release and replace the placeholders with the proper values. The placeholders are the upper case variables surrounded by double underscore, such as __DOMAIN__. These are the mandatory values to change:

    • __DOMAIN__ which specifies your domain, for example kyma.example.com.
    • __TLS_CERT__ which is a PEM format, base64-encoded TLS certifcate.
    • __TLS_KEY__ which is a base64-encoded TLS private key.

    If you don't know how to set other values, replace them with an empty string.

    You can use this script to set only three mandatory values:

    export DOMAIN=kyma.example.com
    export TLS_CERT=base64_PEM_TLS_certificate
    export TLS_KEY=base64_TLS_private_key
    cat kyma-config-cluster.yaml | sed -e "s/__DOMAIN__/$DOMAIN/g" |sed -e "s/__TLS_CERT__/$TLS_CERT/g" | sed -e "s/__TLS_KEY__/$TLS_KEY/g" |sed -e "s/__.*__//g" >my-kyma.yaml
    

    As a result, you get the my-kyma.yaml file which you can deploy on the GKE cluster.

  4. Configure kubectl to use your new cluster, add yourself as the cluster admin, and deploy Kyma installer with your configuration.

    gcloud container clusters get-credentials $CLUSTER_NAME --zone europe-west1-b --project $PROJECT
    
    kubectl create clusterrolebinding cluster-admin-binding --clusterrole=cluster-admin --user=$(gcloud config get-value account)
    
    kc apply -f https://github.com/kyma-project/kyma/releases/download/0.7.0/kyma-installer-cluster.yaml
    
    kubectl apply -f my-kyma.yaml
    
  5. Check if tiller and kyma-installer Pods are up and running. Start the installation process with this command:

    kubectl label installation/kyma-installation action=install
    

    Watch installation progress:

    kubectl logs -n kyma-installer [kyma-installer-pod] -f
    
  6. Configure DNS for two load balancers created by the Kyma installation, which are istio-ingressgateway and core-nginx-ingress-controller. You need the following DNS records:

    • *.kyma.example.com A EXTERNAL_PUBLIC_IP
    • gateway.kyma.example.com A REMOTE_ENV_IP

    You can use this script to get external IP addresses for load balancers:

    export EXTERNAL_PUBLIC_IP=$(kubectl get service -n istio-system istio-ingressgateway -o jsonpath="{.status.loadBalancer.ingress[0].ip}")
    
    export REMOTE_ENV_IP=$(kubectl get service -n kyma-system application-connector-nginx-ingress-controller -o jsonpath="{.status.loadBalancer.ingress[0].ip}")
    
    gcloud dns --project=$PROJECT record-sets transaction start --zone=$DNS_ZONE
    
    gcloud dns --project=$PROJECT record-sets transaction add $EXTERNAL_PUBLIC_IP --name=\*.$DOMAIN. --ttl=60 --type=A --zone=$DNS_ZONE
    
    gcloud dns --project=$PROJECT record-sets transaction add $REMOTE_ENV_IP --name=\gateway.$DOMAIN. --ttl=60 --type=A --zone=$DNS_ZONE
    
    gcloud dns --project=$PROJECT record-sets transaction execute --zone=$DNS_ZONE
    
    

Read this document for more information on installing Kyma.

0.7.0 (2019-02-14)

Console

Documentation

  • #2702 Add BC flow information to the AS architecture (@kazydek)

Committers: 2

0.7.0-rc1 (2019-02-11)

Application Connector

Serverless

Service Catalog

Cluster

Eventing

Security

Service Mesh

  • #2626 Bump API controller and API controller acceptance tests images (@jakkab)
  • #2648 Update api-controller accceptance tests (@jakkab)
  • #2621 API controller: add API validation - allow one API per service (@jakkab)
  • #2584 Enable kyma-istio-patch for upgradeability (@Demonsthere)
  • #2481 Exempt the kube-system and knative-build namespaces from automatic sidecar injection (@jakkab)
  • #2495 Enable/disable sidecar injection in namespaces provided in istio-kyma-patch-config configmap (@jakkab)
  • #2475 istio-kyma-patch image bump (@Tomasz-Smelcerz-SAP)
  • #2411 Switch default istio injection policy to enabled in istio-kyma-patch (@Tomasz-Smelcerz-SAP)
  • #2420 Enable default sidecar injection (@jakkab)
  • #2357 Update filenames to use new numbering format (@tomekpapiernik)
  • #2340 Set sidecar injection to false in charts (@kfurgol)
  • #2331 Set sidecar injection annotations to false in NS-controller, api-controller, azure-broker and dex (@kfurgol)
  • #2327 Set sidecar injection annotations to false in Application Connector charts (@kfurgol)
  • #2337 Set sidecar injection to false in service-catalog, cluster-essential, and core charts (@kfurgol)

Installation

Monitoring

Logging

Tracing

Console

Documentation

CI

Committers: 46

Assets 6
You can’t perform that action at this time.