Blog
December 28, 2017 by Kubernetes Training, Training

Kubernetes Deep Dive

Day 1

 

Module Theory Practice Duration
Introduction
  • Instructors
  • Students
  • Useful links for the course
  • Agenda
  • Schedule
  • The methodology of the training
1 hour
Containers
  • Create Docker image
  • Start Docker container
  • Mount volume inside the container
  • Change network to host
1 hour
Kubernetes Basics
  • What is kubernetes?
  • CNCF
  • Benefits
  • Comparison with other products
1 hour
Kubernetes Architecture
  • Managed k8s platforms
  • Infrastructure providers
  • Kubernetes components
  • Deploy Kubernetes to GCP using kops
1.5 hour
Pods
  • Pods
  • Multi-container Pod Design
  • Pod Lifecycle
  • Launch a pod using the container image
  • Launch a pod using the configuration file
  • Deploy a pod from the custom image (optional)
  • Limit pod resources (optional)
1.5 hour
Health Checks
  • Health Checks
  • Deploy a pod with a health check
  • Use readiness probe
  • Create health check for nginx pod
  • Create health check using TCP sockets
1 hour

Day 2

 

Module Theory Practice Duration
Labels and selectors
  • Labels and selectors
  • Labels in pods
  • Using Selectors
0.5 hour
Deployments
  • Deployment use cases
  • Updating deployments
  • Rolling back a deployment
  • Create a deployment
  • Observe how kubernetes restarts containers
1.5 hour
Services
  • Service without selectors
  • Types
  • Proxy modes
  • Service discovery
  • Deploying PHP Guestbook application with Redis
  • Investigate source code of the sample (optional)
  • Manually connect to redis from app pod (optional)
  • Blue green deployment (optional)
1.5 hour
Secrets and ConfigMaps
  • Store configuration
  • Store sensitive information
  • Storing secrets in k8s
  • Access secrets from environment variables (optional)
  • Use config maps (optional)
1 hour
Managing state with deployments
  • StatefulSet use cases
  • StatefulSet Limitations
  • Deploying Cassandra with Stateful Sets
  • Scale (optional)
1 hour

Day 3

Module Theory Practice Duration
Namespaces and RBAC
  • Isolate cluster resources
  • Role and ClusterRole
  • Binding roles
  • User, groups and service accounts
  • API Objects
  • Use namespaces
  • Use RBAC
  • Namespace resource limits (optional)
  • Assign the default view cluster role to a user and try to deploy a pod (optional)
1.5 hour
Helm
  • How to secure Helm
  • What is Helm
  • Use helm to deploy prometheus
1 hour
Volumes and data
  • Persistent volume
  • Persistent volume claim
  • Volume lifecycle
  • Volume types
  • Access modes
  • Storage class
  • Deploying WordPress and MySQL with Persistent Volumes
  • Static persistent volume provisioning (optional)
  • Observe how persistent volume is reattached (optional)
1.5 hour
Security
  • Securing your cluster
  • API Authentication
  • API Authorisation
  • Admission Control
  • API Access
  • Pod Security Policy (PSP)
  • Network Policy
  • Security Contexts
  • Securing Docker Images
0.5 hour
Networking
  • Cluster networking
  • Container Networking Interface (CNI)
  • Plugin comparison
  • Network policies
  • Cluster DNS
  • External load balancers
  • Service networking internals
  • Pod iptables rules
  • Service iptables rules
  • Installing Kubernetes Addons
  • Track iptables changes while re-deploying the service
1 hour
Ingress
  • Ingress controllers
  • Single services ingress
  • Simple fanout ingress
  • Name-based virtual hosting ingress
  • TLS termination
  • Deploy sample app using ingress
  • Specify app host (optional)
  • Use TLS (optional)
1 hour

Day 4

Module Theory Practice Duration
Kubernetes Architecture Deep Dive
  • Kubelet
  • Cluster initialization
  • Static pods
  • API Server
  • Scheduling algorithm
  • Using custom schedulers
  • Investigate kubelet
  • Run a static pod (optional)
  • Manually access kubernetes API
  • Deploy a pod using API (optional)
4 hours
Manage infrastructure using terraform
  • Terraform
  • Terraform + kops
  • Manually deploy new cluster using terraform
  • Advanced cluster troubleshooting (optional)
3 hours

Day 5 (Available only for Private Classes)

Module Theory Practice Duration
Federations
  • Manage multiple k8s clusters
  • Create federated cluster
  • Deploy a multi cloud application
1 hour
Logging
  • Node-level logging
  • Sidecar log streaming
  • Sidecar with a logging agent
  • System components logs
  • ELK log flow
  • How to parse logs
  • Grok filters
  • Installing the Kubernetes elasticsearch logging add-on
  • Setup a Kibana Dashboard for Kube-System (optional)
1 hour
Monitoring
  • General architecture
  • cAdvisor
  • InfluxDB + Grafana
  • Deploy a new application and configure for monitoring
  • Alerting (optional)
1 hour
CI/CD
  • Tools
  • Kubernetes resource definition
  • CI/CD pipeline structure
1 hour
Custom Resource Definitions
  •  Custom Resource Definitions
0.5 hour
Cluster upgrades and customizations
  • Cluster upgrades with kops
  • Addons
  • Installing the Kubernetes Dashboard Addon
  • Using kops to change the cluster configuration
  • Deploy a Highly Available Cluster (optional)
  • Add Heapster metrics to the Kubernetes Dashboard (optional)
1.5 hour

© 2001–2019 Altoros