The Best and Most Complete Online Kubernetes Course for Beginners!
What is Kubernetes?
Kubernetes is the most powerful DevOps technology for managing (orchestration) the entire lifecycle of cloud applications today. Google currently deploys more than 12 billion applications per month based on Kubernetes (Search, YouTube, Gmail, Google Play, Chrome, among others).
Kubernetes is the new phenomenon used in the most advanced technology companies, due to the versatility, security, and performance that Kubernetes offers to deliver new software and updates in record time, as today’s internet demands!
In short, Kubernetes is a technology for orchestrating production-ready containers (official Kubernetes definition).
What is the difference between Kubernetes and GKE (Google), AKS (Azure), EKS (Amazon), ACK (Alibaba)… among others?
The difference is a lot, as GKE, AKS, EKS and ACK are not Kubernetes! Kubernetes is a container orchestration system, it is an independent, open, and free technology that will be taught in this training in its pure and fully reusable form in any environment with Kubernetes installed (locally or in the cloud).
Roughly speaking, GKE, AKS, EKS and ACK are products that use Kubernetes, made available as services by Google, Microsoft, Amazon and Alibaba, to create an environment (cluster) for you to run your Kubernetes applications outside your company, that is, in their cloud, they call it the Managed Kubernetes Platform.
In short, GKE, AKS, EKS and ACK are nothing more than environments to install Kubernetes, they charge for it and offer you other additional services to add to your Kubernetes environment (cluster).
Who owns Kubernetes?
Kubernetes is a project of the Cloud Native Computing Foundation (CNCF). The CNCF is part of the Linux Foundation, a non-profit organization, which is also responsible for the development of Linux (Kernel).
Why should I learn Kubernetes?
You’ll learn Kubernetes to stay ahead in this fabulous market for distributed cloud applications that use containers. Become as big as the giants using powerful Kubernetes!
It is really impressive to know which other organizations (in addition to Google) are using Kubernetes to innovate their systems: NASA, Nubank, Spotify, Adidas, Tinder, Airbnb, Bloomberg Financial Data Analytics and Udemy are just a few examples, that is, leading companies in innovation and market power.
What will I have learned at the end of this training?
You will learn from the basics: what a container orchestrator is, what Kubernetes is, the possibilities of use and much more!
You will be able to manage the entire lifecycle of your application. Furthermore, you will learn how to resolve situations that may occur in the day-to-day life of a Kubernetes administrator, which require professional preparation to resolve problems assertively.
How is the course?
This course uses neurolearning methodology, with teaching techniques for the student to learn up to 70% more of the technology being taught, with less mental effort.
The themes are divided into 3 pillars:
-
What is it? (Understand the concept);
-
Why? (Purpose of use);
-
How to make? (Practical implementation).
You will have 20% conceptual content and 80% practical classes!
It’s not just using Kubernetes, but also knowing what’s going on to become a highly valuable professional.
What professional level will I reach with this training. How complete is the course?
The course will provide initial professional training for your entry into the Kubernetes market (Kubernetes Administrator — Entry Level). With the content of this training, you will be prepared to face different situations related to the daily operation of Kubernetes. The course was pedagogically balanced as follows:
-
Basic Topics: the course covers all the basic aspects of Kubernetes;
-
Intermediate Themes: covering common day-to-day operations;
-
Advanced Topics: some topics are covered (only essential advanced issues).
How is the Final Course Project?
The final project consists of using all the knowledge obtained during the training and applying it professionally, through the complete orchestration of a professional system used around the world.
The course will provide you with all the necessary conditions for this challenge, the project will be carried out step by step and well explained by the professor, so that you reach the final objective: orchestrating a professional application, managing the entire software life cycle (implementing the software in production, manage fundamental aspects, and in the final phase remove the application).
Do I need to pay a public cloud (Google, Azure, Amazon, Alibaba, etc.) to take the course?
No! This course uses only FOSS (Free and Open Source Software) technologies. You won’t need to pay anyone a penny to use any of the technologies taught in this training, nor will you need to provide your credit card to any company. It is UNACCEPTABLE that these large companies continue to seek to make money from students.
We will use minikube, which is a system developed by the creators of Kubernetes. Minikube creates a real Kubernetes environment (cluster) complete, with all the necessary features to run everything we need to learn in this training, however, without paying anything! Because minikube is FOSS!
How is minikube?
Minikube is a system specifically created for teaching and learning Kubernetes. Cloud Native Computing Foundation (CNCF) and the Linux Foundation (CNCF partner and Kubernetes certifier) strongly recommend and encourage the use of minikube for learning.
Everything we will study using minikube will run identically wherever Kubernetes is installed, be it a public cloud (Google, Azure, Amazon, Alibaba, etc.), a Raspberry Pi, Virtual Machine or Bare Metal (physical servers), for example.
What do I need to know before taking this course?
Three things:
-
You need to know Docker, because Docker will not be taught here;
-
Know the basics of computer networks: TCP/IP, DHCP, DNS, Proxy and Load Balancer;
-
Basic knowledge of GNU/Linux is recommended.
Does this course prepare me to become a Certified Kubernetes Administrator (CKA)?
It is a mandatory course for those who intend to take the CKA certification exam. Here you will learn the concepts, resources and components that appear on the test. Simulations and additional studies are recommended before taking the test, as this course does not include simulations.
Who is the professor?
Prof. Eng. Arnaldo Sousa, graduated in Software Engineering, IT Management, and Systems Analysis and Development. He was an official instructor and consultant for IBM and Sun Microsystems (creator of Java, now Oracle), and is a licensed teacher with several specializations in the area of education (Teaching, Communication, Neurolearning, Neuropsychology and Special Education).
With extensive experience using and teaching new technologies in large corporations, the professor will introduce you to Kubernetes in an extremely understandable way!
Setup for Windows Users
-
1Overview and Course Goals
Course learning objectives;
Teaching methodology used;
Paths we will take to achieve learning objectives.
-
2Course Wallpapers
Exclusive course wallpapers to inspire you for classes! =)
-
3Udemy Platform
Guidance on classes.
-
4The Professor
Presentation of the professor, summary of his academic training and professional experiences that enable him to conduct this training.
-
5I don't know Docker, will I be able to understand this course?
Alert for students who don't know Docker: before starting this course, you should already be familiar with Docker.
-
6Prerequisites
According to the course description, in addition to Docker, what are the other prerequisites for this course?
-
7Important!
Guidance about the course.
-
8History of Kubernetes
Brief history of Kubernetes.
Information for GNU/Linux Users
-
9antiX Linux, VM for Windows users
Information about the GNU/Linux distribution to be used in the course.
-
10Oracle VirtualBox
Presentation of the Oracle VirtualBox hypervisor.
-
11Downloads for antiX Linux VM
Download the necessary files to configure the antiX Linux Virtual Machine.
-
12Oracle VirtualBox installation
Installation of VirtualBox and VirtualBox Extension Pack.
-
13antiX VM Configuration (OVA file)
Configuration of the virtual machine in Oracle VirtualBox, through the OVA file that was prepared by the professor.
-
14antiX Linux Overview
Overview of Linux used in the course, antiX Linux.
-
15Keyboard and Time Zone configuration on antiX Linux
How to set up keyboard and Time Zone on antiX Linux.
-
16VirtualBox Shared Folders
How to share course files between guest and host machine using Oracle VirtualBox.
Kubernetes Setup
Fundamentals and Concepts
-
18Installation and Configuration Commands
Guidance on using the installation command files contained in the Resources tab.
-
19Docker Installation
Installation of Docker on Linux.
-
20minikube - Local Kubernetes Cluster
Presentation of minikube, the cluster that will be used in training.
-
21Versions of kubectl and minikube used in this course
Important notice regarding minikube and kubectl versions used in the course.
-
22kubectl Installation
kubectl installation – command line tool.
-
23minikube Installation
Preparing the Kubernetes cluster.
Components
-
24What is a container orchestrator?
Key features of container orchestrators.
-
25Popular orchestrators (Docker Swarm, Apache Mesos, OpenShift and Kubernetes)
Popular container orchestrators.
-
26Kubernetes Immutability Concept
Concept of immutability for deploying Kubernetes applications.
-
27Fundamentals
Container orchestrators.
-
28Availability - Part 1 - Declarative Settings
Kubernetes availability concept.
-
29Availability - Part 2 - DevOps Relationship
Kubernetes availability concept related to DevOps culture.
-
30Scalability - Infrastructure, Services, and DevOps Teams
Possible ways to scale using Kubernetes.
-
31Infrastructure Abstraction
The power of abstraction for implementing Kubernetes clusters.
-
32Infrastructure Abstraction
Kubernetes infrastructure abstraction concept.
YAML
-
33Control Plane
Understand the importance and functioning of the Kubernetes Control Plane component.
-
34kube-apiserver
Understand the central role of the Kubernetes kube-apiserver.
-
35cloud-controller-manager
Understand what cloud-controller-manager is and when this component is used.
-
36controller-manager
Understand the controller-manager component and its main responsibilities within the cluster.
-
37etcd - Cluster Persistence Storage
Understand the fundamental aspects of etcd in the Kubernetes cluster.
-
38kube-proxy
Understand the role of kube-proxy for the Kubernetes cluster.
-
39Kubernetes Pods Concept
Understand the concept of Kubernetes Pods.
-
40kube-scheduler
Understand the scheduling of Pods performed by the kube-scheduler component.
-
41kubelet
Understand the role played by the kubelet in the Pods scheduled by the kube-scheduler.
-
42Container Runtime Interface (CRI)
Understand the role of Containers Runtimes in Kubernetes.
Pods
-
43YAML - Introduction
YAML basics in Kubernetes.
-
44YAML - Overview
YAML technology overview.
-
45YAML - Main Uses: Persistence, Docker Compose and Kubernetes
Main purposes of using YAML files.
-
46YAML - Basic Structure
Basic structure of YAML files.
-
47YAML on Kubernetes
Overview of using YAML files for Kubernetes.
ReplicaSets
Deployments
-
52Exercising - Learn by doing!
Practice guidelines.
-
53ReplicaSet Concept and Creation
Understand and create ReplicaSet resource.
-
54ReplicaSet Controlling Pods
Understand how ReplicaSets control your Pods.
-
55ReplicaSet Scale - Manifest File
Scaling applications with ReplicaSet manifest file.
-
56ReplicaSet Scale - Imperative Form
Scaling application with ReplicaSet using imperative form.
Kubernetes Networking Infrastructure
-
57Deployments Section Overview
Information about the following section.
-
58Introduction to Kubernetes Deployments
Understand how Kubernetes Deployment works.
-
59Exercising - Learn by doing!
Practice guidelines.
-
60Creating the Deployment Resource
Creation of Deployment type resource.
-
61Deployment Rollout
How to deploy your applications with Kubernetes Deployments.
-
62Rolling Update Strategy - Deep Analysis
Deep breakdown of the Rollout process using the Rolling Update strategy.
-
63Removing Deployment Resources
How to remove objects of type Deployment.
-
64Rollout History
Understand how the versioning of releases of the Deployments resources works.
-
65Deployment Rollback
Rollback applications to previous releases.
-
66Rollout Pause & Rolout Resume
How to pause and release rollout during a deployment.
-
67Deployment Scale: YAML & Imperative Form
Scale your application with the Deployment resource, using manifest file or imperatively.
-
68Recreate Strategy Type
How to use the Recreate deployment strategy.
Namespaces
-
69Container to Container Communication
How two containers communicate in the same Pod.
-
70Intra-Node Pod Network Communication
How is communication between two Pods within the same Node.
-
71INTER-Node Pod Network Communication
How communication is performed between two Pods on different Nodes.
-
72Exercising - Learn by doing!
Practice guidelines.
-
73Pod Communication Test — Part 1
Understand and establish communication between two Pods. (First part).
-
74Pod Communication Test — Part 2
Understand and establish communication between two Pods. (Second part).
Services
-
75Introduction to Namespaces
Know the Namespace resource and how it is used.
-
76Exercising - Learn by doing!
Practice guidelines.
-
77Namespace Creation
Create and place objects in namespaces.
-
78Current Context Namespace
Namespace context manipulation.
-
79Namespaces Manifest Files
Using manifest files to create namespaces.
-
80Namespace Field Definition
Namespace configuration using manifest file.