Kubernetes Deep Dive Course

This four-day Kubernetes training introduces students to both basic and advanced Kubernetes topics. You will learn how to deploy a Kubernetes cluster to Google Cloud Platform using kops, how to store configuration in ConfigMaps, as well as gain an understanding of internals behind cluster networking. The fourth day is a deep dive into Kubernetes internals including kubelet, API server, scheduling algorithm and networking.

Each student gets a free CKA/CKAD exam voucher after completing the training.

Why enroll

  • Gain an understanding of how Kubernetes handles container-based distributed workloads
  • Get practical skills required to spin up a Kubernetes cluster
  • Get the experience required to successfully operate and manage Kubernetes clusters

Who should attend

  • Architects, Operators and DevOps engineers seeking a deep understanding of how Kubernetes handles container-based distributed workloads
  • Architects, Operators and DevOps engineers seeking a deep understanding of how to spin up a Kubernetes cluster
  • Architects, Operators and DevOps engineers seeking a deep understanding of how to bootstrap and operate fault-tolerant Kubernetes clusters in production

Training program

1
DAY 1
see details
Introduction
  • Course overview
Containers [Theory]
  • Different ways of packaging software
  • Container benefits
  • Container implementation
  • Sample app architecture
Containers [Practice]
  • Use Dockerfile to package a sample app into a container
  • Run the app in a container
  • Expose ports
  • Mount Volumes
  • Connect from one container to another using DNS
  • Deploy a container using host and bridge mode, examine the difference
  • Upload the image to the Container Registry
Kubernetes Architecture [Theory]
  • Kubernetes components
  • Managed Kubernetes platforms
  • Infrastructure providers
  • Deployment automation
Kubernetes Architecture [Practice]
  • Deploy Kubernetes to GCP
Pods [Theory]
  • Pods
  • Pod Lifecycle
Pods [Practice]
  • Deploy the Sample App to Kubernetes
  • Deploy a pod using a custom image
  • Use exec to connect to deployed running container inside a pod
Services [Theory]
  • Service types
  • Proxy modes
  • Service discovery (ENV, DNS)
Services [Practice]
  • Connect Sample App components together using service
  • Use DNS service discovery
  • Use LoadBalancer service to expose the app
  • Implement blue-green deployment pattern using services
Secrets and ConfigMaps [Theory]
  • Use cases for Secrets and ConfigMaps
  • Different ways of mapping Secrets into containers
Secrets and ConfigMaps [Practice]
  • Modify the sample app to use Secrets and ConfigMaps to externalize application credentials and configuration
Sidecars and Init Containers [Theory]
  • Multi-container pod design
  • Use cases for using init containers
Sidecars and Init Containers [Practice]
  • Deploy init container that runs application DB migrations
  • Deploy a simple sidecar container, examine how networking works between containers in a pod
Affinity and Anti-affinity [Theory]
  • When to use pod/node affinity/anti-affinity
  • Kubernetes scheduler and how it uses affinity settings
Affinity and Anti-affinity [Practice]
  • Configure node/pod affinity and anti-affinity to configure how Kubernetes schedules containers
Pod limits [Theory]
  • Difference between requests and limits pod settings
  • Limit types
  • The default behavior when limits and requests are unset
Pod limits [Practice]
  • Verify how high resource usage by a single pod can affect the whole node
  • Set limits to enforce resource limitation
  • Verify that limits are applied
2
DAY 2
see details
Deployments [Theory]
  • Deployments and ReplicaSets
  • Deployment rolling updates behavior
Deployments [Practice]
  • Redeploy sample app using the deployment object
  • Scale the deployment
  • Update and rollout the deployment
  • View deployment history
  • Rollback the deployment
  • Configure deployment rollover parameters
Health Checks [Theory]
  • Difference between liveness and readiness probes
  • Health Checks types (exec, TCP, HTTP)
Health Checks [Practice]
  • Define a custom liveness probe
  • Define a custom readiness probe
  • Test that the probes are working
  • Experiment with probe types
Autoscaling [Theory]
  • How pod autoscaling works
  • Horizontal vs vertical autoscaling
Autoscaling [Practice]
  • Define horizontal autoscaler to the sample app
  • Test the autoscaler
Jobs [Theory]
  • Jobs use cases
  • Difference between Jobs and CronJobs
Jobs [Practice]
  • Create a CronJob to automate sample app database backup
Volumes and Data [Theory]
  • Persistency in kubernetes
  • PersistentVolumes and PersistentVolumeClaims
  • Storage Classes
Volumes and Data [Practice]
  • Use a Persistent Volume to Store sample app data
  • Convert the volume to PersistentVolumeClaim
  • Create and test a STorage Class
Managing clustered stateful applications [Theory]
  • StatefullSet (use cases and difference from Deployments)
  • Using Headless Services in combination with StatefullSets
  • Using ReadinesProbes in a combination with StatefullSets
Managing clustered stateful applications [Practice]
  • Prepare MySQL Galera cluster docker image
  • Prepare headless service needed to perform service discovery during cluster bootstrap
  • Deploy Galera cluster as a StatefullSet
Ingress [Theory]
  • Ingress vs LoadBalancer services
  • Types of Ingress (GCP LB, nginx, etc)
  • Configuring ingress
  • Ingress in on-prem installations
Ingress [Practice]
  • Serve app traffic from the Ingress instead of LoadBalancer service
  • Use static IP with Ingress
  • Specify app domain
  • Add SSL support
3
DAY 3
see details
Helm [Theory]
  • Helm architecture
  • How to secure Helm
Helm [Practice]
  • Use Helm to deploy a sample service
  • Write a sample Helm chart
Logging [Theory]
  • Logging architecture in Kubernetes
  • Logging patterns (sidecar, node agent, etc)
  • ELK architecture
  • ELK authentication and authorization
Logging [Practice]
  • Use helm to deploy ELK
  • Reverse engineer ELK helm chart
  • Deploy custom ELK based on the manifests from the helm chart
  • Access cluster components logs
  • Access application logs
  • Use filters in kibana, setup custom dashboards
Monitoring [Theory]
  • Monitoring architecture
  • Metric sources (container metrics, API metrics, etc)
  • Prometheus architecture
Monitoring [Practice]
  • Use helm to deploy Prometheus
  • Reverse engineer Prometheus deployment
  • Deploy custom Prometheus based on the manifests from the helm chart
  • Check default dashboards in grafana
  • Create a custom dashboard
  • Use Prometheus UI to run queries
  • Use AlertManager to setup custom alert
CI/CD [Theory]
  • Building CI/CD pipelines with Kubernetes
  • Deployment patterns (Canary, blue-green deployments)
  • Using Jenkins with Kubernetes
CI/CD [Practice]
  • Deploy Jenkins
  • Create pipeline to build the sample app
  • Add deployment stage
  • Add test stage
  • Use canary deployments with Jenkins
  • Deploy in different environments (dev, test)
  • Rollback the deployment
4
DAY 4
see details
Managing Kubernetes cluster [Theory]
  • Kubernete installers (kubeadm, kops, kubespray)
  • Using managed Kubernetes
  • Cluster updates and upgrades
  • Isolating nodes with different characteristics (node pools)
Managing Kubernetes cluster [Practice]
  • Use gcloud cli to deploy and upgrade a managed kubernetes cluster
  • Use kops to deploy and upgrade a cluster
  • Use terraform to initialize infrastructure for kubespray
  • Use kubespray to deploy and upgrade a cluster
  • Verify that all clusters are working
Authentication in Kubernetes [Theory]
  • User, groups and service accounts
  • Authentication strategies (Client Certs, Bearer tokens, Authenticating Proxy, etc)
  • OAuth2 and OpenID Connect
Authentication in Kubernetes [Practice]
  • Examine ClientCert workflow: Create a user by signing generating a cert and signing it with cluster CA
  • Examine the Bearer Tokens workflow: use service account tokens
  • Reconfigure API server to use OpenID Connect
Namespaces and RBAC (Authorization in Kubernetes) [Theory]
  • Role and ClusterRole
  • Binding roles
Namespaces and RBAC (Authorization in Kubernetes) [Practice]
  • Create and configure namespaces
  • Create and assign Roles and ClusterRoles
  • Check that roles are enforced
  • Apply namespace resource limits
Istio [Theory]
  • Istio use cases and features
  • Istio architecture
Istio [Practice]
  • Install and configure Istio
  • Deploy the sample app with an istio sidecar
  • Use Istio monitoring and tracing
  • Setup Route Rules and Virtual Services
  • Use Request Routing
  • Use Fault Injection
  • Use Traffic Mirroring
  • Use Circuit Breaking
  • Controll ingress traffic [Using Istio Ingress]
  • Use Traffic Shifting
  • Use Rate-limiting with Memorystore and Redis
?
POST-TRAINING SUPPORT
see details
One-time free online consultation with the trainer after the course.
  • Students can use it to ask questions if any left or discuss issues that might arise while implementing Kubernetes to real-life projects.
checked
Prerequisites
See details

Altoros recommends that all students have a laptop with:

  • An SSH terminal client (like SSH or Putty)
  • A tool to transfer files over SSH (like scp)
  • A web browser (Chrome/Firefox)
  • Access to Google Cloud Platform and Google Cloud Console
  • Internet connection (outgoing connections on TCP ports 22, 80, 8080, and 443)
See all
Maximize your team's talent with customized hands-on training

Select classroom training close to you

Showing classroom training courses {{ filterTickets.length }} of {{ tickets.length }}
Show All Courses
{{ ticket.title }}
{{ ticket.country }}
{{ ticket.city }}

{{ ticket.date }}

{{ ticket.tickets_sold }} out of 10 sold

PASSED
SOLD OUT
Buy ticket
PAST EVENT

Our customers

Here is what our customers say about us
"This program is really good and gives a deep understanding of Kubernetes.Christian (the trainer) was very friendly and helpful"
"Ryan was very knowledagle & made the training interesting. He focuses on enabling us to actually use the technology in the field with practical examples, highlighting common problems & solutions to the same"
"It was great to interact face to face with instructor and ask questions, the training was very intensive and hands-on"
"Training was fantastic. Everything was great and the trainers were great guys"
What was the biggest value of the course?
Definitely understanding the basics of Kubernetes, and doing some troubleshooting of problems
What was the biggest value of the course?
Lots of hands-on exercises and adding additional topics as we asked before
"The format is great, training customization content is appreciated too. The trainer was accommodative and adaptive, he was good at going around and helping everyone to work through exercise"
nike logo
pivotal logo
roche logo
toyota logo
siemens logo
imb logo

What trainees say about Altoros courses

video play
Kubernetes Deep Dive Training in San Jose
video play
Kubernetes Deep Dive Training in San Jose
video play
Kubernetes Deep Dive Training, Washington DC
video play
Kubernetes Deep Dive Training, Washington DC
video play
Cloud Foundry for DevOps Training
video play
Cloud Foundry Training at Cloud Foundry Summit, 2017
video play
Kubernetes Deep Dive Training, Los Angeles
Get updates on upcoming events and new courses, discounts and special offers
Email*

Frequently asked questions

Did not find the answer to your question? Drop us a line at training@altoros.com

Will I get a certificate after completion?
See details

Yes! Once you have completed our training, you will be issued a certificate that you can print or add to your LinkedIn profile for others to see.

Note: the certificate does not represent official academic credit.

What are the available payment options?
See details

We accept all major credit cards including Visa, American Express, MasterCard, Discovery, and more. You can pay by credit card, bank transfer, PayPal or check.

If you would like to get an invoice for your company to pay for this training, please email to training@altoros.com and provide us with the following info:

  • Name of your Company/Division which you would like to be invoiced;
  • Name of the person the invoice should be addressed to;
  • Billing Address
  • Purchase order # to put on the invoice (if required by your company)
Do you offer discounts?
See details

Yes, we offer discounts of up to 20% off for early birds who register for the training in advance. Each discount type has a limited number of seats and all of our discounts are available in limited quantities. Once we sell all of our discounted seats, we move to full price.

Do you offer group discounts?
See details

Yes, we also offer a discount for groups of 3 or more people who register together

What size are the groups?
See details

The standard group size is 7-10 people. Small class sizes provide students unparalleled access to instructors. This way each student can have enough attention and assistance from the instructor.

Note: The class is contingent upon having 7 attendees. If there aren’t enough students, we will offer you to attend the class in a different location or make a full refund. That is also the reason why we ask not to buy flight tickets before the class is confirmed.

I need to travel to participate in training. Do you help with visa?
See details

We do not participate in the process of application for visa. However, we can provide a confirmation that you have registered for our class and bought a ticket for it. This should support your visa application.

If your application is declined, we will refund the ticket, except for a small administrative fee.

What services do you offer after the training?
See details

Advanced training options or classes on different domain to widen your expertise and technical skill set (Kubernetes, Cloud Foundry, Microservices).

Why should I trust Altoros Training?
See details

We have 17 years of experience in the delivery of various projects with wide range of technologies

Our trainers are first of all engineers and developers who build Kubernetes solutions for our clients on daily basis

We’ve already trained 500+ people all over the world

Resources

Contact us

Alexandra Mironova

Alexandra Mironova

Training Coordinator

Headquarters

location icon830 Stewart Dr., Suite 119Sunnyvale, CA 94085
First Name*
Last Name*
Email*
Your Message (optional)