SlideShare a Scribd company logo
rkt
Yutaka Matsubara
April 9, 2015
CoreOS Meetup Tokyo #1
who ?
Yutaka Matsubara
Abby CTO
twitter @mopemope
github @mopemope
1
rkt
what is rkt ?
App Container Runtime
3
rkt
rkt implements the two runtime components of the App Container
specification
∙ Application Container Executor (ACE)
∙ Metadata Service
4
app container
what is app container ?
App Container is a specification of an image format runtime, and
discovery protocol for running applications in containers.
6
app container spec
∙ Building App Container
∙ Validating App Container
∙ Validating App Container Executors
∙ Discovery App Container Image Discovery
7
goal
The core goals of the specification
∙ Designing for fast downloads and starts of App Containers
∙ Ensuring images are cryptographically verifiable and highly
cacheable
∙ Designing for composability and independent implementations
∙ Using common technologies for cryptography, archiving,
compression and transport
∙ Using the DNS namespace to name and discover images
8
keyword
∙ App Container Image
∙ App Container Image Discovery
∙ App Container Pod
∙ App Container Executor
9
manifest
App Container Manifest is json format
10
image manifest
{
”acKind”: ”ImageManifest”,
”acVersion”: ”0.5.1”,
”name”: ”xxxxx/xxxxxx”,
”app”: {
”exec”: [
”/usr/bin/reduce-worker”,
”--quiet”
],
”user”: ”100”,
”group”: ”300”,
”workingDirectory”: ”/opt/work”,
”environment”: [
{
”name”: ”REDUCE_WORKER_DEBUG”,
”value”: ”true”
}
],
},
}
11
pod manifest
{
”acVersion”: ”0.5.1”,
”acKind”: ”PodManifest”,
”apps”: [
{
”name”: ”main”,
”image”: {
”name”: ”example.com/xxxxxx”,
},
”app”: {
”exec”: [
],
},
},
{
”name”: ”backup”,
”image”: {
”name”: ”example.com/zzzzzzzz”,
},
12
diffrence docker
what is difference between rkt and docker?
∙ Composable
∙ Security
∙ Image disribution
∙ Open
14
composable
∙ central daemon
∙ pull image docker format
∙ push image docker format
∙ monolithic binary
∙ no daemon
∙ download common format
∙ upload common format
∙ independent and composable
15
security
∙ central daemon
∙ docker spec
∙ https certificate
∙ isolation
∙ crypto
∙ image auditing
16
image distribution
∙ docker spec
∙ docker hub
∙ docker registry
∙ standard and open spec
∙ simple
∙ without registry
17
open
∙ developed by a community
∙ docker spec ...
∙ developed by a community
∙ format and runtime
specification
18
detail rkt
rkt
∙ Download ACI and Docker Image
∙ Verify Signatures
∙ Launching Container and Pod
∙ Enter Container
∙ Private Network
∙ Metadata Service
20
rkt
Architecture
21
trust
Get trusted key
$ sudo rkt trust --prefix storage.coreos.com
22
fetch
Download Container Image and Verify
∙ Localfile
∙ HTTP, HTTPS
∙ Docker Image
23
fetch
$ sudo rkt --insecure-skip-verify fetch docker://httpd docker://mysql
rkt: fetching image from docker://httpd
sha512-73e53da5b22e08e3ebf5eeb47d8c3113
rkt: fetching image from docker://mysql
sha512-8ea09fa7718553967e8b6fe50b72df68
24
prepare
Holding an exclusive lock on the pod directory
$ sudo rkt --insecure-skip-verify prepare docker://httpd
rkt: fetching image from docker://httpd
ea5cf47a-6b5b-4118-be9d-91d50e7258cb
25
prepare
$ rkt list
UUID ACI STATE NETWORKS
ea5cf47a index.docker.io/httpd prepared
26
run
Run Container
run run container (prepare and run)
run-prepared run prepared container
∙ set and override environment
∙ run interactively
∙ mount volume
∙ setup container network
27
run
$ sudo rkt --insecure-skip-verify --debug run --private-net docker://httpd
rkt: fetching image from file:///home/ma2/bin/stage1.aci
rkt: fetching image from docker://httpd
...
AH00557: httpd: apr_sockaddr_info_get() failed for rkt-50beacf8-d43d-4a79-8d40-a5938d71ddba
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name,
using 127.0.0.1. Set the ’ServerName’ directive globally to suppress this message
AH00557: httpd: apr_sockaddr_info_get() failed for rkt-50beacf8-d43d-4a79-8d40-a5938d71ddba
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name,
using 127.0.0.1. Set the ’ServerName’ directive globally to suppress this message
[Wed Apr 08 06:17:15.107888 2015] [mpm_event:notice] [pid 5:tid 139942464178048]
AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations
[Wed Apr 08 06:17:15.107956 2015] [core:notice] [pid 5:tid 139942464178048] AH00094: Command l
D FOREGROUND’
28
run
$ rkt list
UUID ACI STATE NETWORKS
50beacf8 index.docker.io/httpd running default:ip4=172.16.28.3
29
private network
Support Private Network (only static)
∙ private (NAT)
∙ bridge
∙ macvlan
30
port forward
Exposing container ports on the host
”ports”: [
{
”name”: ”http”,
”port”: 80,
”protocol”: ”tcp”
}
]
31
port forward
Exposing container ports on the host
$ sudo rkt --insecure-skip-verify run --port=http:8888 --private-net docker://httpd
32
demo
DEMO
34
Questions?
35

More Related Content

PDF
Docker 進階實務班
PPTX
Cloud Foundry V2 | Intermediate Deep Dive
PDF
Introduction to Project atomic (CentOS Dojo Bangalore)
PDF
Using docker to develop NAS applications
PDF
猿でもわかるコンテナ
PPTX
Windows Server Containers- How we hot here and architecture deep dive
PDF
桃園市教育局Docker技術入門與實作
PDF
[DockerCon 2019] Hardening Docker daemon with Rootless mode
Docker 進階實務班
Cloud Foundry V2 | Intermediate Deep Dive
Introduction to Project atomic (CentOS Dojo Bangalore)
Using docker to develop NAS applications
猿でもわかるコンテナ
Windows Server Containers- How we hot here and architecture deep dive
桃園市教育局Docker技術入門與實作
[DockerCon 2019] Hardening Docker daemon with Rootless mode

What's hot (20)

PDF
Docker & GitLab
PDF
Docker研習營
PDF
DCSF 19 Deploying Rootless buildkit on Kubernetes
PDF
What’s New in Docker - Victor Vieux, Docker
PDF
Securing Containers, One Patch at a Time - Michael Crosby, Docker
PPTX
Docker - Demo on PHP Application deployment
PDF
How to easy deploy app into any cloud
PDF
From dev to prod: Kubernetes on AWS (short ver.)
PDF
容器與資料科學應用
PDF
Docker 1.11
PDF
Microservices at scale with docker and kubernetes - AMS JUG 2017
PDF
Docker on Google App Engine
PDF
Docker 101 @KACST Saudi HPC 2016
PPTX
Dockerin10mins
PDF
Kubernetes laravel and kubernetes
PDF
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
PDF
Using Containers for Continuous Integration and Continuous Delivery
PDF
Introduction to CRI and OCI
PDF
Automatically Renew Certificated In Your Kubernetes Cluster
PDF
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
Docker & GitLab
Docker研習營
DCSF 19 Deploying Rootless buildkit on Kubernetes
What’s New in Docker - Victor Vieux, Docker
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Docker - Demo on PHP Application deployment
How to easy deploy app into any cloud
From dev to prod: Kubernetes on AWS (short ver.)
容器與資料科學應用
Docker 1.11
Microservices at scale with docker and kubernetes - AMS JUG 2017
Docker on Google App Engine
Docker 101 @KACST Saudi HPC 2016
Dockerin10mins
Kubernetes laravel and kubernetes
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
Using Containers for Continuous Integration and Continuous Delivery
Introduction to CRI and OCI
Automatically Renew Certificated In Your Kubernetes Cluster
On-Demand Image Resizing from Part of the monolith to Containerized Microserv...
Ad

Similar to RKT (20)

PDF
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
PDF
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
PDF
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
PDF
Rkt Container Engine
PDF
App container rkt
PDF
Very Early Review - Rocket(CoreOS)
PPTX
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
PDF
Securing Containerized Applications: A Primer
PDF
Veer's Container Security
PPTX
TIAD 2016 : Migrating 100% of your production services to containers
PDF
Challenges of container configuration
PDF
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
PDF
OSDC 2016 - Inspecting Security of Docker formatted Container Images to find ...
PDF
Containerizing your Security Operations Center
PPTX
CoreOS: The Inside and Outside of Linux Containers
PDF
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
PDF
Containerd Project Update: FOSDEM 2018
PDF
Python Web Conference 2022 - Why should devs care about container security.pdf
PDF
The ABC of Docker: The Absolute Best Compendium of Docker
PDF
Using Docker with OpenStack - Hands On!
OSDC 2016 - rkt and Kubernentes what's new with Container Runtimes and Orches...
OSDC 2016 | rkt and Kubernetes: What’s new with Container Runtimes and Orches...
KubeCon EU 2016: "rktnetes": what's new with container runtimes and Kubernetes
Rkt Container Engine
App container rkt
Very Early Review - Rocket(CoreOS)
Tectonic Summit 2016: Brandon Philips, CTO of CoreOS, Keynote
Securing Containerized Applications: A Primer
Veer's Container Security
TIAD 2016 : Migrating 100% of your production services to containers
Challenges of container configuration
PuppetConf 2016: The Challenges with Container Configuration – David Lutterko...
OSDC 2016 - Inspecting Security of Docker formatted Container Images to find ...
Containerizing your Security Operations Center
CoreOS: The Inside and Outside of Linux Containers
[EXTENDED] Ceph, Docker, Heroku Slugs, CoreOS and Deis Overview
Containerd Project Update: FOSDEM 2018
Python Web Conference 2022 - Why should devs care about container security.pdf
The ABC of Docker: The Absolute Best Compendium of Docker
Using Docker with OpenStack - Hands On!
Ad

Recently uploaded (20)

PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
assetexplorer- product-overview - presentation
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
Cost to Outsource Software Development in 2025
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Odoo Companies in India – Driving Business Transformation.pdf
AI-Powered Threat Modeling: The Future of Cybersecurity by Arun Kumar Elengov...
Why Generative AI is the Future of Content, Code & Creativity?
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Computer Software and OS of computer science of grade 11.pptx
Advanced SystemCare Ultimate Crack + Portable (2025)
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Designing Intelligence for the Shop Floor.pdf
assetexplorer- product-overview - presentation
Internet Downloader Manager (IDM) Crack 6.42 Build 41
17 Powerful Integrations Your Next-Gen MLM Software Needs
Cost to Outsource Software Development in 2025
Salesforce Agentforce AI Implementation.pdf
Design an Analysis of Algorithms I-SECS-1021-03

RKT

  • 1. rkt Yutaka Matsubara April 9, 2015 CoreOS Meetup Tokyo #1
  • 2. who ? Yutaka Matsubara Abby CTO twitter @mopemope github @mopemope 1
  • 3. rkt
  • 4. what is rkt ? App Container Runtime 3
  • 5. rkt rkt implements the two runtime components of the App Container specification ∙ Application Container Executor (ACE) ∙ Metadata Service 4
  • 7. what is app container ? App Container is a specification of an image format runtime, and discovery protocol for running applications in containers. 6
  • 8. app container spec ∙ Building App Container ∙ Validating App Container ∙ Validating App Container Executors ∙ Discovery App Container Image Discovery 7
  • 9. goal The core goals of the specification ∙ Designing for fast downloads and starts of App Containers ∙ Ensuring images are cryptographically verifiable and highly cacheable ∙ Designing for composability and independent implementations ∙ Using common technologies for cryptography, archiving, compression and transport ∙ Using the DNS namespace to name and discover images 8
  • 10. keyword ∙ App Container Image ∙ App Container Image Discovery ∙ App Container Pod ∙ App Container Executor 9
  • 11. manifest App Container Manifest is json format 10
  • 12. image manifest { ”acKind”: ”ImageManifest”, ”acVersion”: ”0.5.1”, ”name”: ”xxxxx/xxxxxx”, ”app”: { ”exec”: [ ”/usr/bin/reduce-worker”, ”--quiet” ], ”user”: ”100”, ”group”: ”300”, ”workingDirectory”: ”/opt/work”, ”environment”: [ { ”name”: ”REDUCE_WORKER_DEBUG”, ”value”: ”true” } ], }, } 11
  • 13. pod manifest { ”acVersion”: ”0.5.1”, ”acKind”: ”PodManifest”, ”apps”: [ { ”name”: ”main”, ”image”: { ”name”: ”example.com/xxxxxx”, }, ”app”: { ”exec”: [ ], }, }, { ”name”: ”backup”, ”image”: { ”name”: ”example.com/zzzzzzzz”, }, 12
  • 15. what is difference between rkt and docker? ∙ Composable ∙ Security ∙ Image disribution ∙ Open 14
  • 16. composable ∙ central daemon ∙ pull image docker format ∙ push image docker format ∙ monolithic binary ∙ no daemon ∙ download common format ∙ upload common format ∙ independent and composable 15
  • 17. security ∙ central daemon ∙ docker spec ∙ https certificate ∙ isolation ∙ crypto ∙ image auditing 16
  • 18. image distribution ∙ docker spec ∙ docker hub ∙ docker registry ∙ standard and open spec ∙ simple ∙ without registry 17
  • 19. open ∙ developed by a community ∙ docker spec ... ∙ developed by a community ∙ format and runtime specification 18
  • 21. rkt ∙ Download ACI and Docker Image ∙ Verify Signatures ∙ Launching Container and Pod ∙ Enter Container ∙ Private Network ∙ Metadata Service 20
  • 23. trust Get trusted key $ sudo rkt trust --prefix storage.coreos.com 22
  • 24. fetch Download Container Image and Verify ∙ Localfile ∙ HTTP, HTTPS ∙ Docker Image 23
  • 25. fetch $ sudo rkt --insecure-skip-verify fetch docker://httpd docker://mysql rkt: fetching image from docker://httpd sha512-73e53da5b22e08e3ebf5eeb47d8c3113 rkt: fetching image from docker://mysql sha512-8ea09fa7718553967e8b6fe50b72df68 24
  • 26. prepare Holding an exclusive lock on the pod directory $ sudo rkt --insecure-skip-verify prepare docker://httpd rkt: fetching image from docker://httpd ea5cf47a-6b5b-4118-be9d-91d50e7258cb 25
  • 27. prepare $ rkt list UUID ACI STATE NETWORKS ea5cf47a index.docker.io/httpd prepared 26
  • 28. run Run Container run run container (prepare and run) run-prepared run prepared container ∙ set and override environment ∙ run interactively ∙ mount volume ∙ setup container network 27
  • 29. run $ sudo rkt --insecure-skip-verify --debug run --private-net docker://httpd rkt: fetching image from file:///home/ma2/bin/stage1.aci rkt: fetching image from docker://httpd ... AH00557: httpd: apr_sockaddr_info_get() failed for rkt-50beacf8-d43d-4a79-8d40-a5938d71ddba AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1. Set the ’ServerName’ directive globally to suppress this message AH00557: httpd: apr_sockaddr_info_get() failed for rkt-50beacf8-d43d-4a79-8d40-a5938d71ddba AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1. Set the ’ServerName’ directive globally to suppress this message [Wed Apr 08 06:17:15.107888 2015] [mpm_event:notice] [pid 5:tid 139942464178048] AH00489: Apache/2.4.12 (Unix) configured -- resuming normal operations [Wed Apr 08 06:17:15.107956 2015] [core:notice] [pid 5:tid 139942464178048] AH00094: Command l D FOREGROUND’ 28
  • 30. run $ rkt list UUID ACI STATE NETWORKS 50beacf8 index.docker.io/httpd running default:ip4=172.16.28.3 29
  • 31. private network Support Private Network (only static) ∙ private (NAT) ∙ bridge ∙ macvlan 30
  • 32. port forward Exposing container ports on the host ”ports”: [ { ”name”: ”http”, ”port”: 80, ”protocol”: ”tcp” } ] 31
  • 33. port forward Exposing container ports on the host $ sudo rkt --insecure-skip-verify run --port=http:8888 --private-net docker://httpd 32
  • 34. demo