Autoplay
Autocomplete
Previous Lesson
Complete and Continue
The Ultimate Kubernetes Bootcamp by School of Devops
Introduction to Kubernetes
The need for a Container Orchestration Engine (3:59)
Battles of COEs, which one to choose (3:41)
Key Features of a COE (3:38)
What makes Kubernetes the de facto COE choice (4:16)
Negatives of using Kubernetes (2:35)
Path to Automation with Kubernetes
Section Intro - Path to Automation with Kubernetes (0:35)
Namespaces (4:44)
Pods (8:10)
Replication Controller, Replica Sets and Deployments (10:37)
Service Discovery and Load Balancing (8:12)
Applying kubernetes primitives to your Application Stack (3:40)
Configmaps and , Storage, Network, RBAC etc. (5:35)
Daemonsets, Statefulsets, Crons and Jobs (5:57)
Kubernetes Architecture Run Down (6:48)
Building production grade Hight Available Kubernetes Cluster (6:10)
Setting up Environment
Section Intro- Setting up Environment (2:29)
Provisioning and configuring Digital Ocean Nodes (3:53)
Initialise Cluster with Kubeadm (6:38)
Setting up Weave CNI (4:15)
Launching Kubernetes Dashboard (5:10)
Setting up a kubernetes Visualizer (5:29)
Resetting cluster created with kubeadm (6:14)
Building Blocks – Pods
Section Intro - Pods (0:53)
Writing pod Specification (4:37)
Launching and Operating Pods (4:54)
Troubleshooting Pods Issues (5:14)
Attaching a volume to a Pod (7:18)
Launching Multi-Container Pods (3:39)
Connecting to Individual Containers (5:19)
Replication Controllers and Replica Sets
Section Intro - Replication Controllers (1:05)
Setting up namespace and switching context (4:10)
Writing Replica Set Specification (8:19)
Launching Replica Set and Fault Tolerance (4:24)
Service Discovery and Load Balancing
Section intro – Services (1:15)
Writing Service Specification (5:06)
Exposting services outside the Cluster (6:01)
Service Discovery (4:38)
Application Deployments and Updates
Section Intro – Deployments (1:21)
Writing Deployment Specification (4:38)
Rolling Out a Deployment (4:12)
Update and Rollback (4:34)
Rollbacks (4:49)
Solution part I - Deploying a worker App (4:44)
Solution part II - Deploying DB service (3:35)
Solutions part III - Results App (4:03)
Managing Application Configurations with ConfigMaps and Secrets
Section intro - Coonfigmaps and Secrets (1:39)
Creating Config Map for Vote app Options (5:56)
Setting up Environment Specific Configs (4:23)
Adding Configs from Files (4:13)
Creating Secrets to Encrypt Database Credentials (3:34)
Setting Environment vars using Secrets (4:03)
Persisting data and dynamic volumes provisioning
Section Intro- Persistent Volumes (1:24)
Setting up RBAC for NFS Provisioner (4:16)
Setting up NFS provisioner with Statefulset (4:16)
Creating storage class for NFS (2:01)
Claiming a persistent volume and mounting it (5:01)
Dynamically provisioning of persistent volumes (7:43)
Creating Release Strategies - Blue/Green, Canary
Section Intro- Release Strategies (0:42)
Defining Recreate as a Release Strategy (6:12)
Canary Releases (3:56)
Blue Green Deployments (7:12)
Pausing and fixing rollouts (3:02)
Dynamically scaling apps with Horizontal Pod Autoscaler
Section Intro HPA (1:22)
Setting up code monitoring with Metrics Server (5:18)
Defining Resource Requests and Limits (7:29)
Creating a Horizontal Pod Autoscaler (7:00)
Writing load test Job definition (5:50)
Laying a siege with loadtest jobs (7:32)
Autoscaling in action with HPA (8:33)
Application routing with Ingress Controllers
Section Intro Ingress (1:03)
Ingress Controllers and Ingress (6:20)
Choosing Traefik as a ingress controller and DaemonSet as a deployment type (7:07)
Creating DaemonSet for Traefik (11:28)
Writing Ingress definition for vote app with named based routing (7:30)
Testing ingress and accessing the application (5:53)
Annotations and setting up basic auth for vote app (7:44)
Setting up firewall with Network Policies
Creating default network policy for instavote namespace (7:22)
Exposing public facing apps and allowing inter namespace communication (7:54)
High Available Production Cluster setup with Kubespray
From dev to production with High Available kubernetes Cluster (1:56)
Introduction to Kubespray (2:34)
HA Design (3:15)
Preparing Nodes to setup Kubernetes (5:10)
Ansible control node and inventory setup (6:33)
Running ansible kubespray playbooks to configure etcd, master and nodes (7:27)
Adding a new node to cluster with kubespray (3:13)
Enabling additional kubernetes features with with Kubespray (3:45)
Understanding HA setup, mapping services to nodes (6:19)
Kubernetes configurations quick dive (7:42)
Configuring kubectl locally to conenct with multiple clusters (6:32)
Deploying instavote app on prod cluster (7:25)
Accessing kubernetes dashboard (3:29)
Access Control and RBAC Policies - Authentication and Authorization
Access Control with Kubernetes (6:20)
RBAC Concepts (10:23)
Defining Users, Groups and Authorizations (4:52)
Creating Users and Groups using x509 Certificates (7:10)
Setting credentials and contexts (6:49)
Creating Roles and RoleBindings for interns (12:37)
Binding to existing ClusterRole using ClusterRoleBinding for Ops (5:16)
Advanced Pod Scheduling
Using nodeName to bind a pod to a node (2:40)
Selecting node based on labels with nodeSelector (6:23)
Selecting nodes with nodeAffinity (11:04)
Using podAffinity and podAntiAffinity to ensure co locating applications (8:57)
Using taints and tolerations to make nodes unschedulable or run only specific app (6:18)
Using HELM to setup Monitoring with Prometheus and Grafana
Introduction to HELM (4:51)
Setting up helm with tiller and launching Prometheus (7:09)
Quick overview of helm Charts (8:22)
Launching WordPress with custom values (7:22)
Setting up Prometheus with custom storageclass and ingress rules (9:47)
Deploying grafana and integrating it with Prometheus (8:34)
The need for a Container Orchestration Engine
Introduction to Kubernetes: The need for a Container Orchestration Engine
Complete and Continue