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

Ignite Kubernetes Community Meeting Presentation

Ignite Kubernetes Community Meeting Presentation

Presented during the Kubernetes Community Meeting
Online slides: https://docs.google.com/presentation/d/1sQHGW93t-LnZZFTTAUyPX80oDfoeTcmADiuZR8bnw90/edit
Recording: https://youtu.be/c1GzVlofSm4
Location: Online

Lucas Käldström

August 29, 2019
Tweet

More Decks by Lucas Käldström

Other Decks in Technology

Transcript

  1. 1
    Fire up your VMs with
    Weave Ignite
    Lucas Käldström - CNCF Ambassador
    29th of August, 2019 - Kubernetes Community Meeting
    Image credit: @ashleymcnamara

    View full-size slide

  2. 2
    $ whoami
    Lucas Käldström, soon-to-be University Student, 19 yo
    CNCF Ambassador, Certified Kubernetes
    Administrator and (former) Kubernetes WG/SIG Lead
    KubeCon Speaker in Berlin, Austin,
    Copenhagen, Shanghai & Seattle
    KubeCon Keynote Speaker in Barcelona
    Kubernetes approver and subproject owner, active in
    the community for 3+ years. Got kubeadm to GA.
    Weave Ignite creator
    Driving luxas labs which currently performs contracting
    for Weaveworks

    View full-size slide

  3. 3 https://www.weave.works/blog/fire-up-your-vms-with-weave-ignite

    View full-size slide

  4. 4
    Weave Ignite
    “An open source Virtual Machine (VM)
    manager with a container UX and built-in
    GitOps management”
    - Firecracker MicroVMs & OCI containers
    to unify containers and VMs.
    - Works in a GitOps fashion;
    manages VMs declaratively

    View full-size slide

  5. 5
    Why?
    Originates from my Finnish conscription time;
    where I worked on programming tasks
    We needed to:
    a) Use open source (no “normal” VM licenses)
    b) Run legacy applications with “special requirements”
    c) Integrate with containers

    View full-size slide

  6. 6
    How?
    BUT: Firecracker is HARD to use
    (for those who happen to not be KVM devs)

    View full-size slide

  7. 8
    Weave Ignite User Stories
    “I can boot a VM in less than a second!”
    “I can run fast & secure VMs alongside containers”
    “I can declaratively manage a fleet of VMs through Git”
    “I can boot up a Kubernetes cluster in seconds”

    View full-size slide

  8. 9
    # Let's run the weaveworks/ignite-ubuntu docker image as a VM
    # Use 2 vCPUs and 1GB of RAM, enable automatic SSH access and name it
    my-vm
    ignite run weaveworks/ignite-ubuntu \
    --cpus 2 \
    --memory 1GB \
    --ssh \
    --name my-vm
    # List running VMs
    ignite ps
    # List Docker (OCI) and kernel images imported into Ignite
    ignite images
    ignite kernels
    # Get the boot logs of the VM
    ignite logs my-vm
    # SSH into the VM
    ignite ssh my-vm
    Demo!

    View full-size slide

  9. 10
    Ways to use Ignite
    - Docker-like UX
    - imperatively, using the CLI
    - GitOps or Manifest Directory
    - declaratively, using YAML/JSON files
    - (Future) Virtual Kubelet
    - declaratively, using the Kubernetes API

    View full-size slide

  10. 11
    Design & Architecture
    Use OCI for:
    a) content distribution
    b) monitoring processes
    c) process isolation
    Device Mapper & DHCP
    bridges containers + VMs

    View full-size slide

  11. 12
    Building VM images (the new way)

    View full-size slide

  12. 13
    GitOps all the things!
    a) Store desired state in Git
    b) Run an app reconciling
    desired => actual state
    c) App writes status back
    to Git
    d) Can observe diffs between
    observed and desired state

    View full-size slide

  13. 14
    => gitops-toolkit
    Prototype to make any
    app Git-backed
    Generic framework built
    upon k8s.io/apimachinery
    Common code broken
    out from Ignite

    View full-size slide

  14. 15
    Run Kubernetes on top of Ignite VMs
    - kind (yet TODO)
    - kubeadm HA sample guide
    - Footloose (like docker-compose)
    - Cluster API providers

    View full-size slide

  15. 16
    Read the Docs

    View full-size slide

  16. Thank you!
    @luxas on Github
    @luxas on Kubernetes’ Slack
    @kubernetesonarm on Twitter
    [email protected]

    View full-size slide