以前から検討している話ですが、
Docker → Docker Compose → K8sと、
チェーン&リフトして行く開発のサポート方式、
① 全ローカル環境、
② ①のプログラムだけ、Docker化、
③ ②のサービス類だけ、Docker Compose化、
④ ③にプログラムも加える。
⑤ ④をKomposeなどでK8sに食わす。
ってーのでどうだろう?って思いました。
以下、詳しく説明すると、
① 全ローカル環境
従来の開発と同じ。
すべての開発環境をローカルに構築する。
② ①のプログラムだけ、Docker化
①のプログラムだけDocker化します。
ローカルのサービス群に対しては、
10.0.75.1でブリッジします。
③ ①のサービス類だけ、Docker Compose化
①のサービス類だけ、Docker ComposeでDocker化します。
Docker Composeで、ローカルと同一のポート番号でブリッジさせれば、
(portsの指定は、ホスト:コンテナなので、xxxx:xxxxにする)
このUXは、①の開発のUXと、あまり大きく変わりません。
④ ③ にプログラムも加える。
③で作成した、システム一式を全て
Dockerにリフトする場合にコレを行います。
⑤ ④ をKomposeなどでK8sに食わす。
最後に、④のシステムをK8sにリフトします。
この際、Kompose や Compose on Kubernetesを使用します。
以後、上記のようなDockerファイルやDockerコンポーズ・ファイルをリポジトリ上に公開していきたいと考えています。
<参考>
- マイクロソフト系技術情報 Wiki
- 開発基盤部会 Wiki