SlideShare a Scribd company logo
Copyright © 2017 Mirantis, Inc. All rights reserved
Contributions to Kubernetes
Ecosystem
Moscow Kubernetes Meetup
15.02.2017
2017 | www.mirantis.com
● Why we’re getting involved in Kubernetes
community?
○ Containers and Kubernetes are the future
○ Need to improve the state of Kubernetes on Bare Metal
○ Our customers want Kubernetes
○ Open contribution process
■ Much more meritocratic approach then in case of Docker Swarm or
Mesos
● It started with Kubernetes on OpenStack via Murano
The beginning of the story
2017 | www.mirantis.com
● Fixing bugs, writing tests
● Participating in SIG and Community meetings
● Helping with project management
● Trying to add features we need
Getting started with participating in k8s community
2017 | www.mirantis.com
● Lack of reviewers
● Complicated discussions about new functionality
○ DaemonSet upgrades and anti-affinity
○ Multiple runtimes in Kubelet
○ Node evacuation / maintenance (partially in)
○ ConfigMap templates (rejected)
● It’s hard to land XXL patches in general
● The upstream wants to keep the core small
○ They want Kubernetes to be “the Linux kernel of distributed
systems”
Problems with working upstream
2017 | www.mirantis.com
● Third Party Resources
● Container Runtime Interface
● External controllers that connect to apiserver
● Provide external tooling around kubernetes,
including one used for cluster setup
Extending Kubernetes without changing the core
2017 | www.mirantis.com
● k8s-AppController: managing complex deployments
● k8s-externalipcontroller: external IP support for bare
metal k8s clusters
● Kargo: setting up a Kubernetes cluster
○ It was not Mirantis project in the beginning, but as of now it’s
mostly ours
● Virtlet: running VM workloads on Kubernetes clusters
Mirantis projects belonging to k8s ecosystem
2017 | www.mirantis.com
● kubeadm-dind-cluster: running multinode
development clusters locally using Docker-in-Docker
● We didn’t stop being active in k8s core
○ we continue fixing bugs
○ also adding new features, e.g. for example, we’re working on
DaemonSet upgrades
● We lead SIG On-Prem, SIG-OpenStack and SIG-PM
● Mirantis is a member of CNCF
Mirantis projects belonging to k8s ecosystem
2017 | www.mirantis.com
● The very initial purpose of k8s was mostly running
“cattle” workloads
● Support for stateful workloads is improving over time
○ For instance, there’s support for PVs, StatefulSets, init
containers etc.
● Defining dependencies between Kubernetes objects
is hard
○ E.g. a web app pod may need to wait for its database to
become ready. This may be a problem for legacy apps
AppController: managing complex deployments
2017 | www.mirantis.com
AppController: managing complex deployments
Kubernetes cluster
AppController
pod
ThirdPartyResources
Resource
Definitions
Dependencies
Kubernetes
Objects
Kubectl (operator)
Creates
Extends API
Creates
Creates
Creates when
dependencies are met
Reads
Starts
Retrieves status
2017 | www.mirantis.com
● AppController represents k8s objects and their
dependencies as TPRs
● k8s objects are created when their dependencies are
satisfied
○ E.g. pod can depend on a service or a job that needs to be
complete before the pod is created
○ Objects can depend on objects that are created by
AppController or pre-existing k8s objects
● Helm integration is WiP
● Application Lifecycle Management (planned)
AppController: managing complex deployments
2017 | www.mirantis.com
● Ansible-based Kubernetes installer
● Supports AWS, GCE, Azure, OpenStack and BM
● Supports HA
● Flexible deployment options
○ A possibility to choose network plugin, load balancer, rkt
support for core services etc.
● Support most popular Linux distributions
● The project has extensive CI setup
● Battle-tested on Scale Lab (up to 1000 nodes)
● There are kubeadm integration plans
Kargo: setup a Kubernetes cluster
2017 | www.mirantis.com
● Some legacy applications can’t be easily
containerized
○ Substantial effort may be necessary for the transition, there
can be licensing problems, there’s need for extra isolation and
so on
● Virtlet runs VMs as Pods, supports QCOW2 images
● VMs can communicate with other Pods and access
cluster services
Virtlet: running VM workloads on k8s clusters
2017 | www.mirantis.com
Virtlet: running VM workloads on k8s clusters
2017 | www.mirantis.com
● The implementation is based on Container Runtime
Interface
○ CRI is also being used by cri-o, hyper, rkt
○ It will be also be used for Docker in Kubernetes soon
● We’re making it easy to install Virtlet on k8s clusters
○ It can run as a DaemonSet and still avoid chicken-and-egg
problem thanks to multiple runtime support provided by CRI
Proxy
● “Futuristic” use case: running Unikernel applications
on Kubernetes cluster
Virtlet: running VM workloads on k8s clusters
2017 | www.mirantis.com
● We will be speaking about more of our projects on
following meetups
● Questions?
Thanks for your attention!

More Related Content

PPTX
Deploy your favorite apps on Kubernetes
PDF
My kubernetes toolkit
PDF
Kubernetes - Starting with 1.2
PDF
From Code to Kubernetes
PDF
How Kubernetes helps Devops
PDF
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
PDF
Introduction to Kubernetes - Docker Global Mentor Week 2016
PDF
Integration kubernetes with docker private registry
Deploy your favorite apps on Kubernetes
My kubernetes toolkit
Kubernetes - Starting with 1.2
From Code to Kubernetes
How Kubernetes helps Devops
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Introduction to Kubernetes - Docker Global Mentor Week 2016
Integration kubernetes with docker private registry

What's hot (20)

PDF
Introduction of Kubernetes - Trang Nguyen
PDF
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
PDF
Kubernetes and Hybrid Deployments
PDF
16. Cncf meetup-docker
PDF
Microservices at scale with docker and kubernetes - AMS JUG 2017
PDF
Extended and embedding: containerd update & project use cases
PPTX
Containers without docker
PDF
Platform Orchestration with Kubernetes and Docker
PDF
Cloud spanner architecture and use cases
PDF
Kubernetes design principles, patterns and ecosystem
PDF
GlueCon kubernetes & container engine
PDF
Introduction to Kubernetes with demo
PDF
Kubernetes in Docker
PDF
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
PDF
Kubernetes basics and hands on exercise
PDF
Kubernetes - how to orchestrate containers
PPTX
OpenShift Application Development | DO288 | Red Hat OpenShift
PDF
An overview of the Kubernetes architecture
PDF
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
PDF
Kubernetes with docker
Introduction of Kubernetes - Trang Nguyen
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes and Hybrid Deployments
16. Cncf meetup-docker
Microservices at scale with docker and kubernetes - AMS JUG 2017
Extended and embedding: containerd update & project use cases
Containers without docker
Platform Orchestration with Kubernetes and Docker
Cloud spanner architecture and use cases
Kubernetes design principles, patterns and ecosystem
GlueCon kubernetes & container engine
Introduction to Kubernetes with demo
Kubernetes in Docker
Kubernetes上で動作する機械学習モジュールの配信&管理基盤Rekcurd について
Kubernetes basics and hands on exercise
Kubernetes - how to orchestrate containers
OpenShift Application Development | DO288 | Red Hat OpenShift
An overview of the Kubernetes architecture
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
Kubernetes with docker
Ad

Viewers also liked (20)

PDF
Welcome talk for Moscow Kubernetes Meetup 1
PPTX
Monitoring, Logging and Tracing on Kubernetes
PDF
Kubernetes laravel and kubernetes
PDF
GitLab, Prometheus и Grafana с Kubernetes
PDF
Teaching Apache Spark Clusters to Manage Their Workers Elastically: Spark Sum...
PDF
Deploying deep learning models with Docker and Kubernetes
PPTX
RackN DevOps meetup NYC
PDF
Opening: builderscon tokyo 2016
PDF
Net core, mssql, container und kubernetes
PPTX
Microservices summit talk 1/31
PPTX
Ростислав Фридман: “Kubernetes как средство управления микросервисами"
PPTX
Keeping up with Tech
PDF
Docker Containers in Azure
PPTX
Kubernetes as Orchestrator for A10 Lightning Controller
PDF
Google Cloud Computing compares GCE, GAE and GKE
PDF
Kubernetes API - deep dive into the kube-apiserver
PDF
Bangalore Container Conference - Sponsor Deck
PPTX
Running Docker in Production - The Good, the Bad and The Ugly
PPTX
Introduction to container mangement
PDF
Idea to Production - with Gitlab and Kubernetes
Welcome talk for Moscow Kubernetes Meetup 1
Monitoring, Logging and Tracing on Kubernetes
Kubernetes laravel and kubernetes
GitLab, Prometheus и Grafana с Kubernetes
Teaching Apache Spark Clusters to Manage Their Workers Elastically: Spark Sum...
Deploying deep learning models with Docker and Kubernetes
RackN DevOps meetup NYC
Opening: builderscon tokyo 2016
Net core, mssql, container und kubernetes
Microservices summit talk 1/31
Ростислав Фридман: “Kubernetes как средство управления микросервисами"
Keeping up with Tech
Docker Containers in Azure
Kubernetes as Orchestrator for A10 Lightning Controller
Google Cloud Computing compares GCE, GAE and GKE
Kubernetes API - deep dive into the kube-apiserver
Bangalore Container Conference - Sponsor Deck
Running Docker in Production - The Good, the Bad and The Ugly
Introduction to container mangement
Idea to Production - with Gitlab and Kubernetes
Ad

Similar to Mirantis Contributions to Kubernetes Ecosystem (20)

PDF
Kubernetes 1.12 Update and Container Security with Liz Rice
PDF
Herding Kats - Netflix’s Journey to Kubernetes Public
PDF
Introduction to Containers
PDF
[Global logic] container runtimes and kubernetes
PDF
Craig Box (Google) - The road to Kubernetes 1.0
PDF
Scalable Spark deployment using Kubernetes
PDF
Modern big data and machine learning in the era of cloud, docker and kubernetes
PDF
Multi-Cloud Orchestration for Kubernetes with Cloudify
PPTX
From development to production: Deploying Java and Scala apps to kubernetes
PPTX
Multi-Cloud Orchestration for Kubernetes with Cloudify - Webinar Presentation
PDF
The rise of microservices
PDF
A Tale of Three Tools: Kubernetes, Jsonnet, and Bazel
PDF
Container Landscape in 2019
PDF
LINE's Private Cloud - Meet Cloud Native World
PDF
Speed & Agility of Innovation with Docker & Kubernetes
 
PPTX
Hybrid cloud openstack meetup
PPTX
d2iq, d2iq konvoy, day 2 operations, lifecycle management, mayadata, mayadata...
PDF
Containers and Kubernetes
PDF
Scale into Multi-Cloud with Containers
PDF
Kubernetes: https://youtu.be/KnjnQj-FvfQ
Kubernetes 1.12 Update and Container Security with Liz Rice
Herding Kats - Netflix’s Journey to Kubernetes Public
Introduction to Containers
[Global logic] container runtimes and kubernetes
Craig Box (Google) - The road to Kubernetes 1.0
Scalable Spark deployment using Kubernetes
Modern big data and machine learning in the era of cloud, docker and kubernetes
Multi-Cloud Orchestration for Kubernetes with Cloudify
From development to production: Deploying Java and Scala apps to kubernetes
Multi-Cloud Orchestration for Kubernetes with Cloudify - Webinar Presentation
The rise of microservices
A Tale of Three Tools: Kubernetes, Jsonnet, and Bazel
Container Landscape in 2019
LINE's Private Cloud - Meet Cloud Native World
Speed & Agility of Innovation with Docker & Kubernetes
 
Hybrid cloud openstack meetup
d2iq, d2iq konvoy, day 2 operations, lifecycle management, mayadata, mayadata...
Containers and Kubernetes
Scale into Multi-Cloud with Containers
Kubernetes: https://youtu.be/KnjnQj-FvfQ

Recently uploaded (20)

PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Transform Your Business with a Software ERP System
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
top salesforce developer skills in 2025.pdf
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
history of c programming in notes for students .pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
System and Network Administraation Chapter 3
PPTX
Introduction to Artificial Intelligence
Which alternative to Crystal Reports is best for small or large businesses.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Transform Your Business with a Software ERP System
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Wondershare Filmora 15 Crack With Activation Key [2025
Upgrade and Innovation Strategies for SAP ERP Customers
Design an Analysis of Algorithms I-SECS-1021-03
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Design an Analysis of Algorithms II-SECS-1021-03
Internet Downloader Manager (IDM) Crack 6.42 Build 41
2025 Textile ERP Trends: SAP, Odoo & Oracle
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
top salesforce developer skills in 2025.pdf
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
history of c programming in notes for students .pptx
Operating system designcfffgfgggggggvggggggggg
System and Network Administraation Chapter 3
Introduction to Artificial Intelligence

Mirantis Contributions to Kubernetes Ecosystem

  • 1. Copyright © 2017 Mirantis, Inc. All rights reserved Contributions to Kubernetes Ecosystem Moscow Kubernetes Meetup 15.02.2017
  • 2. 2017 | www.mirantis.com ● Why we’re getting involved in Kubernetes community? ○ Containers and Kubernetes are the future ○ Need to improve the state of Kubernetes on Bare Metal ○ Our customers want Kubernetes ○ Open contribution process ■ Much more meritocratic approach then in case of Docker Swarm or Mesos ● It started with Kubernetes on OpenStack via Murano The beginning of the story
  • 3. 2017 | www.mirantis.com ● Fixing bugs, writing tests ● Participating in SIG and Community meetings ● Helping with project management ● Trying to add features we need Getting started with participating in k8s community
  • 4. 2017 | www.mirantis.com ● Lack of reviewers ● Complicated discussions about new functionality ○ DaemonSet upgrades and anti-affinity ○ Multiple runtimes in Kubelet ○ Node evacuation / maintenance (partially in) ○ ConfigMap templates (rejected) ● It’s hard to land XXL patches in general ● The upstream wants to keep the core small ○ They want Kubernetes to be “the Linux kernel of distributed systems” Problems with working upstream
  • 5. 2017 | www.mirantis.com ● Third Party Resources ● Container Runtime Interface ● External controllers that connect to apiserver ● Provide external tooling around kubernetes, including one used for cluster setup Extending Kubernetes without changing the core
  • 6. 2017 | www.mirantis.com ● k8s-AppController: managing complex deployments ● k8s-externalipcontroller: external IP support for bare metal k8s clusters ● Kargo: setting up a Kubernetes cluster ○ It was not Mirantis project in the beginning, but as of now it’s mostly ours ● Virtlet: running VM workloads on Kubernetes clusters Mirantis projects belonging to k8s ecosystem
  • 7. 2017 | www.mirantis.com ● kubeadm-dind-cluster: running multinode development clusters locally using Docker-in-Docker ● We didn’t stop being active in k8s core ○ we continue fixing bugs ○ also adding new features, e.g. for example, we’re working on DaemonSet upgrades ● We lead SIG On-Prem, SIG-OpenStack and SIG-PM ● Mirantis is a member of CNCF Mirantis projects belonging to k8s ecosystem
  • 8. 2017 | www.mirantis.com ● The very initial purpose of k8s was mostly running “cattle” workloads ● Support for stateful workloads is improving over time ○ For instance, there’s support for PVs, StatefulSets, init containers etc. ● Defining dependencies between Kubernetes objects is hard ○ E.g. a web app pod may need to wait for its database to become ready. This may be a problem for legacy apps AppController: managing complex deployments
  • 9. 2017 | www.mirantis.com AppController: managing complex deployments Kubernetes cluster AppController pod ThirdPartyResources Resource Definitions Dependencies Kubernetes Objects Kubectl (operator) Creates Extends API Creates Creates Creates when dependencies are met Reads Starts Retrieves status
  • 10. 2017 | www.mirantis.com ● AppController represents k8s objects and their dependencies as TPRs ● k8s objects are created when their dependencies are satisfied ○ E.g. pod can depend on a service or a job that needs to be complete before the pod is created ○ Objects can depend on objects that are created by AppController or pre-existing k8s objects ● Helm integration is WiP ● Application Lifecycle Management (planned) AppController: managing complex deployments
  • 11. 2017 | www.mirantis.com ● Ansible-based Kubernetes installer ● Supports AWS, GCE, Azure, OpenStack and BM ● Supports HA ● Flexible deployment options ○ A possibility to choose network plugin, load balancer, rkt support for core services etc. ● Support most popular Linux distributions ● The project has extensive CI setup ● Battle-tested on Scale Lab (up to 1000 nodes) ● There are kubeadm integration plans Kargo: setup a Kubernetes cluster
  • 12. 2017 | www.mirantis.com ● Some legacy applications can’t be easily containerized ○ Substantial effort may be necessary for the transition, there can be licensing problems, there’s need for extra isolation and so on ● Virtlet runs VMs as Pods, supports QCOW2 images ● VMs can communicate with other Pods and access cluster services Virtlet: running VM workloads on k8s clusters
  • 13. 2017 | www.mirantis.com Virtlet: running VM workloads on k8s clusters
  • 14. 2017 | www.mirantis.com ● The implementation is based on Container Runtime Interface ○ CRI is also being used by cri-o, hyper, rkt ○ It will be also be used for Docker in Kubernetes soon ● We’re making it easy to install Virtlet on k8s clusters ○ It can run as a DaemonSet and still avoid chicken-and-egg problem thanks to multiple runtime support provided by CRI Proxy ● “Futuristic” use case: running Unikernel applications on Kubernetes cluster Virtlet: running VM workloads on k8s clusters
  • 15. 2017 | www.mirantis.com ● We will be speaking about more of our projects on following meetups ● Questions? Thanks for your attention!