Table of Contents
Overview
This is a recommended list of reading material and labs for users who are new to Kubernetes.
The sections are laid out in a defined order, but they can be considered optional based on the users current level of knowledge. The idea is to start where you feel is right based on what you know and what you would like to learn.
Time estimates are included where they are known to give you idea of what to expect before starting the content.
Warning
This document is still a work-in-progress and will continue to evolve with your help. You’re contributions are welcome!
Info
An OUTCOMES box is provided within each section to give you an idea about what you should understand before moving on. If you have completed the content provided but still feel you haven’t achieved the outcome, then please help by finding additional content and submit a pull request.
Pre-requisites
The material throughout assumes the reader already has an understanding of Linux and the command line.
If you’re coming from a Windows background and looking for a decent introduction to Linux, you might want to check out this free course from edX in your own time.
Introduction to Linux (14 weeks)
Containers
Containers Theory
- Know what a
containeractually is. - Know what
cgroupsare. - Know what
namespacesare. - Know what a
container runtimeis and common implementations.
Before you can begin learning and using Kubernetes, you need to first understand containers.
VMware Kubeacademy provides an introductory Containers 101 course to get you started.
Kubernetes interfaces with containers through a container runtime interface, known as ‘CRI’ which will be covered in the Kubernetes sections further below.
There are many options when selecting a container runtime. Each one comes with it’s own pros and cons based on the underlying architecture choices. For a relatively current summary of the main players, check out this comparison document from capital one .
And if you’re specifically looking for resources on Red Hat’s podman;
Now that you have read about container runtimes, this visual might be of use to see how they interact with the Linux kernel.
Containers Practical
- Know what a
Dockerfileis and how to create one. - Know how to build and tag an
OCI imagewith at least one tool such asdockerorpodman. - Know how to
runandexecinto containers and capture logs for troubleshooting. - Know what a
Container Registryis and how to push and pull images.
So now you know what a container is, how do you create one?
If you haven’t already created a container whilst following along in the previous section, now is the time to try it out.
There are a number of tutorials available in this space, with some examples below. If the links are dead or you find better ones, please submit a pull request.
- Complete a general course on container runtimes.
- For
Dockerspecifically, perform some container inception withDocker-In-Docker
- For Red Hat environments, ensure you know the
Podman/Buildah/Skopeotoolchain.
And for the more adventurous, ensure you create a container directly using runc to see what’s really under the hood. 😲
Cloud Native
Cloud Native Theory
- Know what Cloud Infrastructure is
- Know what Cloud Native is and how it is different from Cloud Infrastructure
- Know what it takes to become a Cloud Native Engineer
Although learning Cloud Infrastructure is outside the scope of this getting started with Kubernetes material you should have an idea of;
- Cloud vs Cloud Native
- Cloud Native Concepts
- VMware also has a course available to answer frequently asked questions.
Cloud Native Practical
- Know how to use the environment where you are deploying Kubernetes to.
There is no prescribed journey to learning about Cloud Infrastructure, this is entirely dependant on the vendor selected and their technology stack.
Kubernetes is Cloud Agnostic, meaning you can run it on any Public, Private or Hybrid Cloud. Each provider has it’s own set of tools and techniques to get you started.
The only expectation is that you need to know about the environment where you are deploying Kubernetes to.
Some examples of vendor specific training resources can be found in the following links.
- AWS Training
- Azure Training
- Google Cloud Training
- IBM Cloud
- OpenStack Training
- VMware Training
- A Cloud Guru
You might also want to check out what it takes to be a Cloud Native Engineer, particularly as the industry continues to move towards that dream of a Cloud Agnostic future.
Cloud Native Engineer (♾ infinity hrs)
If none of the above makes sense, or you are completely new to the use of cloud technologies, you might want to check out this free introductory course from edX .
Kubernetes
Kubernetes Theory
- Know what Kubernetes is
- Know why Kubernetes is useful
- Know some of the history to understand why Kubernetes has become the defacto standard.
- Know the difference between declarative and imperative.
- Know what 12 Factor Applications are.
- Know what Promise Theory is.
- Know what Graph Theory is.
- Know what Control Loops are.
What is it?
So what exactly is Kubernetes and why do we want it?
- The business case for Kubernetes.
History
Where did Kubernetes come from?
- The Kubernetes Documentary
What does it do?
If you’re after a quick run through on what the components are and common scenarios, Microsoft has the following videos available on the link below.
- How Kubernetes works light board video (6min)
- Common Kubernetes scenarios (4min)
Concepts
Kubernetes uses a number of concepts which might be foreign if you haven’t seem them before.
If you’re completely new to Kubernetes, you might want to check out the following resources.
- A summary of Graph Theory concepts.
- A summary of Promise Theory concepts.
- A summary of 12 Factor Applications
Demos
Some of the more interesting demos from around the web to give you an idea of some of the capabilities.
- Kubernetes for Sysadmins
- GitOps with Kubernetes
- “Hashinetes”
- Building Cloud-native applications with Kubernetes and Istio
Courses
There are a number of courses available on the VMware KubeAcademy website arranged here by difficulty level.
Beginner courses
- An introduction to Kubernetes for Virtual Infrastructure Administrators.
- Start to navigate the Cloud Native ecosystem.
- Kubernetes 101
- Kubernetes Architecture in depth
- Kubernetes Platform Security
Intermediate courses
- Operational considerations for Virtual Infrastructure administrators.
Advanced courses
- Networking in Kubernetes
- The Kubernetes Machine (Component Deep dive)
- Cluster API
- Introduction to Operators
More courses
If you’re still hungry for more, there is a self-paced introduction workshop from edX you can complete.
Certification
If you’re keen to get some certifications under your belt, the Cloud Native Computing Foundation offers the following industry standard certifications;
- Certified Kubernetes Application Developer (CKAD)
- Certified Kubernetes Administrator (CKA)
- Certified Kubernetes Security Specialist (CKS)
Kubernetes Practical
- Be able to pass the Certified Kubernetes Application Developer (CKAD) exam
- Be able to pass the Certified Kubernetes Administrator (CKA) exam
Ok, so now you know what it is, how do you learn how to use it?
VMware has published relevant Labs for free on KubeAcademy .
These are a mix of theory and hands on labs rolled into each course.
Beginner
- Setup your Developer Workstation
- Learn how to create a container and deploy to Kubernetes.
- Learn how to build an application for Kubernetes
- Get more Hands on time with a Kubernetes Lab.
- Kubernetes Core Concepts (Platform)
- Kubernetes Core Concepts (Managing Applications)
Intermediate
- Learn different methods for building container images.
- See different methods for observing applications on Kubernetes
- Kubernetes Core Concepts (Clusters)
- Kubernetes Core Concepts (Additional Application features)
- Kubernetes workloads and security
- Interacting with Kubernetes
- Interacting with Cloud Providers
- Cluster Operations with various tools.
- Helm 101
Advanced
- How to prepare for the Certified Kubernetes Administrator exam.
- The Certified Kubernetes Application Developer practice exam.
- More Certified Kubernetes Application Developer practice scenarios.
- Interactive Scenarios for Certified Kubernetes Administrator
Tip
This last one is not free, but is the best exam simulator available!
- Killer CKS, CKA, CKAD exam simulator.
