- Introduction to Kubernetes Microservices course
- Code for the course
- Support for Apple M1 users
Online
₹ 529 3,199
Quick facts
particular | details | |
---|---|---|
Medium of instructions
English
|
Mode of learning
Self study
|
Mode of Delivery
Video and Text Based
|
Course and certificate fees
Fees information
₹ 529 ₹3,199
certificate availability
Yes
certificate providing authority
Udemy
The syllabus
Introduction
Welcome to Kubernetes
- Introducing Kubernetes
- Hands-on Project
Installing Minikube for local Kubernetes Development
- Extra note for Linux Users
- If you already have Docker installed...
- Setting up Virtualization
- (Windows 10 Professional Only): Setting up Hyper-V
- Installing kubectl and minikube
- Troubleshooting minikube
(Optional) Docker Quickstart
- Docker Overview
- Docker Containers vs Images
- Attention Apple M1 Users!
- Running Containers from DockerHub
Kubernetes Pods
- Pods Overview
- Writing a Pod
- Running a Pod
Services in Kubernetes
- Important note for Docker Desktop and Driver Users
- Services
- NodePort and ClusterIP
- Pod Selection with Labels
Exercise: Deploy ActiveMQ as a Pod and Service to Kubernetes
- Exercise: Deploy ActiveMQ as a Pod and Service
Kubernetes ReplicaSets
- ReplicaSets
- Writing a ReplicaSet
- Applying a ReplicaSet to Kubernetes
Kubernetes Deployments
- Deployments Overview
- Managing Rollouts
Networking and Service Discovery
- Networking Overview in Kubernetes
- Namespaces - kube-system
- Note for M1 Architectures
- Accessing MySQL from a Pod
- Cygwin extra - fixing the terminal with winpty
- Service Discovery
- Fully Qualified Domain Names (FQDN)
Microservices Architecture
- WARNING - possible resource problems!
- An Introduction to Microservices
- Introduction to Microservices Part 2
- Fleetman Microservices - setting the scene
- Deploying the Queue
- Deploying the Position Simulator
- Inspecting Pod Logs
- Deploying the Position Tracker
- Deploying the API Gateway
- Deploying the Webapp
Kubernetes Persistence and Volume
- Persistence
- Upgrading to a Mongo Pod
- Mongo Service
- Expanding the Minikube VM
- Volume Mounts
- Volumes
- PersistentVolumeClaims
- StorageClasses and Binding
Running Kubernetes on the AWS Cloud
- Warning
- Getting started with AWS
- Managing a Cluster in the Cloud
- EKS vs Kops - Which to Choose?
- Pricing Differences - EKS vs Kops (prices correct mid 2020)
- Choose Your Own Adventure!
KOPS - Running Kubernetes on the AWS Cloud
- This Section is for Kops!
- Introducing Kops - Kubernetes Operations
- Installing the Kops Environment - 2021 Update
- Configuring your first cluster
- Running the Cluster
EKS - Running Kubernetes on the AWS Cloud
- This section is for EKS
- Getting started with EKS
- Install eksctl and AWS CLI
- Configure the AWS credentials
- Install kubectl
- Start the cluster
Operating your Cluster
- This section is for both EKS and Kops
- Provisioning SSD drives with a StorageClass
- Warning - problems with AWS LoadBalancers
- Note for Kops users
- Deploying the Fleetman Workload to Kubernetes
- Setting up a real Domain Name
- Surviving Node Failure
- Replicating Pods in Kubernetes
Deleting the Cluster in KOPS
- Deleting the Cluster
- Restarting the Cluster
Deleting the Cluster in EKS
- How to delete your EKS cluster
- One last cluster deletion step
Extra - How to Run Kubernetes in Google Cloud
- How to deploy to Google Cloud Platform
Logging a Kubernetes Cluster
- Introducing the ELK / ElasticStack
- Installing the Stack to Kubernetes
- Kibana - first look
- Setting Filters and Refreshes
- Demo: analysing a system failure
- Kibana Dashboards
Monitoring a Kubernetes Cluster with Prometheus and Grafana
- Monitoring a Cluster (2020 update)
- Installing the kube-prometheus-stack
- Use the "Classic UI" in the next video
- Using the Prometheus UI
- Introducing Grafana
- (optional) How to Use NodePorts on a Cluster
The Alert Manager
- Introducing Alerts - 2020 Update
- Preparing a Slack Channel
- Configuring the AlertManager
- Troubleshoot the alertmanager.yaml config
- Dealing with Firing Alerts
- The AlertManager UI and how to Silence Alerts
- How to handle the Watchdog
- Using PagerDuty
- Case Study
- Case Study: Troubleshooting a "Delinquent" node
(KOPS only) : What happens if the Master Node crashes?
- What happens if the Master Node crashes? (Kops clusters only!)
Going Further with Kubernetes
- Introduction to the "Advanced Section".
- Code / files for this section
Kubernetes Requests and Limits
- Memory requests
- CPU Requests
- Memory and CPU Limits
Metrics Profiling in Kubernetes
- Enabling the Metrics Server
- Viewing Metrics on the Dashboard
- Tuning Java Spring Boot Applications, Heap restriction
- Setting reasonable Requests
Horizontal Pod Autoscaling
- Update: you will need to modify the yaml file in the next video
- Introducing Replication and Autoscaling
- Testing Autoscaling
Readiness and Liveness Probes
- Demo: why readiness probes are needed
- Applying Liveness and Readiness Probes
Quality of Service and Eviction
- Understanding the scheduler
- QoS labels
- Evictions
- Pod Priorities
Kubernetes ConfigMaps and Secrets
- Creating a ConfigMap
- Consuming a ConfigMap as Environment Variables
- Do changes to a ConfigMap get propagated?
- How to consume multiple environments variables with envFrom
- Mounting ConfigMaps as Volumes
- Creating Secrets
- Using Secrets
- Where have we already used ConfigMaps and Secrets?
- (extra) Using Spring Cloud Kubernetes to Hot Reload ConfigMaps
Ingress Controllers
- Introducing Ingress
- Defining Routing Rules
- Adding Routes
- Authentication
- Running Ingress on AWS
- Testing the Ingress Rules
- (Extra) setting up HTTPS with TLS termination at the load balancer
Other Workload Types
- Batch Jobs
- Cron Jobs
- DaemonSets
- StatefulSets Overview
- StatefulSets for Database Replication
- Demo: Scaling out a Mongo Database
Continuous Deployment on a Kubernetes Cluster
- Introducing CI/CD
- Establishing a GitHub organization
- Setting up a Basic Jenkins System
- Defining a Pipeline
- Update - creating a Personal Access Token from Github
- Another minor update!
- Running a Multibranch Pipeline
- Reviewing Builds
- Organization Pipelines
- Continuous Deployment into a Cluster
Introducing Helm
- Getting Started with Helm
- How do I Install a Helm Chart
- How to Find Helm Charts
- Installing a Monitoring Stack with Helm
- Working with Chart Values
- Customising values.yaml
- Avoiding Snowflake Clusters!
- Using Helm Pull to Take Control of a Chart
- Generating yaml with "Helm Template"
- Why would you write your own Helm Charts?
- Writing Go Templates for Helm
- Helm Functions and Pipelines
- Flow Control in a Helm Template
- Named Templates
- Inspecting a Professional Helm Chart
Goodbye!
- Goodbye!
- Bonus Lecture