Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Udemy

Google Kubernetes Engine(GKE) : The Practical Guide [GCP]

via Udemy

Overview

Google GKE, Kubernetes, Label, Selectors, Scaling, Replication, Deployment, Rollback, Networking, Services, Volumes etc.

What you'll learn:
  • How Should a Kubernetes Cluster Be Managed?
  • Making a Kubernetes Cluster from Scratch "The Hard Way"
  • Setup of Kubernetes Cluster in GCP Environment
  • Components of Control Plane - API Server, Etcd, Scheduler, Controller Manager
  • You will be able to understand the architecture of the Kubernetes cluster
  • You will be able to set up a Kubernetes cluster in GCP
  • You will be able to understand the concepts of Kubernetes in Google Cloud Platform (GCP)
  • You will be able to implement the Pod Restart Policy
  • You will be able to implement Labels and Selectors in Kubernetes
  • You will be able to create GKE Standard and Autopilot clusters
  • You will learn to implement Kubernetes Storage with Google Persistent Disks
  • You will be able to implement to upgrade the application using deployment object
  • You will practically learn Kubernetes Services: ClusterIP, Nodeport and LoadBalancer

Welcome to this amazing course on Google Kubernetes Engine (GKE) with various real-time lab sessions.

Google Kubernetes Engine (GKE) is the simplest and most common way of setting up a Kubernetes Cluster in GCP.

Below is the list of modules covered in this course.


1. Assignment: Create the First Pod Using YAML in Kubernetes GKE

Creating the first pod using YAML in Google Kubernetes Engine (GKE) involves several steps. In this project lab, you'll learn how to define a simple YAML file for a Kubernetes pod and deploy it in a GKE cluster.


2. Assignment: Kubernetes Pod Restart Policy - GKE

The objective of this project assignment is to demonstrate your understanding of Kubernetes Pod restart policies and how to implement them in Google Kubernetes Engine (GKE).


3. Assignment: Working with Labels and Selectors in Kubernetes GKE

The objective of this lab assignment is to familiarize students with the concept of labels and selectors in Kubernetes and how they can be used to organize and select resources within a GKE cluster.


4. Assignment: Scaling & Replication in Kubernetes GKE

In this lab assignment, you will learn how to scale and replicate applications in Kubernetes in Google Kubernetes Engine (GKE).


5. Assignment: Deployment and Rollback in Kubernetes GKE

In this lab assignment, you will practice deploying applications to Google Kubernetes Engine (GKE) and performing rollbacks in case of issues.


6. Assignment - Containers within a Pod Communicate via localhost in GKE

In this lab assignment, you will learn how containers within a Kubernetes Pod can communicate with each other using the localhost network interface. You will deploy a simple multi-container Pod in Google Kubernetes Engine (GKE) and observe how the containers communicate via localhost.


7. Assignment - Containers Communicate via localhost using a Specific Port in Kubernetes GKE

In this project lab assignment, you will create a multi-container Pod in Google Kubernetes Engine (GKE) where two containers communicate with each other via localhost using a specific port. This project will help you understand networking within a Kubernetes Pod and how containers can interact locally.


8. Assignment - Pod-to-Pod Communication via POD IP in Kubernetes GKE

In this project lab assignment, you will set up a Kubernetes cluster on Google Kubernetes Engine (GKE) and configure two Pods to communicate with each other using their Pod IPs. You will gain practical knowledge of networking and Pod-to-Pod communication within a Kubernetes cluster.


9. Assignment - Kubernetes Services: ClusterIP in GKE

In this practice lab assignment, you will learn about Kubernetes Services, specifically ClusterIP Services, and how they provide internal network access to pods within a Google Kubernetes Engine (GKE) cluster.


10. Assignment - Kubernetes Services: NodePort in Kubernetes GKE

In this practice lab assignment, you will learn about Kubernetes Services, specifically NodePort Services, and how they provide external network access to pods within a Google Kubernetes Engine (GKE) cluster.


11. Assignment - Kubernetes Services: LoadBalancer in Kubernetes GKE

In this practice lab assignment, you will learn about Kubernetes Services, specifically LoadBalancer Services, and how they provide external network access and load balancing to pods within a Google Kubernetes Engine (GKE) cluster.


12. Assignment - Create a POD with attached emptyDir volume in Kubernetes GKE

Creating a Pod with an attached emptyDir volume in Google Kubernetes Engine (GKE) is similar to creating it in a standard Kubernetes cluster. Here's a lab assignment on how to create a Pod with an emptyDir volume in GKE:


13. Assignment - Create a POD with attached hostpath volume GKE

Creating a Kubernetes Pod with an attached hostPath volume allows you to mount a directory from the host node's filesystem into a Pod. In this lab assignment, we'll create a Pod with a hostPath volume.


14. Assignment - Persistent Volumes for Storage in Kubernetes Cluster GKE

In this lab assignment, we will create a simple GKE cluster, deploy a pod with a Persistent Volume (PV) and Persistent Volume Claim (PVC), and demonstrate how to use them.



Course Description:

Section 1: Kubernetes Introduction

· What is Kubernetes

· Why do we use Kubernetes?

· Kubernetes Implementations - GCP, AWS, Azure, Minikube etc

· Monolithic approach for developing applications.

· Microservices Vs. Monolithic

· Kubernetes Gateway API

· Evolution of Containers, Dockers & VMs

· Microservices running as containers

· Kubernetes - Orchestration or container management tool

· Features of Kubernetes

Section2: Architecture of the Kubernetes Cluster

· The architecture of the Kubernetes Cluster

· Understand architecture with various examples

· Working with Kubernetes

· Roles of Master Node

· Components of Control Plane (Master Node)

· API Server

· Etcd

· Scheduler

· Controller Manager

· Kubelet

· Service Proxy

· POD

· Container Engine - Docker, Containerd, or Rocket

Section 3: Setup of Kubernetes Cluster in GCP

· Set up a Kubernetes Cluster in GCP Environment

· Cluster basics, Node Pools, Networking etc.

· Activate cloud shell to access Kubernetes Cluster

· Configure Kubectl

Section 4: Kubernetes Concepts in GCP

· Create the first POD using manifest file written in YAML Language

· How to deploy ubuntu pod in Kubernetes?

· Check logs for pods and containers in Kubernetes

· Create multiple containers in a POD

· Retrieve information from running containers

· Get a Shell to a Running Container

· Multiple Containers in a Pod (Ubuntu, Nginx Web Sever)

· Download image for containers like Curl, Ubuntu, Nginx etc.

· Image Pull Policy of containers

· Kubernetes Annotations

· Define Environment variables

· Pod-to-pod communication

· Login to Cluster nodes using cloud shell or control plane

Section 5: Kubernetes Pod Restart Policy

· Overview of Pod Restart Policies

· Three restart policies: Always, OnFailure & Never

· Lab - Restart Policy: Always

· Lab - Restart Policy: OnFailure

· Lab - Restart Policy: Never

Section 6: Labels and Selectors in Kubernetes

· Labels & Selectors

· Lab - Labels and Selectors

· Commands for managing labels & selectors

· Declarative vs. Imperative Kubernetes commands

· Lab - Search the pod using labels

· Two types Selectors

o Equality Based

o Set based

· Lab - Search the pod using set-based

· Overview of Node Selector

· Lab - Create a pod on a specific node

Section 7: Scaling & Replication

· What is ReplicationController - RC?

· Features of RC

· Lab - Create Replicas of POD using RC

· Lab - Deleting a pod of ReplicationController

· Lab - Scale-up & scale-down the pod: ReplicationController

· What is ReplicaSet - RS?

· Lab - Create Replicas of POD using ReplicaSet

· Lab - Scale-up & scale-down the pod: ReplicaSet

· Difference between ReplicationController & ReplicaSet

Section 8: Deployment and Rollback

· Overview of Deployment and Rollback

· Lab: Launch two PODs using deployment object

· Lab: upgrade the application v1 to v2 using deployment object

· Lab: Roll back the application to previous version

· Lab: Roll back to any specific version

Section 9: Kubernetes Networking

· Overview of Kubernetes Networking

· Containers within a POD communicate via localhost

· Containers communicate via localhost using a specific port

· Pod-to-pod communication via Pod IP

· Practice Lab - Pod-to-pod communication

Section 10: Kubernetes Services: ClusterIP, Nodeport and LoadBalancer

· Object - Service

· Why service is required?

· Service type - Cluster IP, NodePort & LoadBalancer

· Lab 1 - Access the Web appl using Cluster IP

· Lab 2 - Access the Web appl using Cluster IP

· Lab 1 - Access the Web appl using NodePort

· Lab 2 - Access the Web appl using NodePort

· Lab 3 - Access the Web appl using specific NodePort

· About LoadBalancer

· Lab 1 - Kubernetes Services: LoadBalancer

· Lab 2 - Kubernetes Services: LoadBalancer

Section 11: Volumes in Kubernetes Cluster

· Overview of Volumes in Kubernetes Cluster.

· Volume types – EmptyDir, hostpath

· Lab1: Create a POD with attached emptyDir volume

· Lab2: Create a POD with attached emptyDir volume

· Lab1: Create a POD with attached hostpath volume

· Lab2: Create a POD with attached hostpath volume

Section 12: Persistent Volumes

· Overview of Persistent volumes

· Create a storage class for GKE

· Create a Persistent Volume using PVC

· GKE Pod With Persistent Volume

· Last lecture

Taught by

Shikhar Verma • 90k+ Students Worldwide

Reviews

4.3 rating at Udemy based on 123 ratings

Start your review of Google Kubernetes Engine(GKE) : The Practical Guide [GCP]

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.