Start Kubernetes for Beginners
Tags: kubernetes, devops, tutorial
Published: 2020-10-08 15:59:46

---
title: Start Kubernetes for Beginners
published: true
date: 2020-10-01 20:43:25 UTC
tags: kubernetes,devops,tutorial
canonical_url: https://learncloudnative.com/blog/2020-10-01-start-kubernetes/
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/lynsmv2lepbot4fhs8mn.png
---

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

## [<svg aria-hidden="true" focusable="false" height="16" version="1.1" viewbox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg>](#why-this-course)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](https://www.learncloudnative.com/blog/2020-05-26-getting-started-with-kubernetes-part-1/) 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](https://www.youtube.com/watch?v=B1_jgR3zuvA):

- 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](https://learncloudnative.com/static/34676741c6d38eaf8a59c5100910f9aa/914ae/startk8s-exercises.png "Start Kubernetes Exercises")](/static/34676741c6d38eaf8a59c5100910f9aa/c367c/startk8s-exercises.png)

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](https://learncloudnative.com/static/8b26d8ba4872af0e37a7895ded91abec/914ae/startk8s-mash.png "Start Kubernetes Exercises")](/static/8b26d8ba4872af0e37a7895ded91abec/2a08f/startk8s-mash.png)

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](https://dev-to-uploads.s3.amazonaws.com/i/lynsmv2lepbot4fhs8mn.png)](https://gumroad.com/l/kubernetes/y17xld5?utm_source=devto)