loading...
Cover image for Start Kubernetes for Beginners

Start Kubernetes for Beginners

peterj profile image Peter Jausovec Originally published at learncloudnative.com on ・4 min read

I am excited to announce my latest course on Kubernetes called Start Kubernetes.

Why this course?

I have started working with Kubernetes years ago, and I remember the confusion when I heard about Pods and Services and how things work in Kubernetes. I've been using Marathon/Mesos at that point, so the concepts were a bit familiar, but still foreign. I noticed I was able to grasp the concepts quicker through practical exercises and examples.

Talking about complexity, even today, if you want to deploy and run an application inside Kubernetes, you have to:

  1. Create a Deployment representing your application
  2. Design the Pods, set the resource limits, requests, and security settings
  3. Create a Service, so that you can access the application
  4. Define any Configuration and Secrets your application will use
  5. Configure or reconfigure Ingress

That's on top of being familiar with how Pods, Deployments, Services, Ingress, and other Kubernetes resources work. Of course, there are other knobs and buttons you can turn and push to fine-tune each one of these resources. No one can deny there is a lot of complexity and new terminology.

I have created this course to try, and flatten the learning curve of Kubernetes , explaining the individual concepts and resources, show how everything fits together, and then bring it together with practical examples.

Course overview

There are three parts to the course: the e-book, the video course, and the practical exercises/labs.

The book

This whole course started as a long Kubernetes article and it ended up as a 230+ page book where I cover the following topics:

  • Kubernetes Resources

An overview of Pods, ReplicaSets, Deployments, Services, Ingress, Namespaces, Jobs, CronJobs, and things like labels, selectors, and annotations

  • Configuration

How to configure your Kubernetes applications with ConfigMaps and how to store and use Secrets

  • Stateful Workloads

Introduction to Volumes, Persistent Volumes, and Persistent Volume Claims, and how to run stateful workloads in Kubernetes using StatefulSets

  • Organizing Containers

Init, sidecar, ambassador, and adapter container patterns with practical examples

  • Application Health

Explanation of liveness, startup, and readiness probes

  • Security in Kubernetes

Services accounts, using RBAC, security contexts, and Pod security policies

  • Scaling and Resources

Autoscaling Pods using HorizontalPodAutoscaler, defining resource requests and limits; using affinity, taints, and tolerations

  • Extending Kubernetes

Using custom resource definitions (CRDs), implementing controllers/operators

Videos

I enjoy writing, but I also enjoy making videos, so I decided to turn the book into the video course. If you're a visual learner as I am, you will enjoy this. I have recorded 23 videos that walk you through different Kubernetes topics, starting with basic resources, such as Pods and Deployments, and role-based access control and creating your own custom resources and controllers.

The full list of videos is below. You can also check out the first four videos on my YouTube channel:

  • About Pods (3:37)
  • Creating Pods (5:16)
  • About ReplicaSets (2:38)
  • Creating ReplicaSets (12:20)
  • Deployments (10:32)
  • Deployment Strategies (11:03)
  • Services (17:35)
  • Service Types (9:20)
  • About Ingress (3:13)
  • Creating Ingress (18:30)
  • Jobs (9:38)
  • CronJob (6:11)
  • About Configuration (2:10)
  • ConfigMaps (17:23)
  • Secrets (10:15)
  • Volumes (6:24)
  • About PV and PVC (2:30)
  • Creating PV and PVC (6:40)
  • Running MongoDB with StatefulSet (9:26)
  • Service Accounts (10:07)
  • Role-Based Access Control (RBAC) (9:56)
  • Resource Requests, Limits, and Quotas (13:42)
  • CRDs and Controllers (18:21)

Practical exercises

Reading and watching can become tedious, so I have created 41 practical exercises. You will install the Start Kubernetes Labs on your Kubernetes cluster, and go through the exercises from your browser.

Start Kubernetes Exercises

I have grouped tasks/exercises into seven categories, and each category has from 3 to 10 tasks. Tasks have a detailed description of what needs to be solved, and you can use the built-in terminal on the webpage to solve the exercises. From the terminal, you have access to the Kubernetes cluster via the CLI.

Start Kubernetes

You can solve the exercises in order, or jump from one to another - however you feel most comfortable learning. There's no timers, scores, or leaderboards. If you're still stuck, you can hop on the Slack channel, explain the issue you're running into, and we will solve it together. The point of these exercises is to learn and get better at Kubernetes.

How to get it

Discussion

pic
Editor guide