Skip to content

GKE Cluster

Google Kubernetes Engine Cluster Install

Google’s GKE hosted Kubernetes platform is known to work with Helm.

To deploy on GKE you first need to create a cluster: Create GKE cluster, as well as install the kubectl command tine tool and helm on your local computer.

Then install Google Cloud SDK on your local computer:

> https://cloud.google.com/kubernetes-engine/docs/quickstart#create_cluster
google-cloud-sdk 277.0.0 from Cloud SDK (google-cloud-sdk✓) installed

Login to GKE with the following command (a web page is opened to let you authenticate on the Cloud platform):

gcloud auth login

In the Google Cloud Platform console, select your Kubernetes cluster and click on the Connect button to open the following dialog:

GKE Connect

Copy/paste the given command in your local shell console:

gcloud container clusters get-credentials standard-cluster-1 --zone us-central1-a --project kraken
Fetching cluster endpoint and auth data.
kubeconfig entry generated for standard-cluster-1.

Verify that you are connected to your remote K8S cluster by listing its nodes:

> kubectl get nodes
NAME                                                STATUS   ROLES    AGE   VERSION
gke-standard-cluster-1-default-pool-695f33d2-52xc   Ready    <none>   28m   v1.13.11-gke.23
gke-standard-cluster-1-default-pool-695f33d2-jcrk   Ready    <none>   28m   v1.13.11-gke.23
gke-standard-cluster-1-default-pool-695f33d2-t6vj   Ready    <none>   28m   v1.13.11-gke.23

Ingress Controller

Your GKE cluster being ready and accessible locally, you can now install an NGINX Ingress using Helm:

> kubectl create namespace nginx-ingress
namespace/nginx-ingress created
> helm install --namespace nginx-ingress nginx-ingress stable/nginx-ingress --set rbac.create=true --set controller.publishService.enabled=true
NAME: nginx-ingress
LAST DEPLOYED: Wed Jan 29 13:53:31 2020
NAMESPACE: nginx-ingress
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
[...]

Verify that the Ingress controller is created with the following command:

> kubectl get service nginx-ingress-controller -n nginx-ingress
NAME                       TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)                      AGE
nginx-ingress-controller   LoadBalancer   10.0.13.243   34.77.19.240   80:32139/TCP,443:32384/TCP   98s

Proceed to the Kraken helm chart installation and your Kraken application will be available at the IP address given in the EXTERNAL-IP column.

For example, open the administration UI at http://34.77.19.240/administration.