Upgrade to Pro — share decks privately, control downloads, hide ads and more …

BOSH - A year in review 2017/18

BOSH - A year in review 2017/18

A huge amount of R&D has occurred in core BOSH and the BOSH ecosystem. In this CF Summit North America talk in Boston, we recap as much of the goodness as we can in 25 minutes.

Cb2b768a5e546b24052ea03334e43676?s=128

Dr Nic Williams

April 19, 2018
Tweet

Transcript

  1. Title Text Body Level One Body Level Two Body Level

    Three Body Level Four Body Level Five BOSH - A year in review 2017/18 CF Summit Boston MA April 2018 Dr Nic Williams @drnic
  2. None
  3. None
  4. Director environments Ɏ Deployment manifests Education, Getting Started BOSH Review

    Backup & restore  bosh CLI ɑ > @drnic
  5. Director environments Ɏ Deployment manifests Education, Getting Started Backup &

    restore  bosh CLI ɑ > @drnic BOSH Review
  6. bosh.io @drnic

  7. bosh.io @drnic

  8. ultimateguidetobosh.com @drnic

  9. https://www.youtube.com/starkandwayne @drnic

  10. v2/v3 $ bosh -v version 3.0.1… $ gem uninstall bosh_cli

    Are you sure? > Definitely @drnic
  11. CLI > Environment variables $ $BOSH_ENVIRONMENT, $BOSH_CA_CERT, $BOSH_CLIENT, $BOSH_CLIENT_SECRET $BOSH_DEPLOYMENT

    $BOSH_GW_HOST $BOSH_GW_USER $BOSH_GW_PRIVATE_KEY Rather than bosh alias-env bosh login Rather than bosh -d name bosh ssh --gw-host --gw-user --gw-private-key @drnic
  12. SOCKS5 -> dmz private subnet BOSH UAA CredHub Jumpbox NAT

    $BOSH_ALL_PROXY Ǻ
  13. SOCKS5 -> BOSH UAA CredHub Jumpbox $BOSH_ALL_PROXY Ǻ ssh -4

    -D 9999 --fNC user@jumpbox -i jumpbox.key export BOSH_ALL_PROXY=socks://localhost:9999 export CREDHUB_PROXY=socks://localhost:9999 bosh env bosh.io/docs/cli-tunnel/ @drnic
  14. BOSH envs BOSH UAA CredHub Jumpbox github.com/cloudfoundry/bosh-deployment bosh create-env bosh.yml

    \ -o aws/cpi.yml \ --state state.json --vars-store creds.yml \ -o uaa.yml -o credhub.yml \ -o jumpbox-user.yml @drnic
  15. Jumpbox Ǻ Jumpbox bosh create-env jumpbox.yml Ǻ bosh create-env jumpbox.yml

    \ -o aws/cpi.yml \ --state state.json --vars-store creds.yml ... github.com/cppforlife/jumpbox-deployment @drnic
  16. bbl ɑ Jumpbox bbl up B bbl up \ --iaas

    aws \ --aws-access-key-id KEY \ --aws-secret-access-key SECRET \ --aws-region us-east-2 github.com/cloudfoundry/bosh-bootloader BOSH UAA CredHub @drnic
  17. BUCC bucc up bucc up bucc up --cpi aws bucc

    up --cpi vsphere --lite github.com/starkandwayne/bucc BOSH UAA CredHub Concourse @drnic
  18. Multi CPI bosh cpi-config starkandwayne.com/blog/multi-cpi-bosh-one-bosh-to-rule-them-all/ BOSH @drnic

  19. Multi CPI bosh cpi-config starkandwayne.com/blog/multi-cpi-bosh-one-bosh-to-rule-them-all/ BOSH warden-cpi gcp-cpi garden @drnic

  20. BOSH
 DNS 0.pg.default.my-psql.bosh bosh.io/docs/dns/ :53 addons: - name: bosh-dns jobs:

    - name: bosh-dns release: bosh-dns Aliases via aliases property via dns/aliases.json template inside your job @drnic
  21. Deploy manifests $ bosh deploy cf-deployment.yml \ -v system_domain=mycompany.com ɑ

    github.com/cloudfoundry/cf-deployment @drnic
  22. Variables $ bosh deploy cf-deployment.yml \ -v system_domain=mycompany.com Ǻ bosh.io/docs/cli-int/

    - name: uaa release: uaa properties: uaa: url: https://uaa.((system_domain)) @drnic
  23. variables: - name: cf_admin_password type: password - name: blobstore_tls options:

    ca: service_cf_internal_ca common_name: blobstore.service.cf.internal type: certificate Variables $ bosh deploy cf-deployment.yml \ -v system_domain=mycompany.com Ǻ bosh.io/docs/cli-int/ 80 secrets @drnic
  24. Variables Ǻ bosh.io/docs/cli-int/ bosh int bosh deploy bosh create-env $

    -v, --var=VAR=VALUE Set variable --var-file=VAR=PATH Set variable to file contents -l, --vars-file=PATH Load variables from a YAML file --vars-env=PREFIX Load variables from env vars --vars-store=PATH Load/save vars from/to YAML @drnic
  25. Config Server docs.cloudfoundry.org/credhub bosh int bosh deploy bosh create-env $

    Ǻ variables: - name: cf_admin_password type: password BOSH UAA CredHub @drnic
  26. Operator files bosh.io/docs/cli-ops-files/ @drnic --- name: cf releases: […] type:

    replace path: /name value: cf-staging ɑ Operator file $ bosh int base.yml -o rename.yml name: cf-staging releases: […] -o flag
  27. Authoring releases @drnic version: create Ɏ bosh-gen BOSH Process Manager

     bosh vendor-package > bosh export-release Ȝ
  28. Backup & restore Ʊ @drnic SHIELD
 shieldproject.io github.com/shieldproject BOSH Backup

    & Restore github.com/cloudfoundry-incubator/bosh-backup-and-restore Ȝ
  29. None