Skip to content

DNET_Kompose

nishi_74322014 edited this page Sep 11, 2026 · 1 revision

Kompose

概要

  • 似たようなものに Compose on Kubernetes というモノもある。

    • Compose on Kubernetesはdocker側で作られていて、

    • KomposeはK8s側で作られている。
      故に、コチラは、K8sのステージング-プロダクション環境用と言える。

  • しかしながら、

    「新規では、K8sのマニフェストを書いた方が良い。」

    という見解もあり、所詮は、移行ツール。
    的に捉えておいた方が良いかも知れない。

  • Node-REDのデプロイで volumes(Dockerコンポーズの該当節を参照)辺りが
    上手くできなかったので、実際に使ってみた。

詳細

インストール

  • Windowsの場合、WSLを利用する。

  • 以下のようにインストールするらしい(詳しくはReleaseページを参照)

    curl -L https://github.com/kubernetes/kompose/releases/download/v1.22.0/kompose-linux-amd64 -o kompose
    chmod +x kompose
    sudo mv ./kompose /usr/local/bin/kompose
    

コマンド

kompose convert

  • V1、V2、及び V3 の、コンポーズ・ファイル(Dockerコンポーズの該当節を参照)の
    K8sおよび OpenShiftオブジェクトへの変換をサポート。

  • WSL上で使うときは、以下の様な感じで使う。

    $ kompose -f /mnt/c/.../docker-compose.yaml convert
    $ dir
    xxx-deployment.yaml  xxx-service.yaml xxx-claim0-persistentvolumeclaim.yaml
    $ mv xxx-deployment.yaml /mnt/c/.../
    $ mv xxx-service.yaml /mnt/c/.../
    $ mv xxx-claim0-persistentvolumeclaim.yaml /mnt/c/.../
    

    ※ kind毎、別々のfileに出力される。

kompose up

Dockerコンポーズアプリケーションを「kompose up」経由で
K8sおよび OpenShiftにデプロイする簡単な方法をサポートする。

kompose down

Dockerコンポーズアプリケーションを「kompose down」経由で削除。
他のリソースを削除する必要がある場合は「kubectl」コマンドを使用。

参考

kompose.io

GitHub

Qiita

移行メモ

  • 誤記を修正した。「インストールするらいし」→「らしい」、 「マニフェストを書た方が良い」→「書いた方が良い」。
  • WSL 上のコマンド例のパスが mnt/c/...(先頭の / 欠落)だったため /mnt/c/... に修正した。
  • 参考の見出し「kx.io」は、記載されている URL(https://kompose.io/ )と 合わないため「kompose.io」とした。

Tags: 移行, Kompose, Kubernetes, Docker Compose, コンテナ, マニフェスト変換

NetDevInfraWiki

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

(未着手)

開発基盤部会 Wiki

移行管理: DONETODO

Clone this wiki locally