Introduction to Kubernetes
Kubernetes is a portable, extensible, open-source platform for managing containerized workloads and services, that facilitates both declarative configuration and automation. It has a large, rapidly growing ecosystem. Kubernetes services, support, and tools are widely available.
This introductory course is to level up operations and developers on how to use and maintain Kubernetes. This course starts with an introduction to Docker, then we proceed to an introduction to Kubernetes where we cover the history and what problems Kubernetes tries to solve. We then cover installation and necessary CLI utilities. We follow up describing the architecture of a Kubernetes cluster. Then we dig into how to do the common real-world operations like installing your app, scaling your app, viewing a dashboard, creating services and ingresses, deploying volumes, and administering your cluster.
Prerequisites: Comfort with the Command-Line, Comfort with an Editor, Basic knowledge of networking and internet communication.
-
Docker
-
Overview
-
Relation to Kubernetes
-
Registries
-
Differences with VMs
-
Differences with Processes
-
-
Kubernetes
-
What is it?
-
History?
-
What are clusters?
-
How does it run in the cloud?
-
-
Microservices
-
What is it?
-
What are some decisions required?
-
What are the pitfalls?
-
How is it related to Kubernetes?
-
-
Architecture of Kubernetes
-
Control Plane
-
Nodes
-
etcd
-
API Server
-
Proxy
-
Controllers
-
Schedulers
-
-
Installation
-
Setting up a cluster
-
Installing kubectl
-
Installing k9s
-
How to gain access
-
-
Deploying
-
Pods
-
ReplicaSets
-
Deployments
-
Services
-
Ingresses
-
-
Performing Work
-
Jobs
-
DaemonSet
-
-
Using Dashboards
-
Storage
-
StatefulSet
-
PersistentVolumes
-
PersistentVolumeClaims
-
-
Security
-
ServiceAccounts
-
Secrets
-
RBAC
-
-
Administration
-
CPU/Memory
-
When things go wrong
-