SlideShare a Scribd company logo
Google Kubernetes Engine (GKE)
Topics we will be covering in the presentation are:
• What is GKE
• Why GKE is different from other cloud
• How to implement an application in GKE (A Demo)
• CI CD implémentation on GKE
1. What is GKE?
Google Kubernetes Engine (GKE) is a management and orchestration system for Docker
container and container clusters that run within Google's public cloud services.
Google Kubernetes Engine is based on Kubernetes, Google's open source container
management system.
We use Google Kubernetes commands and resources to deploy and manage your
applications, perform administration tasks and set policies, and monitor the health of your
deployed workloads.
Some main features of GKE :
 Create or resize Docker container clusters
 Create container pods, replication controllers, jobs, services or load balancers
 Update and upgrade container clusters
 Automatic scaling of your cluster's node instance count
2. Why GKE is different from other cloud
 Differences on the basis of below parameters
GKE AKS EKS
Scalability GKE provide the ability to add
different ‘nodepools’ (or
‘nodegroups’) which allows
different machine types to join
the worker pool.
In AKS you can only scale up to
similar nodes.
In GKE addition of a nodepool is a
single step process, in EKS you
need to additionally connect the
new nodepool to the cluster
manually.
Availability GKE provides high availability of
their clusters in two modes: multi-
zonal and regional. In multi-zonal
mode, there is only one master
node but there can be worker
nodes in different zones. In
regional mode, the master nodes
are also spread across all the
zones to provide even better HA.
AKS does not have high availability
for their master nodes, as of date.
The worker nodes are part of
Availability Zones so they provide
HA
EKS also provides HA master and
worker nodes spread across
multiple availability zones very
similar to GKE’s regional mode
Add-ons GKE provides support for Calico as
its network plugin which
enables Network Policies to be
defined for inter-pod
communication
AKS supports Network Policies
through kube-router project which
has to be installed manually
EKS also provides Calico
integration though it has to be
setup manually. Network policies
are crucial for securing the
platform especially in a multi-
tenant environment.
Pricing Short-term (100 hrs)/per
month
40$ 60$ 50$ + 20$* (* master)
.
Application Deployment in GKE
In our demo we are going to deploy a Node.js application
on our GKE cluster. The flow will be like:
 We will take the application source from GitHub.
 We will create a Dockerfile, which will copy all the important libraries and
other important packages used for running the application, with that we will
build a docker image, later which will be used at the time of deployment
 We will create a Deployment.yaml file for deployment purpose
 We will create a Service.yaml file for exposing our application with outer
world.
Fetching the code from GitHub
 Go the GKE cluster that you have created and do
#git clone https://github.com/Piyushkamboj/NodeJS-GKE.git
Front End of Application will look like:
DockerFile
We will Build Image using Docker build command:
#docker build –t (path of dockerfile)
After Successfully creation of Docker image, we will push the image to google container
registry using below command:
#docker tag (source_image) gcr.io/testproject-piyush/nodejsapp:v1
#docker push gcr.io/testproject-piyush/nodejsapp:v1
Note : Instead gcr.io we can also use : us.gcr.io , eu.gcr.io , asia.gcr.io Depends on which location our
registry exist.
Deployment and Service File
 Deployment.yaml  Service.yaml
Creating deployment and exposing the application
We will use the deployment.yaml and service.yaml file we have created earlier
Note: run the below command in the location where above two files are present
#kubectl apply -f deployment.yaml
#kubectl apply -f service.yaml
The Front Page of application on Browser
CI/CD implementation on GKE
We will learn how to create CI/CD pipeline and thus deploying the build(Docker
image) on Google k8s cluster.
The steps in whole process would be:
 Creating a Dockerfile which will include all the libraries and dependencies to run the application
in dockerised form. The Dockerfile must be in the root directory of application.
 Creating Deployment.yaml and service.yaml file. It will includes the steps of our deployment and
exposure of created image on k8s cluster
 Creating a cloudbuild.yaml file, the cloudbuild.yaml file will perform the complete task.
 Setting up IAM for cloud builder so that it has permissions to deploy the images in GKE.
 Setup build trigger.
Creation of Dockerfile and Deployment.yaml File
As we have created Docker and deployment file earlier so we will just push both of
the file to the source code repository (GitHub) and we will synch google cloud
source repository with GitHub
Create Cloudbuild.yaml file
Cloudbuild.yaml file with the help of Build trigger will automate
everything which we were doing manually. From creating a docker file
to deploying it to the GKE cluster.
Google kubernetes Engine with Google CI/CD Implementation
Google kubernetes Engine with Google CI/CD Implementation
Set up IAM
 We will setup IAM for cloud builder so that it has permissions to deploy the images in
GKE.
To do this, navigate to IAM & Admin →IAM on the side menu.
Here, you would see an entry in the format :-
“<project-number>@cloudbuild.gserviceaccount.com”
with the role, Cloud Build Service Account. Edit the role and add Kubernetes Engine
Admin role to it as well.
Setup Build Trigger
In the Cloudbuild section there is one option to setup build trigger by clicking it we
have to fill some details as below
Run the created Trigger
After running check the history in cloudbuild section

More Related Content

PDF
Google Cloud platform: GKE with CI/CD using CircleCI and Flux
PPTX
Get started with Kubernetes on GKE
PDF
Google Kubernetes Engine (GKE) deep dive
PPTX
Kubernetes & Google Kubernetes Engine (GKE)
PPTX
MicroServices with Containers, Kubernetes & ServiceMesh
PPTX
MicroService architecture_&_Kubernetes
PDF
Google Kubernetes Engine Deep Dive Meetup
PPTX
Kubernetes for machine learning
Google Cloud platform: GKE with CI/CD using CircleCI and Flux
Get started with Kubernetes on GKE
Google Kubernetes Engine (GKE) deep dive
Kubernetes & Google Kubernetes Engine (GKE)
MicroServices with Containers, Kubernetes & ServiceMesh
MicroService architecture_&_Kubernetes
Google Kubernetes Engine Deep Dive Meetup
Kubernetes for machine learning

What's hot (20)

ODP
Kubernetes best practices.odf
PDF
Google container engine (GKE)
PDF
Introduction to Kubernetes and Google Container Engine (GKE)
PPTX
Azure kubernetes service (aks)
PDF
GKE Tip Series - Usage Metering
PDF
CD, docker and kubernetes
PDF
Kubernetes
PDF
GCP CloudRun Overview
PDF
Introduction of Kubernetes - Trang Nguyen
PDF
Dynamic management of kubernetes
PDF
Swarm migration
PDF
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
PDF
Google Cloud Computing compares GCE, GAE and GKE
PDF
Knative Intro
PPTX
Introduction to Serverless and Google Cloud Functions
PPTX
Going Serverless with Kubeless In Google Container Engine (GKE)
PDF
Dockerize Your Project - GDGBogor
PDF
Building Resilient Cloud Native Apps in GKE
PPTX
Intro to Helm for Kubernetes
PDF
Tooling Matters - Development tools
Kubernetes best practices.odf
Google container engine (GKE)
Introduction to Kubernetes and Google Container Engine (GKE)
Azure kubernetes service (aks)
GKE Tip Series - Usage Metering
CD, docker and kubernetes
Kubernetes
GCP CloudRun Overview
Introduction of Kubernetes - Trang Nguyen
Dynamic management of kubernetes
Swarm migration
Kubernetes Deployment Tutorial | Kubernetes Tutorial For Beginners | Kubernet...
Google Cloud Computing compares GCE, GAE and GKE
Knative Intro
Introduction to Serverless and Google Cloud Functions
Going Serverless with Kubeless In Google Container Engine (GKE)
Dockerize Your Project - GDGBogor
Building Resilient Cloud Native Apps in GKE
Intro to Helm for Kubernetes
Tooling Matters - Development tools
Ad

Similar to Google kubernetes Engine with Google CI/CD Implementation (20)

PDF
Introduction to Kubernetes and GKE
PPTX
Kubernetes Introduction
PPTX
GCCP JSCOE Session 2
PDF
Deploy With Codefresh to Kubernetes in 3 steps
PDF
Kubernetes best practices
PDF
A DevOps guide to Kubernetes
PPTX
Kubernetes
PDF
Kubernetes for the PHP developer
PDF
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
PDF
Dockerized .Net Core based app services in azure K8s
PDF
Top 3 reasons why you should run your Enterprise workloads on GKE
PPTX
Global azurebootcamp2019vancouver aks_presentation_by_ashprasad_arjavprasad
PDF
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
PDF
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
PDF
Kubernetes & Google Container Engine @ mabl
PDF
Better code, faster with kubernetes in google cloud
PPTX
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
PDF
GCP-DevOps-projectintroduxtionfir devopsproject.pdf
PDF
From Docker To Kubernetes: A Developer's Guide To Containers - Mandy White - ...
PDF
Powerup & GCP | Workshop on Google Kubernetes Engine
Introduction to Kubernetes and GKE
Kubernetes Introduction
GCCP JSCOE Session 2
Deploy With Codefresh to Kubernetes in 3 steps
Kubernetes best practices
A DevOps guide to Kubernetes
Kubernetes
Kubernetes for the PHP developer
Kubernetes Boulder - Kit Merker - Cloud Native Deployment
Dockerized .Net Core based app services in azure K8s
Top 3 reasons why you should run your Enterprise workloads on GKE
Global azurebootcamp2019vancouver aks_presentation_by_ashprasad_arjavprasad
Deploying Kubernetes in the Enterprise (IBM #Think2019 #7678 Tech Talk)
2022-05-23-DevOps pro Europe - Managing Apps at scale.pdf
Kubernetes & Google Container Engine @ mabl
Better code, faster with kubernetes in google cloud
GCP - Continuous Integration and Delivery into Kubernetes with GitHub, Travis...
GCP-DevOps-projectintroduxtionfir devopsproject.pdf
From Docker To Kubernetes: A Developer's Guide To Containers - Mandy White - ...
Powerup & GCP | Workshop on Google Kubernetes Engine
Ad

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
A Presentation on Artificial Intelligence
PDF
Electronic commerce courselecture one. Pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Modernizing your data center with Dell and AMD
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
KodekX | Application Modernization Development
NewMind AI Monthly Chronicles - July 2025
A Presentation on Artificial Intelligence
Electronic commerce courselecture one. Pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Review of recent advances in non-invasive hemoglobin estimation
Mobile App Security Testing_ A Comprehensive Guide.pdf
Empathic Computing: Creating Shared Understanding
Dropbox Q2 2025 Financial Results & Investor Presentation
Modernizing your data center with Dell and AMD
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Chapter 3 Spatial Domain Image Processing.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

Google kubernetes Engine with Google CI/CD Implementation

  • 1. Google Kubernetes Engine (GKE) Topics we will be covering in the presentation are: • What is GKE • Why GKE is different from other cloud • How to implement an application in GKE (A Demo) • CI CD implémentation on GKE
  • 2. 1. What is GKE? Google Kubernetes Engine (GKE) is a management and orchestration system for Docker container and container clusters that run within Google's public cloud services. Google Kubernetes Engine is based on Kubernetes, Google's open source container management system. We use Google Kubernetes commands and resources to deploy and manage your applications, perform administration tasks and set policies, and monitor the health of your deployed workloads. Some main features of GKE :  Create or resize Docker container clusters  Create container pods, replication controllers, jobs, services or load balancers  Update and upgrade container clusters  Automatic scaling of your cluster's node instance count
  • 3. 2. Why GKE is different from other cloud  Differences on the basis of below parameters GKE AKS EKS Scalability GKE provide the ability to add different ‘nodepools’ (or ‘nodegroups’) which allows different machine types to join the worker pool. In AKS you can only scale up to similar nodes. In GKE addition of a nodepool is a single step process, in EKS you need to additionally connect the new nodepool to the cluster manually. Availability GKE provides high availability of their clusters in two modes: multi- zonal and regional. In multi-zonal mode, there is only one master node but there can be worker nodes in different zones. In regional mode, the master nodes are also spread across all the zones to provide even better HA. AKS does not have high availability for their master nodes, as of date. The worker nodes are part of Availability Zones so they provide HA EKS also provides HA master and worker nodes spread across multiple availability zones very similar to GKE’s regional mode Add-ons GKE provides support for Calico as its network plugin which enables Network Policies to be defined for inter-pod communication AKS supports Network Policies through kube-router project which has to be installed manually EKS also provides Calico integration though it has to be setup manually. Network policies are crucial for securing the platform especially in a multi- tenant environment. Pricing Short-term (100 hrs)/per month 40$ 60$ 50$ + 20$* (* master)
  • 4. .
  • 5. Application Deployment in GKE In our demo we are going to deploy a Node.js application on our GKE cluster. The flow will be like:  We will take the application source from GitHub.  We will create a Dockerfile, which will copy all the important libraries and other important packages used for running the application, with that we will build a docker image, later which will be used at the time of deployment  We will create a Deployment.yaml file for deployment purpose  We will create a Service.yaml file for exposing our application with outer world.
  • 6. Fetching the code from GitHub  Go the GKE cluster that you have created and do #git clone https://github.com/Piyushkamboj/NodeJS-GKE.git Front End of Application will look like:
  • 7. DockerFile We will Build Image using Docker build command: #docker build –t (path of dockerfile) After Successfully creation of Docker image, we will push the image to google container registry using below command: #docker tag (source_image) gcr.io/testproject-piyush/nodejsapp:v1 #docker push gcr.io/testproject-piyush/nodejsapp:v1 Note : Instead gcr.io we can also use : us.gcr.io , eu.gcr.io , asia.gcr.io Depends on which location our registry exist.
  • 8. Deployment and Service File  Deployment.yaml  Service.yaml
  • 9. Creating deployment and exposing the application We will use the deployment.yaml and service.yaml file we have created earlier Note: run the below command in the location where above two files are present #kubectl apply -f deployment.yaml #kubectl apply -f service.yaml
  • 10. The Front Page of application on Browser
  • 11. CI/CD implementation on GKE We will learn how to create CI/CD pipeline and thus deploying the build(Docker image) on Google k8s cluster. The steps in whole process would be:  Creating a Dockerfile which will include all the libraries and dependencies to run the application in dockerised form. The Dockerfile must be in the root directory of application.  Creating Deployment.yaml and service.yaml file. It will includes the steps of our deployment and exposure of created image on k8s cluster  Creating a cloudbuild.yaml file, the cloudbuild.yaml file will perform the complete task.  Setting up IAM for cloud builder so that it has permissions to deploy the images in GKE.  Setup build trigger.
  • 12. Creation of Dockerfile and Deployment.yaml File As we have created Docker and deployment file earlier so we will just push both of the file to the source code repository (GitHub) and we will synch google cloud source repository with GitHub
  • 13. Create Cloudbuild.yaml file Cloudbuild.yaml file with the help of Build trigger will automate everything which we were doing manually. From creating a docker file to deploying it to the GKE cluster.
  • 16. Set up IAM  We will setup IAM for cloud builder so that it has permissions to deploy the images in GKE. To do this, navigate to IAM & Admin →IAM on the side menu. Here, you would see an entry in the format :- “<project-number>@cloudbuild.gserviceaccount.com” with the role, Cloud Build Service Account. Edit the role and add Kubernetes Engine Admin role to it as well.
  • 17. Setup Build Trigger In the Cloudbuild section there is one option to setup build trigger by clicking it we have to fill some details as below
  • 18. Run the created Trigger After running check the history in cloudbuild section