DevOps Course Outline

  • Introduction
  • Differences between Windows, OS X, and Linux
  • Installation
  • File system
  • Linux Basic Commands
  • Shell scripting
  • Directory structure / permission
  • Storage / configuratio
  • Archiving and compression
  • System monitoring tools
  • Job scheduling
  • Services
  • Rpm / yum  
  • Version Control System
  • Git Introduction
  • Installation of Git
  • Configuration of Git
  • Local Repository
  • Initializing Git Repository
  • Git Basic Example
  • Git Tag
  • Git branch
  • Git Merge
  • Git  Stash
  • Git Revert
  • Git Diff
  • Git Clone
  • Securing Git using ssh-keys 
  • Git Reset
  • Git GC / Prune
  • Git Remote Repository
  • Git Logs
  • Git Command Alias
  • Introduction to Docker 
  • Install & Setup Docker on Linux 
  • Remove, Downgrade, Upgrade  
  • Storage & Logging driver 
  • Docker Registry  
  • Docker Images  
  • Docker  Containers
  • Docker Diagnose
  • Dockerfile
  • Docker Compose
  • Docker Compose & Swarm
  • Docker Stack
  • Swarm Backup and Restore (Manager)
  • Docker Networking
  • Docker Services
  • Docker Volume
  • Docker Jenkins
  • Docker Swarm vs Kubernetes 
  • Introduction
  • Download and Install Jenkins
  • Jenkins Configuration
  • Jenkins Plugins 
  • Security Management
  • Freestyle jobs
  • Integration of Jenkins with GIT 
  • Build Java Code
  • Building a Jenkins
  • Pipeline (CI/CD) 

Core Concepts

  • Cluster Architecture
  • Kubernetes API primitives
  • Services and other network primitives

Scheduling

  • Use label selectors to schedule Pods.
  • Understand the role of DaemonSets.
  • Understand how resource limits can affect Pod scheduling.
  • Understand how to run multiple schedulers and how to configure Pods to use them.
  • Manually schedule a pod without a scheduler.
  • Display scheduler events.
  • Know how to configure the Kubernetes scheduler.

Logging/Monitoring

  • Understand how to monitor all cluster components.
  • Understand how to monitor applications.
  • Manage cluster component logs.
  • Manage application logs.

Application Lifecycle Management

  • Understand Deployments and how to perform rolling updates and rollbacks.
  • Know various ways to configure applications.
  • Know how to scale applications.
  • Understand the primitives necessary to create a self-healing application.


Cluster Maintenance

  • Understand Kubernetes cluster upgrade process.
  • Facilitate operating system upgrades.
  • Implement backup and restore methodologies.

Security

  • Know how to configure authentication and authorization.
  • Understand Kubernetes security primitives.
  • Know to configure network policies
  • Create and manage TLS certificates for cluster components.
  • Work with images securely.
  • Define security contexts.
  • Secure persistent key value store.

Storage

  • Understand persistent volumes and know how to create them.
  • Understand access modes for volumes.
  • Understand persistent volume claims primitive.
  • Understand Kubernetes storage objects.
  • Know how to configure applications with persistent storage.

Networking

  • Understand the networking configuration on the cluster nodes.
  • Understand Pod networking concepts.
  • Understand service networking.
  • Deploy and configure network load balancer.
  • Know how to use Ingress rules.
  • Know how to configure and use the cluster DNS.
  • Understand CNI.

Installation, Configuration & Validation

  • Design a Kubernetes cluster.
  • Install Kubernetes masters and nodes.
  • Configure secure cluster communications.
  • Configure a Highly-Available Kubernetes cluster.
  • Know where to get the Kubernetes release binaries.
  • Provision underlying infrastructure to deploy a Kubernetes cluster.
  • Choose a network solution.
  • Choose your Kubernetes infrastructure configuration.
  • Run end-to-end tests on your cluster.
  • Analyse end-to-end tests results.
  • Run Node end-to-end tests.
  • Install and use kubeadm to install, configure, and manage Kubernetes clusters.

Troubleshooting

  • Troubleshoot application failure.
  • Troubleshoot control plane failure.
  • Troubleshoot worker node failure.
  • Troubleshoot networking.
  • About Ansible
  • How to Install Ansible
  • Configuring SSH and Sudo for Ansible
  • The Ansible Configuration File
  • Setting Up the Ansible Inventory
  • The Ansible Command
  • The Shell and Command Modules
  • Ansible course summary