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

Kubernetes 架構與虛擬化之差異

Jan 21, 2018

Download

Technology

inwin stack
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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