0% found this document useful (0 votes)
2 views

exploring-the-kubernetes-architecture-slides

The document provides an overview of Kubernetes, including its architecture, components, and benefits such as speed of deployment and recovery. It explains key concepts like Pods, Controllers, Services, and the Kubernetes API, as well as networking fundamentals. The document sets the stage for further exploration into installing and configuring Kubernetes.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

exploring-the-kubernetes-architecture-slides

The document provides an overview of Kubernetes, including its architecture, components, and benefits such as speed of deployment and recovery. It explains key concepts like Pods, Controllers, Services, and the Kubernetes API, as well as networking fundamentals. The document sets the stage for further exploration into installing and configuring Kubernetes.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

Kubernetes Installation and Configuration

Fundamentals
INTRODUCTION AND EXPLORING KUBERNETES ARCHITECTURE

Anthony E. Nocentino
ENTERPRISE ARCHITECT @ CENTINO SYSTEMS
@nocentino www.centinosystems.com
Course Overview

Introduction
Exploring Kubernetes Architecture
Installing and Configuring Kubernetes
Working with Your Kubernetes Cluster
Overview What is Kubernetes?
Exploring Kubernetes Architecture
• Cluster Components
• Networking Fundamentals
What Is Kubernetes?

Container Workload Infrastructure Desired State


Orchestrator Placement Abstraction
Benefits of Using Kubernetes

Speed of deployment

Ability to absorb change quickly

Ability to recover quickly

Hide complexity in the cluster


Kubernetes Principles

Desired State/ Controllers/ Kubernetes API/The


Declarative Control Loops API Server
Configuration
Kubernetes API

API Objects
Collection of primitives to represent your
system’s state
Enables configuration of state
Declaratively
Imperatively
Kubernetes API Server

RESTful API over HTTP using JSON


The sole way to interact with your cluster
The sole way Kubernetes interacts with your
cluster
Serialized and persisted
Kubernetes API Objects

Pods Controllers Services Storage

Not an exhaustive list, but these are the key players


Pods

One or more containers


It’s your application or service
The most basic unit of work
Unit of scheduling
Ephemeral - no Pod is ever “redeployed”
Atomicity - they’re there or NOT
Pods - Continued

Kubernetes’ job is keeping your Pods running


More specifically keeping the desired state
State - is the Pod up and running
Health - is the application in the Pod running
Probes
So how does Kubernetes
manage my Pods’ state?
Controllers
Defines your desired state
Create and manage Pods for you
Respond to Pod state and health
ReplicaSet
Number of replicas
Deployment
Manage rollout of ReplicaSets
Many more…and not just Pods
So how does Kubernetes add
persistency to all this ephemerality?
Services

Adds persistency to our ephemeral world


Networking abstraction for Pod access
IP and DNS name for the Service
Dynamically updated based on Pod lifecycle
Scaled by adding/removing Pods
Load balancing
What about my data?
Where’s that stored in Kubernetes?
Storage in Kubernetes

Volumes Persistent Volume Persistent Volume Claim


Exploring Kubernetes Architecture
Cluster Components

Control Plane Node Node


Control Plane Node

Master Node Control Plane Node


Control Plane Node

etcd

API Server
Control
Scheduler
Plane kubectl
Node
Controller Manager
Control Plane Components
API Server etcd Scheduler Controller Manager

Central Persists State Watches API Server Controller Loops

Lifecycle functions and


Simple API Objects Schedules Pods
desired state

Watch and update the


RESTful Key-value Resources
API Server

Updates etcd Respects contraints ReplicaSet


Nodes

etcd

API Server
Control
Scheduler
Plane
Node
Controller Manager

Kubelet

Kube-proxy
Node
Container Runtime
Nodes
Kubelet kube-proxy Container Runtime

Monitors API Server Downloads images &


iptables
for changes runs containers

Responsible for Pod Container Runtime


Implements Services
Lifecycle Interface (CRI)

Reports Routing traffic to


containerd
Node & Pod state Pods

Pod probes Load Balancing Many others…


Cluster Add-on Pods

DNS Ingress Dashboard


Pod Operations
etcd

API Server
Control
Scheduler kubectl
Plane
Node
Controller Manager

Kubelet

Kube-proxy
Node Pod Pod Pod
Container Runtime

Kubelet

Kube-proxy
Node Pod
Container Runtime
Services

Pod Pod Pod

HTTP

Pod Pod

Cluster Service
Kubernetes Networking Fundamentals
Kubernetes Networking Requirements

Pods on a Node can


Agents on a Node can
communicate with all Pods on all
communicate with all Pods on
Nodes without Network Address
that Node
Translation (NAT)
Networking Fundamentals
Pod Pod
IP IP

Kube-proxy
Bridge
HTTP

Layer 2 or 3
Pod
Service
1. Inside a Pod
localhost
2. Pod to Pod within a Node
3. Pod to Pod on another Node

Kube-proxy
Pod 4. External Services
IP
Summary What is Kubernetes?
Exploring Kubernetes Architecture
• Cluster Components
• Networking Fundamentals
What’s Next!
Installing and Configuring Kubernetes

You might also like