Skip to content

DNET_ComposeOnKubernetes

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Compose on Kubernetes

概要

  • Compose on Kubernetesは、

    「docker-compose.yml を K8s API に変換してK8s上にリソースを展開」

    と言う処理を自動化してくれるものらしい。

    • Docker社がオフィシャルに開発しているツール

    • docker stackコマンドを使用する。

    • コンポーズ・ファイル(Dockerコンポーズの該当節を参照)で K8sクラスタにデプロイ。

    • Dockerコンポーズでコンテナを動かしていて、
      これからK8sに移行予定の人におすすめ。

    • 元々は Docker Swarm(Dockerの該当節を参照)上に
      Compose 構成を展開するためのコマンド。
      K8sがデファクトになり、K8sにも展開できるようになった。

  • Dockerのフロントエンドが動作する、開発環境用。

  • ステージング-プロダクション環境用にKomposeがある。

詳細

準備

K8sクラスタに対して、Dockerコンポーズ用のK8sコントローラを導入する。

  • 手元に使えるK8sがなければ Docker Desktop(Kubernetesの該当節を参照)を使う。

    • Docker DesktopはK8sDockerコンポーズコントローラを内蔵
    • 設定でチェックボックスをチェックするだけでそれらを有効にできる。
  • K8sクラスタにコントローラを手動でインストールする

コンポーズ・ファイルの作成

Dockerコンポーズの該当節を参照。

K8sクラスタにデプロイ

開始

次にDockerクライアントを使用し、
コントローラを実行しているK8sクラスタにデプロイして、開始。

docker stack deploy STACK_NAME --compose-file docker-compose.yml

停止

停止する時は以下。

docker stack rm STACK_NAME

ビルドはされない。

  • 以下のように、ビルドは無視される。

    service "XXXX": build is ignored
    
  • 従って、ビルドが含まれる場合は一度、
    Dockerコンポーズを起動(Dockerコンポーズの該当節を参照)しておく。

    >docker-compose up -d
    

Stackというリソース

  • Dockerコンポーズ用のK8sコントローラは、

    • StackというリソースをK8s APIに導入。
    • 今やStackはネイティブのKubernetesオブジェクト
  • アプリケーションを構築する際、

    • すべての問い合わせと管理を、同じ抽象化レベルで行うことが可能。
    • その他のKubernetesツールを同時に使用して作業することも可能
    $ kubectl get stack
    NAME      STATUS      PUBLISHED PORTS   PODS     AGE
    XXXXX     Running     33000             5/5      4m
    

試行した際の手順

Docker Desktop for Windows - マイクロソフト系技術情報 Wiki > 動確 > K8s
Docker Desktop for Windowsの該当節を参照)

参考

移行メモ

  • 「マニュフェスト」は「マニフェスト」の誤記のため修正した。
  • 本文が無かった見出し「コンポーズ・ファイルの作成」に、 参照先(Dockerコンポーズ)へのポインタを補った。
  • マイクロソフト系技術情報 Wiki(techinfoofmicrosofttech.osscons.jp)への URL リンクは、移行済みの Docker Desktop for Windows に張り替えた。
  • Compose on Kubernetes は 2022 年頃に開発が終了しており、 現在の Docker Desktop には同梱されていない点に留意。

Tags: 移行, Compose on Kubernetes, Kubernetes, Docker Compose, docker stack, コンテナ

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally