Platform

Domain

Services

Platform

Domain

Setting Up Kyma on GKE

July 3, 2019

Introduction to Kyma

Kyma allows you to customise enterprise applications by connecting third-party services whether it is hosted on the cloud or on your private data centre. It uses serverless computing and microservices architecture in order to allow quicker customization, regardless of the language they are written in.

It provides a number of cloud components and services that are required to collectively serve as an end-to-end solution. It also provides the advantages of performance, scalability, efficiency and above all security.

What is Uncommon in Kyma?

Think of a solution in which you can combine locally developed features with modern solutions under one umbrella?

Kyma does exactly this, it allows you to combine and enhance your solutions easily and quickly. Some of the major open-source projects like Istio, NATS, Kubeless, and Prometheus, establish the foundation of Kyma.

Setting Up Kyma on GKE Google Kubernetes Engine Cluster:

Following are the steps that are needed to deploy Kyma on a Google Kubernetes Engine (GKE) cluster.There are some changes as compared to the actual document. kindly refer to the notes that are written where changes/errors can occur.

Note:

Above command in the document have default network and subnetwork so it doesn’t need to write it while cluster creation, whereas if you don’t have default network and subnetwork then you need to specify by adding the tags like in the example command.

Above command will create 3 node GKE cluster for kyma, and here machine type is “n1-standard-4” which means each node have the configuration of 4 CPU and 15 GB RAM which will overall become 12 CPU and 45 GB RAM for 3 nodes. If you change the machine type for example from “n1-standard-4” to “n1-standard-1”, Kyma will not be installed properly or continuously fail due to limited resource as there are 66 pods in total for kyma on GKE cluster.

This is a sample list:
ns-cloud-b1.googledomains.com.
ns-cloud-b2.googledomains.com.
ns-cloud-b3.googledomains.com.ns-cloud-b4.googledomains.com.

Set up your domain to use these name servers.

Note:Be careful with this step, when you created the DNS-managed zone on GCP, it will give you the name servers then copy those name servers and if you are using freenom.com free domain then put these name servers there and wait for propagation. Basically, when the nameservers are changed, or DNS changes are made, you can expect a propagation time up to 24 hours. You can use https://dnschecker.org/ to check the domain propagation. Once your domain successfully propagates then move to further steps.

Check if everything is set up correctly and your domain is managed by Google name servers. Run:host -t ns $DNS_NAME

Note:A successful response returns the list of the name servers you fetched from GCP.

6- Get the TLS certificate

Create a folder for certificates. Run:
mkdir letsencrypt
Create a new service account and assign it to the dns.admin role. Run these commands:
gcloud iam service-accounts create dnsmanager –display-name “dnsmanager”–project “$PROJECT”

Note:
Sometimes, the document’s docker command gives an error and not let you generate the key and TLS certificate, so for this you need to run below commands to successfully generate keyand TLS certificate. Remember to change your email address in the second command

The purpose of doing this is to delete the spaces and after removing space there might be some hidden special characters in the files, you need to remove that too by using a text editor that has the capability to show hidden special characters. Just find and replace command this will done the job.

After doing the above work, again run the export command:

export TLS_CERT=$(cat tlscert.txt)export TLS_KEY=$(cat tlskey.txt)

7- Prepare the installation configuration file

Export the release version as an environment variable. Run:
As per Document:export LATEST={KYMA_RELEASE_VERSION}

Example:export LATEST=1.0.0

Download the kyma-config-cluster.yaml and kyma-installer-cluster.yaml files from the latest release. Run:

8- Using your own image

Note:Be careful while cloning, above URL is for release 1.0 and if you accidentally check out other releases like from the master branch then Kyma will not be installed on GKE.

Build an image that is based on the current Installer image and includes the current installation and resources charts. Run:docker build -t kyma-installer:latest -f tools/kyma-installer/kyma.Dockerfile .

Stay up-to-date with FAIR

Connect with FAIR today and get the latest tips and tricks on improving your CX tools and eCommerce platforms. Once you subscribe you will get access to workshops, webinars, recent projects and so much more.