Upgrade to Pro — share decks privately, control downloads, hide ads and more …

KubeCon 2018 Recap: Running VM Workloads Side by Side with Container Workloads 〜 and my opinions〜 Kubernetes Meetup Tokyo #15

KubeCon 2018 Recap: Running VM Workloads Side by Side with Container Workloads 〜 and my opinions〜 Kubernetes Meetup Tokyo #15

Twitter: @amsy810

MasayaAoyama
CyberAgent, Inc

Masaya Aoyama (@amsy810)

January 10, 2019
Tweet

More Decks by Masaya Aoyama (@amsy810)

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. Agenda • 1 min Session Overview • KubeVirt • ClusterAPI

    • Future of KaaS • KubeVirt Storage & NW
  4. 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<AN5 2. KubeVirt

    3Kubernetes VMCB  3. ClusterAPIK: Kubernetes KubernetesCB 7D ClusterAPI: Kubernetes(29>;APIL&$%!M CB 1=68.I@9   ,KubeCon '+68 ,EJ ,40GH
  5. VM  -+(), page 010 VM '*"! VM%#Kubernetes  

    '"! (VM $   &  $  
  6. 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 # 4 VM< *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
  7.  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
  8. Live Migration page 013 virt-handler virt-handler DaemonSet virt-lancher libvirtd virt-lancher

    libvirtd VM VM  PodVMI VMI: VirtualMachineInstance VMI   
  9. 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"
  10. AKE - Adtech Container Engine page 018 CyberAgent  Kubernetes

    as a Service  Bare metal Servers VM VM VM OpenStack Heat    CloudFormation OpenStack Nova  
  11. OpenStack ) '$"(#& page 019 • CloudProvider  Controller 

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

    Node /$' %& '. 0Immutable   ,1 ()2 ) VM2 ()-
  13. Node  Kubernetes  page 021  Datacenter  Kubernetes

    AvailabilityZone Rack OSImage ComputeNode K8sCluster
  14. KubernetesKubernetes @Japan page 022 "Yahoo! JAPAN  Kubernetes-as-a-Service"  

      https://www.slideshare.net/techblogyahoo/yahoo-japan-kubernetesasaservice
  15. Live Migration - Storage page 025 virt-lancher libvirtd virt-lancher libvirtd

    VM VM ! Live Migration "   StatefulSet  PV
  16. Live Migration - Networking page 026 virt-lancher libvirtd virt-lancher libvirtd

    VM VM LiveMigration IP Address   Pod IP Address Pod  Pod IP Address  …
  17. 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  
  18.  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
  19. 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
  20. 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
  21.   page 031 VM  Kubernetes 40+. ClusterAPI 5$

    KaaS"1# -  )*' 8VMMulti NIC9 1.17623 Kubernetes Cluster,(8!+9%&/ ClusterAPI + KubeVirt8ClusterAPI + ?????9 OpenShiftRancheretc Virtual kubelet
  22. 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