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 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 Slide

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

    View 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 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 Slide

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

    View Slide

  7. 7

    View Slide

  8. 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 Slide

  9. 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 Slide

  10. 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 Slide

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

    View Slide

  12. 12
    Building VM images (the new way)

    View Slide

  13. 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 Slide

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

    View Slide

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

    View Slide

  16. 16
    Read the Docs

    View Slide

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

    View Slide