Kubernetes Essentials

Course Overview

Our Kubernetes course offers both hands on and lecture, allowing students to gain a clear understanding of how Kubernetes works and how to properly deploy it though a study of best practices. Check out the outline and note the depth of material this course offers. When you complete this course, you will inderstand Kubernetes. Important linux skills necessary to perform effective CLI tasks are also taught. All hands-on labs are written to reinforce each lesson, making the concepts clearly understood.


Course Outline: Kubernetes Essentials

3 Days with Hands-on Labs


  1. Kubernetes Architecture – This section includes a poster of kubernetes components, plus typical day to day command examples.
    • Container review
      • docker
      • rkt
    • Pods
      • Deployment
      • StatefulSet
      • DaemonSet
    • Kubelet
    • Kube-proxy
    • Fluentd
    • Optional Add-ins
      • DNS
      • Ingress
      • Heapster
      • Dashboard
    • Nodes
      • Worker
      • Master
    • Kubernetes Master Node
      • API Server
      • Scheduler
      • Controller
    • etcd
    • UI API
    • CLI API
  2. How to deploy a three-node system
    • Kubeadm (We will use this in the actual labs)
    • Cluster Control plane
    • Node management (Drain, Cordon)
    • Review other ways to deploy kubernetes
      • Canonical LXD approach using juju
      • Minikube
      • Review Kelsey Hightower’s “Kubernetes The Hard way”
      • Tectonic
  1. Networking
    • Namespace, veth, bridge, ovs, bridge-internal
    • Docker model
    • Kubernetes model
    • Overview of popular networking plugins
      • Flannel
      • oVS
      • Calico
      • Weave
  1. Deploying your first App
    • “Just- enough” docker review
    • Explore kubectl
    • Create a pod
    • Create specific namespaces
    • Relevant Kubectl commands to deploy and expose a single app
    • Pod Placement
      • Scheduling
      • Node Selector
      • Affinity and Anti-Affinity
      • Taints and Tolerations
    • Using Labels and Selectors
    • Using canary
  2. Replica sets
    • Scaling
    • Autoscaling
    • Review relevant kubectl commands
  3. Rolling Update and Rollbacks
    • Update an Image
    • Deploy a rollout and rollback
    • Pause
    • In Place, Disruptive or nondestructive Updates
  4. Configuration Files and Specs
    • YAML and why it is preferred
    • JSON
    • How to write a pod yaml file
    • Introduction to other config files covered later in the class
  5. Storage
    • Define persistent volumes
    • Volume claims
    • Create secrets
    • Config map
    • Other clever possibilities
      • Host Path
      • Git Repo
      • Object storage
  1. Methods to configure applications and connect them to their data
    • ConfigMap
    • Secrets
    • Important config directories and files
    • CLI
    • Environment variables
    • Config volumes
  2. Jobs and Daemons
    • Running jobs in the cluster
    • Job specs
    • Reviewing job output
    • Running Daemons in the cluster
    • DaemonSets
  3. Stateful Applications
    • How they are used
    • StatefulSet manifest
    • Create StatefulSets
    • Scale StatefulSets
    • How to apply Storage to the StatefulSet
    • A StatefulSet example configuration
  4. Ingress
    • Ingress defined
    • Ingress controller resources
      • GCE
      • nginx
      • Comparing GCE and nginx
    • Single service ingress
    • Fanout ingress
    • Name based virtual hosting
    • TLS
    • Loadbalancing
  5. Resource Allocation and Quotas
    • Resource Requests
    • Resource Limits
    • Scheduling
    • Compute Quotas
    • Storage Quotas
    • Object Count Quotas
  6. Security
    • Authentication
    • Authorization
      • RBAC, ClusterRoles, RoleBindings , ClusterRoleBindings
      • ABAC, Webook
  1. Logging and Monitoring
    • Kubernetes
    • Applications
    • Node and Cluster
  2. Ceph
  • Overview
    • Storage Node - Ceph
    • Ceph Advantages
    • RADOS
    • Ceph Architecture
    • Building Ceph Storage Nodes
  • OSD
    • OSD (Object Storage Daemons)
    • Building Ceph Cluster for Geographic Disparity
    • Configuration to Prepare and Mount the Storage Devices to be Used with Ceph
    • Prepare and Mount the Storage Devices to be Used with Ceph
  • CRUSH
    • Introduction to the CRUSH Map
    • The Ceph Monitors
    • CRUSH Advantages over Other Forms of Data Mapping
    • CRUSH Rules
  • Replication
    • Data Storage and OSD Replication
    • Data Storage and OSD Replication
  • Durability
    • Handing OSD Failures or other Topography Changes
    • How to Recover from a Ceph SSH Configuration Error
    • Ceph - Troubleshooting the Logs
    • Crush Map from Ceph Lab
    • Storage Node Log: cat /var/log/ceph/cat ceph-osd.0.log
    • Ceph Log /var/log/ceph/ceph.audit.log
    • Ceph Log /var/log/ceph/ceph.audit.log
    • Watch Cluster Activity in Real-time with ceph -w
    • Erasure Coding Defined
  • Deployment on Kubernetes
    • Custom content when technology made available

Hands on labs:

  1. Build a 3-node kubernetes cluster (1 master, 2 workers)
  2. Deploy a networking plugin
  3. Verify a working environment
  4. Deploy an app
  5. Expose the app publicly
  6. Scale an app
  7. Update an app
  8. Configure redis using ConfigMap
  9. Trigger a rolling update
  10. Attach a volume to a pod
  11. Create an ingress controller and rules to reach specific clusterIP type service.
  12. Launch a DaemonSet
  13. Scheduling
  14. Design and deploy a stateless app using labels, services management, and health checking
  15. Design and deploy a statefull app using labels, services management, and health checking
  16. Configure changes to AppArmor
  17. Using helm
  18. Deploy networking using calico

Alta3 Research

Kubernetes Essentials


Duration: 3 Days (instructor-led)

Delivery: Onsite or Instructor-led Virtual

Onsite: Contact us for group quotes

Course Outline PDF: Download PDF

See Purchase Options