Kubernetes Tutorial for Beginners

Full Kubernetes Tutorial | Kubernetes Course | Hands-on course with a lot of demos

Kubernetes COURSE OVERVIEW

What is Kubernetes 

â–º What problems does Kubernetes solve?

â–º What features do container orchestration tools offer?

Main K8s Components

â–º Node & Pod

â–º Service & Ingress

â–º ConfigMap & Secret

â–º Volumes

â–º Deployment & StatefulSet

K8s Architecture

â–º Worker Nodes

â–º Master Nodes

â–º Api Server

â–º Scheduler

â–º Controller Manager

► etcd – the cluster brain

Minikube and kubectl – Local Setup

â–º What is minikube?

â–º What is kubectl?

â–º install minikube and kubectl

â–º create and start a minikube cluster

🔗 Links: – Install Minikube (Mac, Linux and Windows): https://bit.ly/38bLcJy – Install Kubectl: https://bit.ly/32bSI2Z – Gitlab: If you are using Mac, you can follow along the commands. I listed them all here: https://bit.ly/3oZzuHY

Main Kubectl Commands – K8s CLI

â–º Get status of different components

â–º create a pod/deployment

â–º layers of abstraction

â–º change the pod/deployment

â–º debugging pods

â–º delete pod/deployment

â–º CRUD by applying configuration file

🔗 Links: – Git repo link of all the commands: https://bit.ly/3oZzuHY

K8s YAML Configuration File

â–º 3 parts of a Kubernetes config file (metadata, specification, status)

â–º format of configuration file

â–º blueprint for pods (template)

â–º connecting services to deployments and pods (label & selector & port)

â–º demo

🔗 Links: – Git repo link: https://bit.ly/2JBVyIk

Demo Project

â–º Deploying MongoDB and Mongo Express

â–º MongoDB Pod

â–º Secret

â–º MongoDB Internal Service

â–º Deployment Service and Config Map

â–º Mongo Express External Service

🔗 Links: – Git repo link: https://bit.ly/3jY6lJp

Organizing your components with K8s Namespaces

â–º What is a Namespace?

â–º 4 Default Namespaces

â–º Create a Namespace

â–º Why to use Namespaces? 4 Use Cases

â–º Characteristics of Namespaces

â–º Create Components in Namespaces

â–º Change Active Namespace

🔗 Links: – Install Kubectx: https://github.com/ahmetb/kubectx#ins…

K8s Ingress explained

â–º What is Ingress? External Service vs. Ingress

â–º Example YAML Config Files for External Service and Ingress

â–º Internal Service Configuration for Ingress

â–º How to configure Ingress in your cluster?

â–º What is Ingress Controller?

â–º Environment on which your cluster is running (Cloud provider or bare metal)

â–º Demo: Configure Ingress in Minikube

â–º Ingress Default Backend

â–º Routing Use Cases

â–º Configuring TLS Certificate

🔗 Links: – Git Repo:

https://bit.ly/3mJHVFc

– Ingress Controllers:

https://bit.ly/32dfHe3

– Ingress Controller Bare Metal: https://bit.ly/3kYdmLB He

lm – Package Manager

â–º Package Manager and Helm Charts

â–º Templating Engine

â–º Use Cases for Helm

â–º Helm Chart Structure

â–º Values injection into template files

â–º Release Management / Tiller (Helm Version 2!)

🔗 Links: – Helm hub: https://hub.helm.sh/ – Helm charts GitHub Project: https://github.com/helm/charts

– Install Helm:

https://helm.sh/docs/intro/install/

Persisting Data in K8s with Volumes

â–º The need for persistent storage & storage requirements

â–º Persistent Volume (PV)

â–º Local vs Remote Volume Types

â–º Who creates the PV and when?

â–º Persistent Volume Claim (PVC)

â–º Levels of volume abstractions

â–º ConfigMap and Secret as volume types

â–º Storage Class (SC)

🔗 Links:

– Git Repo: https://bit.ly/2Gv3eLi

Deploying Stateful Apps with StatefulSet

â–ºWhat is StatefulSet? Difference of stateless and stateful applications

â–º Deployment of stateful and stateless apps

â–º Deployment vs StatefulSet

â–º Pod Identity

â–º Scaling database applications: Master and Worker Pods

â–º Pod state, Pod Identifier

â–º 2 Pod endpoints

K8s Services

â–º What is a Service in K8s and when we need it?

â–º ClusterIP Services

â–º Service Communication

â–º Multi-Port Services

â–º Headless Services

â–º NodePort Services

â–º LoadBalancer Services

KUBERNETES TUTORIAL T I M E S T A M P S

0:00 – Course Overview

2:18 – What is K8s

5:20 – Main K8s Components

22:29 – K8s Architecture

34:47 – Minikube and kubectl – Local Setup

44:52 – Main Kubectl Commands – K8s CLI

1:02:03 – K8s YAML Configuration File

1:16:16 – Demo Project: MongoDB and MongoExpress

1:46:16 – Organizing your components with K8s Namespaces

2:01:52 – K8s Ingress explained

2:24:17 – Helm – Package Manager

2:38:07 – Persisting Data in K8s with Volumes

2:58:38 – Deploying Stateful Apps with StatefulSet

3:13:43 – K8s Services explained

Leave a Reply

Your email address will not be published. Required fields are marked *