0% found this document useful (0 votes)
36 views25 pages

k8s - An Intro

The document provides an introduction to Kubernetes including Linux containers, Docker, Kubernetes architecture, key Kubernetes concepts like pods and replication controllers, and how Kubernetes manages Docker containers across clusters.

Uploaded by

Pradeep Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
36 views25 pages

k8s - An Intro

The document provides an introduction to Kubernetes including Linux containers, Docker, Kubernetes architecture, key Kubernetes concepts like pods and replication controllers, and how Kubernetes manages Docker containers across clusters.

Uploaded by

Pradeep Kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

An Introduction

to
Kubernetes
Agend
a
● Linux Containers
● Docker
● Kubernetes
● Kubernetes
Architecture
Linux
Containers
Linux
Containers
Linux
Containers
An operating system–level virtualization
method for running multiple isolated Linux
systems (containers) on a single control
host.
Linux Kernel Features used by Linux
Containers
● Namespaces
(mnt, pid, net, ipc, uts/hostname, user ids)
● cgroups
(cpu, memory, disk, i/o - resource
management)
● AppArmor, SELinux
(security/access control)
● seccomp
(computation isolation)
● chroot
(file system isolation)
LXC Engine: A Hypervisor for
Containers
Docke
r
● A platform for managing Linux Containers
● Began as an open-source implementation
of the deployment engine which powers
dotCloud
● Started in March, 2013
● Provided an easy to use API and
powerful container image management
features
● Attracted the community very fast

https://github.com/docker/docker/blob/master/README.md
Docker is built
on
● cgroup and namespacing capabilities
of the Linux kernel
● Go programming language
(written in Go)
● Docker Image Specification
(for container image management)
● Libcontainer Specification
(namespaces, filesystem, resources, security, etc)

https://github.com/docker/docker/blob/master/README.md
Virtual Machines Vs
Docker

https://www.docker.com/whatisdocker/
Docker
Architecture

Enterprise Docker, Adrien BLIND, Aurelien GABET, Arnaud


MAZIN
Docker Image
Structure

https://docs.docker.com/terms/image/
Docker - Hello
World
# Get one base Docker image
>docker p u l l ubuntu

# List Docker images


available
>docker images

# Run hello world


>docker run ubuntu:14.04 echo " h e l l o world"

Docker Paris Meetup, Victor Vieux, dotCloud


Inc
Detached
mode
# Run hello world in detached mode (-d)
>docker run -d ubuntu sh - c " whil e t r u e ; do
echo h e l l o wo r ld; sleep 1 ; done"

# Get container’s ID
>docker ps

# Attach to the container


>docker attach <container-id>

# Stop/start/restart the container


>docker stop <container-id>

Docker Paris Meetup, Victor Vieux, dotCloud


Inc
Problems with standalone
Docker
Load
Balancer

Docker
Containers

Docker Host

● Running a server cluster on a set of Docker


containers, on a single Docker host is vulnerable to
single point of failure!
Kubernete
s
Kubernete
s
● Kubernetes is a platform for hosting
Docker containers in a clustered
environment with multiple Docker hosts
● Provides container grouping, load
balancing, auto-healing, scaling
features
● Project was started by Google
● Contributors == Google, CodeOS,
Redhat, Mesosphere, Microsoft, HP, IBM,
VMWare, Pivotal, SaltStack, etc
Key Concepts of
Kubernetes
● Pod - A group of Containers
● Labels - Labels for identifying pods
● Kubelet - Container Agent
● Proxy - A load balancer for Pods
● etcd - A metadata service
● cAdvisor - Container Advisor provides
resource usage/performance statistics
● Replication Controller - Manages
replication of pods
● Scheduler - Schedules pods in worker
nodes
● API Server - Kubernetes API server
Kubernetes
Architecture
etcd Overlay Network:
10.1.0.0/16 (Flannel, Open
vSwitch, etc)
Docker
Registry
Service
Network:
172.17.8.0/24

Kubernetes Kubernetes Kubernete Kubernete


Master Minion s Minion s Minion
1 2 n

Replication
API Kubelet Proxy Docker A Docker B
Controllers

Scheduler cAdvisor Pods


Kubernetes
Master

Kubelet Info Service

API Scheduler Replication Controllers

Kubernetes
Master
Kubernetes Minion (Worker
Node)
KKuubbeernnr
SKeurbveci re
eetS
eetSseservvr icci
Proxy nsetes
cAdvisor eess
Kubelet

Pod 1 Pod 2 Pod n

CCContainers
oonntaat n
i ni CCContainers
oonntaat n
i ni CCContainers
oonntaat n
i ni

eerssr eerssr eerssr

Kubernetes
Minion
Kubernetes Component
Architecture

https://github.com/GoogleCloudPlatform/kubernetes/blob/master/DESIGN.md
Reference
s● http://en.wikipedia.org/wiki/Virtualization
● http://en.wikipedia.org/wiki/Hypervisor
● http://en.wikipedia.org/wiki/LXC
● http://www.cs.ucsb.edu/~rich/class/cs290-

cloud/papers/lxc-namespace.pdf
● http://en.wikipedia.org/wiki/Cgroups
● http://en.wikipedia.org/wiki/AppArmor
● http://en.wikipedia.org/wiki/Security-Enha
nced_Linux
● http://www.lorien.ch/server/chroot.html
Reference
s● SELinux for Everyday Users, PaulWay
● http://en.wikipedia.org/wiki/Seccomp
● http://en.wikipedia.org/wiki/Chroot
● Linux Container Brief for IEEE WG P2302,
Boden Russell
● http://kubernetes.io/
● https://www.youtube.com/watch?v=Fcb4aoSA
Z98
● http://www.slideshare.net/enakai/architecture-
overview-kubernetes-with-red-hat-enterprise-linux-71

You might also like