この記事は、Cloud Foundry Advent Calendar 2018の2日目の記事です。
https://speakerdeck.com/ozzozz/bosh101-winter-2018
2017年9月以来のアップデートとなります。
Cloud Foundryを語るにあたり、その有効性の半分近くの源はBOSHなんじゃないかと思います。
今をときめくKubernetesをCFコミュニティがCloud Foundry Container Runtime(CFCR)として担ごうと決心したのは、k8sのような構築運用が面倒な分散システムを効率的に扱えるBOSHがあったからというのが非常に大きな要因になったはずです。
CFの大きなアドバンテージとして謳われている「マルチクラウド」も、IaaS毎の仕様の差異の大部分をBOSHが吸収しているからこそ為せる業だと言えると思います。
これを捨て置くのは忍びない。幸いなことに、BOSHに関する日本語の解説記事は、まだあまりありません。
というわけで、前回の公開から1年以上過ぎた今、私自身の知識のアップデートも兼ねて、Advent Calendar記事としてお送りすることにしたわけです。
概ね次のような感じです。
-
BOSHの対応IaaSが増えた
-
BOSHは満6歳に
-
BOSHが管理する複数deploymentにまたがるconfigがcloud-configだけではなくなったので、Generic Configとしての記載に変えました
-
BOSH用deployment manifestの生成について、温かみあふれる手運用でがんばるかのような記述から、bosh-deploymentリポジトリとBOSH CLI v2をフル活用する方法の記述に変更しました
-
cf-deploymentやconcourse-bosh-deploymentなどといった今どきのdeployment manifestを活用する場合、もはや手動でbosh releaseのアップロードを行うようなことがなくなっていることから、
bosh upload-release
コマンドの実行手順は削除しました。