「[[.NET 開発基盤部会 Wiki>http://dotnetdevelopmentinfrastructure.osscons.jp]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>Kubernetes]] --[[Dockerコンポーズ]] --[[Helm Charts]] --Compose on Kubernetes --[[Kompose]] --[[Helm Charts]] --[[Rancher Charts]] *目次 [#uc1d42d9] #contents *概要 [#d1718900] -Compose on Kubernetesは、 >「docker-compose.yml を [[K8s>Kubernetes]] API に変換して[[K8s>Kubernetes]]上にリソースを展開」 >と言う処理を自動化してくれるものらしい。 --Docker社がオフィシャルに開発しているツール --docker stackコマンドを使用する。 --[[コンポーズ・ファイル>Dockerコンポーズ#l4bc9a24]] で [[K8s>Kubernetes]]クラスタにデプロイ。 --[[Dockerコンポーズ]]でコンテナを動かしていて、~ これから[[K8s>Kubernetes]]に移行予定の人におすすめ。 --元々は [[Docker Swarm>Docker#u512f6bd]] 上に [[Compose 構成>Dockerコンポーズ]]を展開するためのコマンド。~ [[K8s>Kubernetes]]がデファクトになり、[[K8s>Kubernetes]]にも展開できるようになった。 -[[Docker]]のフロントエンドが動作する、開発環境用。 -ステージング-プロダクション環境用に[[Kompose]]がある。 *詳細 [#fa66542d] -[[K8s>Kubernetes]]マニュフェストを使用する場合、[[Dockerコンポーズ]]の5倍もの量の設定が必要。 -[[Dockerコンポーズ]]はAPIではないが、開発者の生産性に特化した高レベルなツール **準備 [#t89d7e6a] [[K8s>Kubernetes]]クラスタに対して、[[Dockerコンポーズ]]用の[[K8s>Kubernetes]]コントローラを導入する -手元に使える[[K8s>Kubernetes]]がなければ[[Docker Desktop>Kubernetes#qb5fcdac]]を使う。 --[[Docker Desktop>Kubernetes#qb5fcdac]]は[[K8s>Kubernetes]]と[[Dockerコンポーズ]]コントローラを内蔵 --設定でチェックボックスをチェックするだけでそれらを有効にできる。 -[[K8s>Kubernetes]]クラスタにコントローラを手動でインストールする --GitHub - docker/compose-on-kubernetes:~ Deploy applications described in Compose onto Kubernetes clusters~ https://github.com/docker/compose-on-kubernetes **[[コンポーズ・ファイル>Dockerコンポーズ#l4bc9a24]]の作成 [#fe03a58d] **[[K8s>Kubernetes]]クラスタにデプロイ [#cb54ee93] ***開始 [#d2a55997] 次にDockerクライアントを使用し、~ コントローラを実行している[[K8s>Kubernetes]]クラスタにデプロイして、開始。 docker stack deploy STACK_NAME --compose-file docker-compose.yml ***停止 [#dc40e5c5] 停止する時は以下。 docker stack rm STACK_NAME ***ビルドはされない。 [#n079b830] -以下のように、ビルドは無視される。 service "XXXX": build is ignored -従って、ビルドが含まれる場合は一度、[[Dockerコンポーズを起動>Dockerコンポーズ#r9c0d903]]しておく。 >docker-compose up -d **Stackというリソース [#x9114165] -[[Dockerコンポーズ]]用の[[K8s>Kubernetes]]コントローラは、 --Stackというリソースを[[K8s>Kubernetes]] APIに導入。 --今やStackはネイティブのKubernetesオブジェクト -アプリケーションを構築する際、 --すべての問い合わせと管理を、同じ抽象化レベルで行うことが可能。 --その他のKubernetesツールを同時に使用して作業することも可能 $ kubectl get stack NAME STATUS PUBLISHED PORTS PODS AGE XXXXX Running 33000 5/5 4m **試行した際の手順 [#g3e0dea6] -Docker Desktop for Windows - マイクロソフト系技術情報 Wiki > 動確 > K8s~ https://techinfoofmicrosofttech.osscons.jp/index.php?Docker%20Desktop%20for%20Windows#ad01d6b3 *参考 [#vb797565] -Docker Composeなどの便利なツールでKubernetesをわかりやすくしよう~ '#docker #kubernetes #k8s - クリエーションライン株式会社~ https://www.creationline.com/lab/25164 -Compose on Kubrenetes を使ってみる - 主夫ときどきプログラマ~ https://masayuki14.hatenablog.com/entry/2019/04/19/Compose_on_Kubenetes_%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B