Self-Reflection On Kubernetes Training
💥 It was my pleasure to attend Kubernetes Training under the guidance of Mr. Vimal Daga sir. In the starting i don’t have any technological knowledge only have some basics of language, but when i joined Linux World , now i know lots of technologies. Being a part of Linux World and under the able guidance of Mr. Vimal Daga who was itself a privilege.
Thankyou so much sir . I love the way of your Teaching. You teaches in a way that even a beginner can learn and understand.
#vimaldaga #rightmentor #righteducation # worldrecordholder #linuxworld #Kubernetes
Topics i learnt throughout this journey
Introduction to Kubernetes
- Overview of Dockers and Containers
- What is Container Orchestration?
- What is Kubernetes
- Kubernetes Use Cases
Managing the Kubernetes Cluster
- Upgrading the Kubernetes Cluster
- ETCD
- Kube-API Server
- Controller Manager Scheduler
- kubelet
- Installation of kubelet in worker nodes in kubeadm method kube proxy
- PODs
- Pods creation using yaml file ReplicaSets
- ReplicaSet creation using yaml file Deployments
- Deployment creation using yaml file Services, Service Cluser IP
- Service creation using yaml file Job Scheduling Using Kubernetes Scheduler
Working with Namespaces and Pods
- Overview of Namespaces and creating Namespaces
- Introduction to Pods
- Pods Lifecycle
- Working with Pods to manage multiple containers
- Deploying Pods using kubectl run command.
Scheduling Pods
- Manual Scheduling
- Scheduling Pod using Binding Labels and Selectors
- Labels and Selectors in ReplicaSet Resource Requiments and Limits
- Multiple Scheduler
- Docker commands instead of kubectl commands in static POD Assisted Practice: Multiple Scheduler — Introduction
- Configure the POD with custom scheduler Assisted Practice: Create custom scheduler in Kubeadm Task Allocation Using Kubernetes Scheduler
Logging and Monitoring
- Monitor Cluster Components
- kubectl top commands
- Viewing logs in multicontainer POD Health Monitoring Using Kubernetes
Application Lifecycle Management
- Rolling Updates and Rollbacks
- Deployment rolling update with kubectl rollout (command) Assisted Practice: Deployment rolling update with editing the Deployment file Assisted Practice: Rollout status check
- Create a Pod with ‘echo host name’ commands Assisted Practice: Create a Pod with ‘sleep 3600’ arguments Configure Environmental variables n applications
- Create a Pod with environment of ‘sample environment’ Configuring ConfigMaps in Applications
- Create a configmap from the values with variable Assisted Practice: Create a configmap from file
- Create a configmap from env file
- Configure a configmap as a file in the POD Assisted Practice: Configure a configmap as a variable in the POD Assisted Practice: Configure a configmap as a volume in the POD Scale Applications
- Scale up and Down with kubectl command Multi-container PODs
- Create a multi container pod which access same volume Multi-container PODs Design Patterns
- InitContainers
- InitContainers Demonstration Self Healing Applications
CICD (Continues Integration and Continues Deployment)
Security and Authentication
- Kubernetes Security Primitives Authentication
- TLS
- Certificates API Kubeconfig
- Persistent key/value store API Groups
- Role Based Access Controls
- RBAC role creation Assisted Practice: Cluster Role Creation Cluster Roles and Role Bindings
- Associate the user with the role Assisted Practice: Associate the user with Cluster Role Image Security
- Secrets with private registry info stored Network Policy
- Create network policy
Managing Data in the Kubernetes Cluster
- Persistent Volumes
- Volume Access Modes
- Persistent Volume Claims
- Storage Objects
- Applications with Persistent Storage
Storage and Volumes
- Volumes
- Create a volume with Declarative (Yaml) Assisted Practice: Create a volume with Host path (Host Drive) Assisted Practice: Create a volume with Empty Dir (Auto deletion) Assisted Practice: Create a volume with nfs share
- Persistent Volumes
- Introduction to Persistent volume
- Create a persistent volume with declarative (yaml) Persistent Volume Claims
- Introduction to Persistent volume claims
- Create a persistent volume claims with declarative (yaml) Application Configuration
- Pod Creation with volumes
- Pod Creation with Persistent volume Claims Deploy Large scale Applications
DNS Networking, CoreDNS, and CNI
- Switching and Routing DNS
- CoreDNS
- CoreDNS — Installation and Configuration Network Namespaces
- Docker Networking
- Create Network namespaces CNI
- Cluster Networking CNI in Kubernetes
- Configuring CNI in kubelet.service CNI in weave
- Weaveworks — Intro IP Address Management — weave
- IPAM — Weave using DHCP or host-local Service Networking
- Cluster IP Assisted Practice: NodePort DNS in kubernetes CoreDNS in kubernetes
- Name resolution in svc in a single namespace Assisted Practice: Name resolution in svc in a different namespace Ingress
- CoreDNS Setup
- Ingress creation with 1 rule with multiple paths Load Balancer
Troubleshooting: Application Failures, Control Panel Failures, and Network Failures
- Application Failure — Check POD, Logs and Events Control Panel Failure
- Networking Failure
- Service connectivity check Assisted Practice: Nslookup check
- kube-proxy check and CNI plugin check Assisted Practice: Network failure check in above stuffs Debugging
Kubernetes Schedulings
- Overview of kube-scheduler
- Scheduling with kube-scheduler
- Scheduler Policies
- Horizontal Pod Autoscaling
- Affinity and Anti-Affinity
and many more …