15
Kubernetes 架構與虛擬化之 差異 Senior Solution Architect Bean

Kubernetes 架構與虛擬化之差異

Embed Size (px)

Citation preview

Page 1: Kubernetes 架構與虛擬化之差異

Kubernetes 架構與虛擬化之差異 Senior Solution Architect Bean

Page 2: Kubernetes 架構與虛擬化之差異

Agenda

• Container connectiuon with Kubernetes• Docker Virtualization• VM Virtualization• Comparison

Page 3: Kubernetes 架構與虛擬化之差異

Kubernetes Architecture

• Master– apiserver– scheduler

• Minion– kube-proxy– kubelet– container

• ETCD

Page 4: Kubernetes 架構與虛擬化之差異

Container = Docker ?

Page 5: Kubernetes 架構與虛擬化之差異

Kubernetes support Containers

• Windows Server Container (windows kernel)• Hyper-V Container (window kernel)• Docker Container (linux kernel)

...

Page 6: Kubernetes 架構與虛擬化之差異

Early Docker Architecture

APP A

Bins/Libs

APP B

Bins/Libs

Container Engine

HostOS

Hardware

● Based on LXC (Linux Container)● LXC appears from kernel 2.6.29● LXC driver must be activated

Page 7: Kubernetes 架構與虛擬化之差異

Kernel

Page 8: Kubernetes 架構與虛擬化之差異

LXC SampleUnder AWS Ubuntu 16.04 HVS Virtaul Machine

• sudo apt-get install lxc lxc-templates wget bridge-utils

• sudo lxc-create -n Name -t SampleName (create container)– ex: sudo lxc-create -n ubuntu_lxc -t ubuntu

• sudo lxc-start -n ubuntu_lxc -d (start container)

• sudo lxc-console -n ubuntu_lxc (login container)

• sudo lxc-ls (list containers)

• sudo lxc-cgroup -n ubuntu_lxc memroy.limit_in_bytes 256M

Page 9: Kubernetes 架構與虛擬化之差異

Docker Visulization

Page 10: Kubernetes 架構與虛擬化之差異

Container use Kernel API

• namespaces allows us to isolate processes from each other(process, network, messaging, file system, hostname)

• cgroups allows us to limit resource utilization• aufs implements a union mount• linux bridge bridges each container

Page 11: Kubernetes 架構與虛擬化之差異

Docker Flow

Docker Run

Flow

Page 12: Kubernetes 架構與虛擬化之差異

Type2 VM Visualization

APP A

Bins/Libs

APP B

Bins/Libs

Guest OS

Hypervisor

Host OS

Guest OS

Hardware

Page 13: Kubernetes 架構與虛擬化之差異

KVM-QEMU Hypervisor

Page 14: Kubernetes 架構與虛擬化之差異

Comparison

APP A

Bins/Libs

APP B

Bins/Libs

Libcontainer

HostOS

Hardware

Page 15: Kubernetes 架構與虛擬化之差異

Summary

• Kubernetes vs Docker• Container vs VM (kernel)

– base image size small– launch time short– resource(cpu, memory) usage small