Contents

Popular

 

Creating Kubernetes Cluster on Google Cloud

Login and Select Kubernetes Engine on Google Cloud Platform

Create a cluster by running the following command on cloud shell

Retrieve credentials for kubectl

Example

Grant cluster administrator (admin) permissions to the current user

To create the necessary RBAC rules for Istio, the current user requires admin permissions.

Configuring Istio

Downloading Istio

Go to the Istio release page to download the installation file for your OS, or download and extract the latest release automatically (Linux or macOS) as mentioned in https://istio.io/docs/setup/getting-started/

Run the following in the cloud shell

Adding istioctl client to your cloud system path

Icon

Please use the version of istio you downloaded and correct the paths below to suit your version

Configuring Istio Profile

For this installation, we use the demo configuration profile. It’s selected to have a good set of defaults for testing along with dashboards like kiali, prometheus etc.

Configuring Istio Namespace to allow injection

Add a namespace label to instruct Istio to automatically inject Envoy sidecar proxies when you deploy your application later

Configuration changes to Fiorano installer for cloud setup

In the Fiorano Latest installer, change the IP for Cassandra, Primary and Secondary URL as 10.35.240.20 (configured cluster IP for AMS) in config deployer in for server1 profile AGS.

Configuring the Docker image

  1. Upload the tar files created for AMS and AGS compressed as zip to the google cloud console, after upload extract the same. 
  2. Change directory and go to the directory containing the docker images using cloud shell 
  3. Run the following code blocks to load docker images to the cloud docker

    Icon

    Change the FIORANO_DOCKER_IMAGE to the actual docker image file name for both AMS and AGS

  4. Add Cred Helper
    Add the Docker credHelper entry to Docker's configuration file, or creates the file if it doesn't exist. This will register gcloud as the credential helper for all Google-supported Docker registries. ( refer to https://cloud.google.com/container-registry/docs/pushing-and-pulling)

  5. Create tags with registry name

    Example
  6. Push the tagged images to container registry

    Example

Create Persistent Volume Claims

Run the following command to execute the yaml files for persistent volume claim configuration, please navigate to the folder containing the yamls before executing

Icon

Click on the file name to download a sample template for the respective yaml.

  1. cassandra_pv_pvc.yaml

  2. postgres_pv_pvc.yaml

  3. fiorano_pv_pvc.yaml

Configure Postgres Login

Apply the postgres configuration file for login credentials

The template of the file can be found here.

Create the Load Balancer Services

Icon

Please update the Cluster IP field in services.yaml and ags-services.yaml based on your setup. For services.yaml use the same cluster IP that we had set in the Fiorano profile while creating the docker image for AGS.

Load Balancer Configuration for AMS

Sample services.yaml can be found here

Load Balancer Configuration for AGS

Sample ags-services.yaml can be found here

Icon

Wait for a few minutes for the Loadbalancer endpoint to get assigned.

Configuring Ingress hosts and ports

Create AMS, Cassandra and postgres deployment

Icon

Check if the image name in yaml is the same as tagged in the gcloud registry otherwise pods may fail

Sample yaml file can be found here.

Icon

Wait for a few minutes to get the pods running

Create AGS Stateful set deployment

Icon

Check if the image name in yaml is the same as tagged in the gcloud registry otherwise pods may fail

Sample yaml file can be found here.

Create the Kubernetes Gateway Service to access services outside a cluster

Icon

Check if hosts field is "*" or specify the Ingressgateway IP which is in INGRESS_HOST )

Sample yaml file can be found here.

Create the Kubernetes Virtual Services which would specify the Host URI

Icon

Check for /api in prefix and check if hosts field is the Ingressgateway IP which is in INGRESS_HOST

Click the file names to get sample virtual.yaml and resource.yaml files

Icon

Now check if external access works by opening browser and giving URL as: http://$INGRESS_HOST:$INGRESS_PORT/apimgmt

To check INGRESS_HOST and PORT give the following command in cloud shell

Icon

echo $INGRESS_HOST:$INGRESS_PORT

Load Kiali Dashboard

Adaptavist ThemeBuilder EngineAtlassian Confluence