Slide 1

Slide 1 text

Masaya Aoyama CyberAgent adtech studio Running VM Workloads Side by Side with Container Workloads ʙ and my opinionsʙ Kubernetes Meetup Tokyo #15 KubeCon 2018 Recap amsy810 @amsy810

Slide 2

Slide 2 text

Cloud Native Days Tokyo co-chair Cloud Native Meetup Tokyo Organizer (+ JKD + KubeCon ) Japan Container Days v18.04 Keynote (+ IPSJ ComSys 2018) for Kubernetes CKA #138CKAD #2 OpenStack / Kubernetes Contributor Masaya Aoyama (@amsy810) Infrastructure Engineer

Slide 3

Slide 3 text

KubeCon " @2018 NA Seattle % 90$(+&!20$… ) 20'# 150

Slide 4

Slide 4 text

Agenda • 1 min Session Overview • KubeVirt • ClusterAPI • Future of KaaS • KubeVirt Storage & NW

Slide 5

Slide 5 text

Session?F page 05 https://schd.ws/hosted_files/kccna18/50/KubeCon_2018_Running%20VM%20Workl oads%20Side%20by%20Side%20with%20Container%20Workloads.pdf 1. VM*-)-"+ #*-)-"/<CB;APIL&$%!M CB 1=68.I@9 ,KubeCon '+68 ,EJ ,40GH

Slide 6

Slide 6 text

KubeVirt

Slide 7

Slide 7 text

VM page 07 https://schd.ws/hosted_files/kccna18/50/KubeCon_2018_Running%20VM%20Workloads%20Side%20by%20Side%20with%20Container%20Workloads.pdf OpenStack, oVirt GCP, AWS, Azure

Slide 8

Slide 8 text

VM page 08 https://schd.ws/hosted_files/kccna18/50/KubeCon_2018_Running%20VM%20Workloads%20Side%20by%20Side%20with%20Container%20Workloads.pdf

Slide 9

Slide 9 text

VM page 09 https://schd.ws/hosted_files/kccna18/50/KubeCon_2018_Running%20VM%20Workloads%20Side%20by%20Side%20with%20Container%20Workloads.pdf

Slide 10

Slide 10 text

VM-+(), page 010 VM'*"! VM%#Kubernetes '"! (VM $ & $

Slide 11

Slide 11 text

KubeVirt is simple page 011 • 91" 3+<.= • Container Runtime$#?2(> • Kubernetes Node 3?2(> Kubernetes Node )5-87;=:,- 0/ $'!& $ kubectl create configmap -n kube-system kubevirt-config --from-literal debug.useEmulation=true # CRD Controller % $ kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/v0.11.0/kubevirt.yaml # 4VM<*6 $ kubectl create -f vm.yaml https://schd.ws/hosted_files/kccna18/50/KubeCon_2018_Running%20VM%20 Workloads%20Side%20by%20Side%20with%20Container%20Workloads.pdf

Slide 12

Slide 12 text

KubeVirt Architecture Pod kube-apiserver virt-controller virt-handler virt-handler DaemonSet virt-lancher libvirtd virt-lancher libvirtd virt-lancher libvirt virt-lancher libvirt virt-lancher libvirt virt-lancher libvirt VM VM virt-handler kubelet VM VM VM VM

Slide 13

Slide 13 text

Live Migration page 013 virt-handler virt-handler DaemonSet virt-lancher libvirtd virt-lancher libvirtd VM VM PodVMI VMI: VirtualMachineInstance VMI

Slide 14

Slide 14 text

ClusterAPI

Slide 15

Slide 15 text

ClusterAPI page 015 Kubernetes API

Slide 16

Slide 16 text

ClusterAPI and MachineController provider Machine • MachineDeployment • MachineSet • Machine MachineController Provider • KubeVirt • OpenStack • AWS • etc apiVersion: "cluster.k8s.io/v1alpha1" kind: MachineDeployment metadata: name: my-kubevirt-machine spec: replicas: 3 template: spec: providerConfig: value: cloudProvider: "kubevirt" cloudProviderSpec: cpus: "1" memory: "2048M" operatingSystem: "ubuntu" versions: kubelet: "1.12.2"

Slide 17

Slide 17 text

Future of Kubernetes as a Service?

Slide 18

Slide 18 text

AKE - Adtech Container Engine page 018 CyberAgent Kubernetes as a Service Bare metal Servers VM VM VM OpenStack Heat CloudFormation OpenStack Nova

Slide 19

Slide 19 text

OpenStack ) '$"(#& page 019 • CloudProvider Controller Core ! ./%#& • VM 0 Network Isolation Network Policy 1Scalable?2 Bare metal Servers VM VM VM KubeVirt - * Baremetal - ClusterAPI , '+

Slide 20

Slide 20 text

() * )+ page 020 ()#"! , Kubernetes Node/$'%&'. 0Immutable ,1 ()2) VM2()-

Slide 21

Slide 21 text

Node Kubernetes page 021 Datacenter Kubernetes AvailabilityZone Rack OSImage ComputeNode K8sCluster

Slide 22

Slide 22 text

KubernetesKubernetes @Japan page 022 "Yahoo! JAPAN Kubernetes-as-a-Service" https://www.slideshare.net/techblogyahoo/yahoo-japan-kubernetesasaservice

Slide 23

Slide 23 text

Kubevirt Storage & Networking

Slide 24

Slide 24 text

;)7.-9 =Storage / Networking> page 024 +16Kubernetes38(5 # "$! 0'&,=4*:2%>

Slide 25

Slide 25 text

Live Migration - Storage page 025 virt-lancher libvirtd virt-lancher libvirtd VM VM !Live Migration " StatefulSet PV

Slide 26

Slide 26 text

Live Migration - Networking page 026 virt-lancher libvirtd virt-lancher libvirtd VM VM LiveMigration IP Address Pod IP Address Pod Pod IP Address …

Slide 27

Slide 27 text

Networking page 027 10.0.0.0/16 10.0.0.0/24 10.0.1.0/24 10.0.2.0/24 10.0.0.11 10.0.0.12 10.0.0.13 10.0.1.11 10.0.1.12 10.0.1.13 10.0.2.11 10.0.2.12 10.0.2.13 CNI CIDR

Slide 28

Slide 28 text

Multiple Interface Pod page 028 CNI 1 Interface1 Everyone Gets a Data Plane! Multi-Networking Kubernetes with the NPWG Spec - Dan Williams & Doug Smith, Red Hat https://schd.ws/hosted_files/kccna18/9b/Kubecon_%20Everyone%20Gets%20a%20Data%20Plane%21%20Multi- Networking%20Kubernetes%20with%20the%20NPWG%20Spec.pdf

Slide 29

Slide 29 text

Multiple Interface Pod page 029 Everyone Gets a Data Plane! Multi-Networking Kubernetes with the NPWG Spec - Dan Williams & Doug Smith, Red Hat https://schd.ws/hosted_files/kccna18/9b/Kubecon_%20Everyone%20Gets%20a%20Data%20Plane%21%20Multi- Networking%20Kubernetes%20with%20the%20NPWG%20Spec.pdf

Slide 30

Slide 30 text

Multiple Interface Pod page 030 Everyone Gets a Data Plane! Multi-Networking Kubernetes with the NPWG Spec - Dan Williams & Doug Smith, Red Hat https://schd.ws/hosted_files/kccna18/9b/Kubecon_%20Everyone%20Gets%20a%20Data%20Plane%21%20Multi- Networking%20Kubernetes%20with%20the%20NPWG%20Spec.pdf

Slide 31

Slide 31 text

page 031 VM Kubernetes40+. ClusterAPI 5$ KaaS"1# - )*' 8VMMulti NIC9 1.17623 Kubernetes Cluster,(8!+9%&/ ClusterAPI + KubeVirt8ClusterAPI + ?????9 OpenShiftRancheretc Virtual kubelet

Slide 32

Slide 32 text

GKE $ @*)8/: page 032 46 KubeVirt;<"5 Kubernetes &= GCE %.(107?3'(B #" /proc/cpuinfo vmx flag >A9 $ kubectl create configmap -n kube-system kubevirt-config --from-literal debug.useEmulation=true “virtctl console” +2 !#" ,- https://github.com/kubevirt/kubevirt/issues/1684

Slide 33

Slide 33 text

page 033 https://github.com/kubevirt/kubevirt/blob/master/docs/architecture.md https://github.com/kubevirt/kubevirt/blob/master/docs/components.md

Slide 34

Slide 34 text

Thank you for your attention follow me: @amsy810