Page 1
06/01/2016 Etourneau Gwenn
@The_shinji62
Bosh 2.0
Page 2
About meEtourneau Gwenn
Sr Solution Architect
Bef.: Platform Architect
https://github.com/shinji62
https://twitter.com/the_shinji62
Page 3
Pivotal
• Spring Framework • RabbitMQ • Concourse
• Cloud Foundry • Pivotal Tracker • Gemfire
Page 5
Agenda
• wtf is bosh ? • Architecture • Demo • Q&A
Page 9
Bosh
Deployment files
bosh deployment cf-release.ymlbosh deploy
Page 10
Bosh
Deployment files
bosh deployment cf-release.ymlbosh deploy
Page 11
Bosh
Deployment files
bosh deployment cf-release.ymlbosh deploy
Page 12
Bosh
Deployment files
bosh deployment cf-release.ymlbosh deploy
Page 13
Bosh
Deployment files
bosh deployment cf-release.ymlbosh deploy
Page 14
Job information IaaS config.
cf-release.yml
Deployment manifest
Page 15
Deployment manifest• Release info • Stemcell info • Networking • Storage • Resource Pools • Config Properties
Page 17
Bosh Director
CPI
Page 19
Bosh Director
CPI
Page 20
Bosh Director
CPI
Page 22
Redis
Architecture Change
Page 23
Architecture Change
Page 24
Job information IaaS config.
cf-release.yml
Page 25
Job information IaaS config.
cf-release.yml
Page 26
but Bosh 2.0 fix that
Page 28
Job information IaaS config.
Cloud Config
Page 29
IaaS config.
cloud-config.yml
v2
Cloud Config
Page 30
Cloud Config• AZ Definition ==> New • Resource Definition • Storage Definition • Networks
Page 31
v2
Cloud Config• AZ Definition ==> New • Resource Definition • Storage Definition • Networks
Page 32
Job information IaaS config.
Deployment manifest
Page 33
Job information
deployment.yml
v2
Deployment manifest
Page 34
Deployment manifest• Release info • OS info • Config properties • Instance Groups
Page 35
Bosh
Cloud config
Cloud Config
bosh update cloud-config aws.yml
Page 36
Bosh
Deployment files
bosh deployment cf-release.ymlbosh deploy
Page 37
Cloud-configIf you start to use cloud-config
You could not use manifest v1 anymore for all your past deployment and futur deployment.
Page 38
Runtime-configConfig to apply to all VM in your bosh director All deployments
Page 39
First class Availability zone
Page 40
v1
Availability Zone
Page 41
deployment.ymlCould be very very very very very long manifest
v1
Availability Zone
Page 42
• Multiple instances will be balanced between az1 and az2
• Reduce a lot the deployment manifest
v2
Availability Zone
Page 43
deployment.yml
• Multiple instances will be balanced between az1 and az2
• Reduce a lot the deployment manifest
cloud-config.yml
v2
Availability Zone
Page 45
• Need to precise static IP because other job require to know which IP to use (ex database)
• Repeat property for all needed job • etc…
v1
Page 46
• Need to precise static IP because other job require to know which IP to use (ex database)
• Repeat property for all needed job • etc…
deployment.yml
v1
Page 47
• Let bosh manage networking even static IP
• Self, implicit and cross-deployment links !
• Not only networks, instance application but also properties
• We can refer to other jobs using “provide” and “consume” keyword
v2
Page 49
Tutorials• bosh.io https://j.mp/learn-bosh (bosh 1.0)
Source Code• Github https://github.com/cloudfoundry/bosh • V2 example https://github.com/shinji62/nats-release
Page 50
Documentation• Official documentation https://bosh.io • Links https://bosh.io/docs/links.html • Links Property https://bosh.io/docs/links-properties.html • Bosh AZ https://bosh.io/docs/azs.html • Bosh Cloud Config https://bosh.io/docs/cloud-config.html
Bosh Discussion / notes• https://github.com/cloudfoundry/bosh-notes
Page 51
Slack
https://cloudfoundry.slack.com/
#bosh