4. job hello_world = {
runtime = { cell = 'ic' } // Cell
(cluster) to run in
binary = '.../hello_world_webserver' // Program to
run
args = { port = '%port%' } // Command line
parameters
requirements = { // Resource requirements
ram = 100M
disk = 100M
cpu = 0.1
}
replicas = 5 // Number of tasks
}
10000
User view
(optional) .
6. What just
happened?
web
browsers
BorgMaster
link shard
UI
shard
BorgMaster
link shard
UI
shard
BorgMaster
link shard
UI
shard
BorgMaster
link shard
UI
shard
Cell
Schedul
er
borgcfg
web
browsers
schedule
r
Borglet Borglet Borglet Borglet
BorgMaster
link shard
read/U
I shard
Config
file
persistent
store (Paxos)
Binary
User view
13. A few other moving parts
web
browsers
BorgMaster
link shard
UI
shardBorgMaster
link shard
UI
shardBorgMaster
link shard
UI
shardBorgMaster
link shard
UI
shard
Cell
Schedul
er
borgcfg
web
browsers
schedule
r
Borglet Borglet Borglet Borglet
BorgMaster
link shard
read/U
I shard
Config
file
persistent
store (Paxos)
Binary
16. A few other moving parts
app
agent
master
system config
monitoring
security accounting/planning
binaries + data
distribution
job
config
storage
Diagram from an original by Cody Smith.
17. Building what’s
next
17
Containers at Google
Developed as the only
practical way to
manage Google-scale
compute
Everything at Google
runs in a container
We launch over
2 Billion
containers per week.
19. Kubernetes
Direct Borg analogues:
● Borg containers => Docker containers
● alloc (task group) => pod (container
group)
● Borglet => Kubelet
● Paxos => persistent, declarative specs
● reconciliation loops
20. New / improved:
● labels + label queries
● service abstraction
● composable microservices
● IP per pod
Kubernetes
21. Kubernetes Roadmap
Milestones
• 1.0 stable in June 2015
• 1.1 Nov 9th 2015 (perf, pod autoscaling, http LB, no APi
change)
Cloud Native Computing Foundation
• Linux Foundation
• VMWare, RedHat, Joyent, Mesosphere, Docker, IBM,
CloudFoundry, CoreOS, Cisco, Google, …
• cncf.io