What will youlearn today?
● What is Kubernetes?
● Why it's essential for a modern platform
● Key cluster components
● Getting started
● Let's set up a cluster (IAC)
○ A Day in the Life of a Kubernetes Engineer
4.
Introduction to theCNCF and Its Landscape
https://landscape.cncf.io/
The Cloud Native Computing Foundation (CNCF) is
an open-source organization that’s part of the Linux
Foundation. Its mission? To promote cloud-native
technologies that make applications scalable,
resilient, and portable.
5.
What Are Containers?
Acontainer is a portable, lightweight environment that
includes:
- Code: Your application logic.
- Dependencies: Libraries and binaries required to run
your app.
- Configuration files: All necessary settings.
Containers make it easy to run applications consistently
across different environments.
6.
How Containers Fitinto Platform
Engineering
As a Platform Engineer, containers provide the foundation for:
- Standardization: Ensure consistent environments for all
developers.
- Scalability: Work seamlessly with orchestrators like
Kubernetes.
- Automation: Simplify application builds and deployments.
7.
What Is Kubernetes?
Kubernetes(K8s for short) is an open-source platform
for managing and scaling containerized applications.
It’s like having a super-smart conductor for your
orchestra of applications, ensuring everything runs
smoothly, even when things go wrong.
8.
Why Is KubernetesEssential?
- Scalability: Automatically adjusts resources based on
demand.
- Resilience: Detects and fixes issues (e.g., restarts failed
containers).
- Efficiency: Maximizes hardware usage across your
infrastructure.
- Portability: Run it on any cloud or on-premise environment.
For Platform Engineers, Kubernetes is the cornerstone of
building developer-friendly platforms that can handle modern
workloads efficiently.
9.
The Core BuildingBlocks of Kubernetes
- Pod
- The smallest deployable unit in
Kubernetes.
- Usually contains a single
container but can also include
multiple tightly coupled
containers.
- Node
- A worker machine
(physical or virtual)
that runs your pods.
- Nodes are managed
by the Kubernetes
control plane.
- Cluster
- A group of nodes
working together,
forming the
environment where
your applications run.
- Namespace
- Logical partitions
within a cluster, useful
for organizing
resources.
- Example: Separate
environments for
development, staging,
and production.
- Service
- Provides stable
networking to ensure
your pods can
communicate with each
other.
- Deployment
- A higher-level
abstraction that
manages pods and
ensures your
application is running
as expected.