kompose

docker-composeで定義ファイルをKubernetesのマニフェストに変換するツールです。
https://kubernetes.io/docs/tasks/configure-pod-container/translate-compose-kubernetes/ external_link

インストール

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

コンバート

$ kompose --file 00_growi_compose.yml convert

Deploy

<komposeコマンドでcomposeファイルから直接Deployする場合> ※kubectl config viewで確認したクラスタURLを--serverに指定する

$ kompose --file 00_growi_compose.yml --server https://172.16.0.81:443 up

<kubectl apply でコンバートしたファイルを指定してDeployする場合>

kubectl apply -f growitest-service.yaml,elasticsearchtest-deployment.yaml,elasticsearchtest-data-persistentvolumeclaim.yaml,growitest-deployment.yaml,growitest-data-persistentvolumeclaim.yaml,mongotest-deployment.yaml,mongotest-configdb-persistentvolumeclaim.yaml,mongotest-db-persistentvolumeclaim.yaml

※Growiで試してみたがうまくいかず・・

Dockerのlinks:など、Kubernetesの仕組み的に?変換できないところもありそうなので、あくまでもマニフェストを作るための補助的な役割にとどまるかも。