SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Suraj Deshmukh
Bangalore Kubernetes Meetup - April 2017
on
About me:
● Contributor to Kompose, OpenCompose,
OpenShift, cri-o, etc.
● Red Hatter.
● OpenSource enthusiast.
● Find me:
○ Twitter: surajd_
○ IRC, slack, telegram: surajd
○ suraj.io
○ surajd.service@gmail.com & surajd@redhat.com
Some jargons
OCI - Open Container Initiative
The Open Container Initiative (OCI) is a lightweight, open governance structure (project), formed under the
auspices of the Linux Foundation, for the express purpose of creating open industry standards around
container formats and runtime. The OCI was launched on June 22nd 2015 by Docker, CoreOS and other
leaders in the container industry.
OCI
● It contains two specification, the container runtime specification and
container image specification.
● Runtime specification defines how to run a filesystem bundle that is
unpacked on the disk.
● Image specification defines container image format which has sufficient
information to run an application on target platform.
CRI - Container Runtime Interface
● Plugin API for container runtimes.
● These new clearly defined abstraction enables anyone to define container
runtime and plugin with kubernetes.
● This helps support for multiple runtimes without the need to recompile
code.
● There are many CRI runtimes in progress crio, rktlet, frakti, etc.
CRI
● docker and rkt integration was done by directly writing code in k8s repo.
● This code will be deprecated in k8s1.7
● Now docker integration is using docker CRI.
● Docker supported versions are 1.11 & 1.12
CRI-O
OCI-based implementation of Kubernetes Container Runtime Interface
CRI-O
● Any runtime that is OCI compliant can be plugged in to kubelet and that
glue is CRI-O
● CRI-O has runtime service and the image service
● All the runtime knows is how to start/stop/remove sandboxes, pod,
container
● Container process lifecycle
● Container image lifecycle
Components
● Server:
○ ocid server
○ conmon
○ image and storage
○ cni
○ OCI runtime
● Clients:
○ kubelet
○ ocic
ocid
● gRPC API
● ocid is the daemon listening on UNIX socket and takes request from client
● It does runtime and image management
conmon
● Standalone C application
● Sits in between ocid and runtime
● It is parent to container, this decouples the container from ocid daemon
● IO, logs, container exit codes, etc.
Image and storage
● containers/image
● containers/storage
CNI - networking
● The CNI (Container Network Interface) project consists of a specification
and libraries for writing plugins to configure network interfaces in Linux
containers, along with a number of supported plugins.
● CNI concerns itself only with network connectivity of containers and
removing allocated resources when the container is deleted.
OCI runtime
● Any OCI conformant runtime can be plugged in.
● cri-o's default is runc, which is the reference implementation for the OCI
runtime specification.
● runc can do all the things that docker or rkt can do except building image.
Demo
Setup: http://suraj.io/post/using-crio-with-k8s-single-node/
References
● OCI https://www.opencontainers.org/about
● Image spec https://github.com/opencontainers/image-spec
● Runtime spec https://github.com/opencontainers/runtime-spec
● CRIO project https://github.com/kubernetes-incubator/cri-o
● CRI: the Container Runtime Interface
https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md
● Frakti https://github.com/kubernetes/frakti
● Intro to CRI http://blog.kubernetes.io/2016/12/container-runtime-interface-cri-in-kubernetes.html
● How CRI-O Would Put Kubernetes at the Center of the Container Ecosystem
https://thenewstack.io/cri-o-make-kubernetes-center-container-ecosystem
● CRI-O: A kubernetes runtime https://www.youtube.com/watch?v=R-p7BXhtodo
Thank You

Mais conteúdo relacionado

Mais procurados

Libcontainer: joining forces under one roof
Libcontainer: joining forces under one roofLibcontainer: joining forces under one roof
Libcontainer: joining forces under one roof
Andrey Vagin
 

Mais procurados (16)

Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018Containerd Project Update: FOSDEM 2018
Containerd Project Update: FOSDEM 2018
 
Moby Summit introduction
Moby Summit introductionMoby Summit introduction
Moby Summit introduction
 
An Open Source Story: Open Containers & Open Communities
An Open Source Story: Open Containers & Open CommunitiesAn Open Source Story: Open Containers & Open Communities
An Open Source Story: Open Containers & Open Communities
 
Automated testing with Openshift
Automated testing with OpenshiftAutomated testing with Openshift
Automated testing with Openshift
 
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDaysThe world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
The world of Containers with Podman, Buildah, Skopeo by Seema - CCDays
 
The State of containerd
The State of containerdThe State of containerd
The State of containerd
 
Docker Introduction - DevOps Montreal Meetup
Docker Introduction - DevOps Montreal MeetupDocker Introduction - DevOps Montreal Meetup
Docker Introduction - DevOps Montreal Meetup
 
OpenDataPlane Testing in Travis
OpenDataPlane Testing in TravisOpenDataPlane Testing in Travis
OpenDataPlane Testing in Travis
 
NUS-ISS Learning Day 2017 - Bots-Managed CloudOps
NUS-ISS Learning Day 2017 - Bots-Managed CloudOpsNUS-ISS Learning Day 2017 - Bots-Managed CloudOps
NUS-ISS Learning Day 2017 - Bots-Managed CloudOps
 
How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)How Docker didn't invent containers (Docker Meetup Brno #1)
How Docker didn't invent containers (Docker Meetup Brno #1)
 
Scaling Docker Registry
Scaling Docker RegistryScaling Docker Registry
Scaling Docker Registry
 
Knowit study group örnsköldsvik - introduction to qt & qt creator
Knowit   study group örnsköldsvik - introduction to qt & qt creatorKnowit   study group örnsköldsvik - introduction to qt & qt creator
Knowit study group örnsköldsvik - introduction to qt & qt creator
 
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSPBKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
 
PostgreSQL Setup Using Docker
PostgreSQL Setup Using DockerPostgreSQL Setup Using Docker
PostgreSQL Setup Using Docker
 
Libcontainer: joining forces under one roof
Libcontainer: joining forces under one roofLibcontainer: joining forces under one roof
Libcontainer: joining forces under one roof
 
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usageSFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
 

Semelhante a Kubernetes on CRI-O

Semelhante a Kubernetes on CRI-O (20)

Looking Under The Hood: containerD
Looking Under The Hood: containerDLooking Under The Hood: containerD
Looking Under The Hood: containerD
 
Docker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine EvolutionDocker London Meetup: Docker Engine Evolution
Docker London Meetup: Docker Engine Evolution
 
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
 
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
 
16. Cncf meetup-docker
16. Cncf meetup-docker16. Cncf meetup-docker
16. Cncf meetup-docker
 
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
gVisor, Kata Containers, Firecracker, Docker: Who is Who in the Container Space?
 
Fabric8 CI/CD
Fabric8 CI/CDFabric8 CI/CD
Fabric8 CI/CD
 
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
Velocity NYC 2017: Building Resilient Microservices with Kubernetes, Docker, ...
 
Future of Microservices - Jakub Hadvig
Future of Microservices - Jakub HadvigFuture of Microservices - Jakub Hadvig
Future of Microservices - Jakub Hadvig
 
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
 
[KubeCon EU 2021] Introduction and Deep Dive Into Containerd
[KubeCon EU 2021] Introduction and Deep Dive Into Containerd[KubeCon EU 2021] Introduction and Deep Dive Into Containerd
[KubeCon EU 2021] Introduction and Deep Dive Into Containerd
 
Introduction and Deep Dive Into Containerd
Introduction and Deep Dive Into ContainerdIntroduction and Deep Dive Into Containerd
Introduction and Deep Dive Into Containerd
 
Docker Birtday #5
Docker Birtday #5Docker Birtday #5
Docker Birtday #5
 
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
KubeCon EU 2016: "rktnetes": what's new with container runtimes and KubernetesKubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
 
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
Cinder Update, OpenInfra Meetup Q3 China, 2020-09-26
 
[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes[Global logic] container runtimes and kubernetes
[Global logic] container runtimes and kubernetes
 
Developer workflow with docker
Developer workflow with dockerDeveloper workflow with docker
Developer workflow with docker
 
Docker introduction for Carbon IT
Docker introduction for Carbon ITDocker introduction for Carbon IT
Docker introduction for Carbon IT
 
Davide Ricci - Continuos compliance @ Linaro.pdf
Davide Ricci - Continuos compliance @ Linaro.pdfDavide Ricci - Continuos compliance @ Linaro.pdf
Davide Ricci - Continuos compliance @ Linaro.pdf
 
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
CodiLime Tech Talk - Dawid Trzebiatowski i Wojciech Urbański: Opening the Flo...
 

Mais de Suraj Deshmukh

Mais de Suraj Deshmukh (13)

Building Container Defence Executable at a Time.pdf
Building Container Defence Executable at a Time.pdfBuilding Container Defence Executable at a Time.pdf
Building Container Defence Executable at a Time.pdf
 
Kubernetes psp and beyond
Kubernetes psp and beyondKubernetes psp and beyond
Kubernetes psp and beyond
 
Hardening Kubernetes by Securing Pods
Hardening Kubernetes by Securing PodsHardening Kubernetes by Securing Pods
Hardening Kubernetes by Securing Pods
 
Kubernetes Security Updates from Kubecon 2018 Seattle
Kubernetes Security Updates from Kubecon 2018 SeattleKubernetes Security Updates from Kubecon 2018 Seattle
Kubernetes Security Updates from Kubecon 2018 Seattle
 
Making kubernetes simple for developers
Making kubernetes simple for developersMaking kubernetes simple for developers
Making kubernetes simple for developers
 
Microservices on Kubernetes - The simple way
Microservices on Kubernetes - The simple wayMicroservices on Kubernetes - The simple way
Microservices on Kubernetes - The simple way
 
Taking containers from development to production
Taking containers from development to productionTaking containers from development to production
Taking containers from development to production
 
JSONSchema with golang
JSONSchema with golangJSONSchema with golang
JSONSchema with golang
 
What's new in kubernetes 1.3?
What's new in kubernetes 1.3?What's new in kubernetes 1.3?
What's new in kubernetes 1.3?
 
Python testing using mock and pytest
Python testing using mock and pytestPython testing using mock and pytest
Python testing using mock and pytest
 
OpenShift meetup Bangalore
OpenShift meetup BangaloreOpenShift meetup Bangalore
OpenShift meetup Bangalore
 
macvlan and ipvlan
macvlan and ipvlanmacvlan and ipvlan
macvlan and ipvlan
 
Henge
HengeHenge
Henge
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 

Último (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

Kubernetes on CRI-O

  • 1. Suraj Deshmukh Bangalore Kubernetes Meetup - April 2017 on
  • 2. About me: ● Contributor to Kompose, OpenCompose, OpenShift, cri-o, etc. ● Red Hatter. ● OpenSource enthusiast. ● Find me: ○ Twitter: surajd_ ○ IRC, slack, telegram: surajd ○ suraj.io ○ surajd.service@gmail.com & surajd@redhat.com
  • 4. OCI - Open Container Initiative The Open Container Initiative (OCI) is a lightweight, open governance structure (project), formed under the auspices of the Linux Foundation, for the express purpose of creating open industry standards around container formats and runtime. The OCI was launched on June 22nd 2015 by Docker, CoreOS and other leaders in the container industry.
  • 5. OCI ● It contains two specification, the container runtime specification and container image specification. ● Runtime specification defines how to run a filesystem bundle that is unpacked on the disk. ● Image specification defines container image format which has sufficient information to run an application on target platform.
  • 6. CRI - Container Runtime Interface ● Plugin API for container runtimes. ● These new clearly defined abstraction enables anyone to define container runtime and plugin with kubernetes. ● This helps support for multiple runtimes without the need to recompile code. ● There are many CRI runtimes in progress crio, rktlet, frakti, etc.
  • 7. CRI ● docker and rkt integration was done by directly writing code in k8s repo. ● This code will be deprecated in k8s1.7 ● Now docker integration is using docker CRI. ● Docker supported versions are 1.11 & 1.12
  • 8. CRI-O OCI-based implementation of Kubernetes Container Runtime Interface
  • 9. CRI-O ● Any runtime that is OCI compliant can be plugged in to kubelet and that glue is CRI-O ● CRI-O has runtime service and the image service ● All the runtime knows is how to start/stop/remove sandboxes, pod, container ● Container process lifecycle ● Container image lifecycle
  • 10. Components ● Server: ○ ocid server ○ conmon ○ image and storage ○ cni ○ OCI runtime ● Clients: ○ kubelet ○ ocic
  • 11. ocid ● gRPC API ● ocid is the daemon listening on UNIX socket and takes request from client ● It does runtime and image management
  • 12. conmon ● Standalone C application ● Sits in between ocid and runtime ● It is parent to container, this decouples the container from ocid daemon ● IO, logs, container exit codes, etc.
  • 13. Image and storage ● containers/image ● containers/storage
  • 14. CNI - networking ● The CNI (Container Network Interface) project consists of a specification and libraries for writing plugins to configure network interfaces in Linux containers, along with a number of supported plugins. ● CNI concerns itself only with network connectivity of containers and removing allocated resources when the container is deleted.
  • 15. OCI runtime ● Any OCI conformant runtime can be plugged in. ● cri-o's default is runc, which is the reference implementation for the OCI runtime specification. ● runc can do all the things that docker or rkt can do except building image.
  • 17. References ● OCI https://www.opencontainers.org/about ● Image spec https://github.com/opencontainers/image-spec ● Runtime spec https://github.com/opencontainers/runtime-spec ● CRIO project https://github.com/kubernetes-incubator/cri-o ● CRI: the Container Runtime Interface https://github.com/kubernetes/community/blob/master/contributors/devel/container-runtime-interface.md ● Frakti https://github.com/kubernetes/frakti ● Intro to CRI http://blog.kubernetes.io/2016/12/container-runtime-interface-cri-in-kubernetes.html ● How CRI-O Would Put Kubernetes at the Center of the Container Ecosystem https://thenewstack.io/cri-o-make-kubernetes-center-container-ecosystem ● CRI-O: A kubernetes runtime https://www.youtube.com/watch?v=R-p7BXhtodo