skaffoldとは(小学生にもわかるように)
プログラムでゲームを作ったとします。それを「みんなが見られるように」したり、
「コンピュータにちゃんと動かしてもらう」ためには以下の手間がかかってしまいます。
1.プログラムを箱(コンテナ)に入れる
2.コンピュータに「これ動かして〜!」って命令する
3.動いてるかどうか見る
4.プログラムをちょっと直したらまた①〜③をやりなおす
これを毎回やっていたらめんどくさいですよね。😅
そのプログラムを作って手伝いをしてくれるのがskaffold
です。
プログラムが直されたら、自動で
📦 新しい箱(コンテナ)を作って
🚀 コンピュータに届けて
🔄 動かしてくれる!
これらをやってくれます。
chatGPT参照
skaffoldとは
以下のコマンドなどを自動でやってくれる便利ツールです。
- docker build コマンド(イメージをつくる)
Skaffold: docker build
- kubectl apply コマンド(Kubernetesに適用)
kubectl apply
Skaffold はこれらを自動でやってくれます。
skaffold dev
skaffold devの注意
Skaffold: docker buildとkubectl applyだけではなく、
開発者のための「全部やってくれる」開発マネージャーみたいな存在で、
devコマンドの裏でいろんなことをしてくれてます。
引用 ChatGPT
よく使うコマンド
コマンド | 説明 | タイミング |
---|---|---|
skaffold dev | コード変更を自動でビルド&デプロイ&ログ表示 | 開発中ずっと動かしておく |
skaffold run | 1回だけビルドしてデプロイ | 本番に近い挙動を確認したいとき |
skaffold build | ビルドだけ実行(デプロイしない) | CI/CDでビルド検証だけしたいとき |
skaffold deploy | マニフェストをK8sにapply(ビルドしない) | すでにイメージがあるとき |
skaffold delete | デプロイしたK8sリソースを削除 | 開発終わったあと掃除したいとき |
skaffold debug | デバッグ用にビルド&ポート待受け | IDEと連携したいとき(上級者向け) |
skaffold init | DockerfileやYAMLを元に skaffold.yamlを自動生成 | 最初の1回だけ |
skaffold fix | 古いskaffold.yamlを最新形式に変換 | Skaffold のバージョンを上げたとき |
skaffold diagnose | トラブル診断に使う詳細情報を表示 | エラーが解決できないとき |
ドキュメント
参考資料