- Creating Kubernetes Cluster on Google Cloud
- Configuring Istio
- Configuration changes to Fiorano installer for cloud setup
- Create Persistent Volume Claims
- Configure Postgres Login
- Create the Load Balancer Services
- Configuring Ingress hosts and ports
- Create AMS, Cassandra and postgres deployment
- Create AGS Stateful set deployment
- Create the Kubernetes Gateway Service to access services outside a cluster
- Create the Kubernetes Virtual Services which would specify the Host URI
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
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
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
- Upload the tar files created for AMS and AGS compressed as zip to the google cloud console, after upload extract the same.
- Change directory and go to the directory containing the docker images using cloud shell
Run the following code blocks to load docker images to the cloud docker
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)Create tags with registry name
ExamplePush 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
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
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
Configuring Ingress hosts and ports
Create AMS, Cassandra and postgres deployment
Sample yaml file can be found here.
Create AGS Stateful set deployment
Sample yaml file can be found here.
Create the Kubernetes Gateway Service to access services outside a cluster
Sample yaml file can be found here.
Create the Kubernetes Virtual Services which would specify the Host URI
Click the file names to get sample virtual.yaml and resource.yaml files
To check INGRESS_HOST and PORT give the following command in cloud shell