🔖

Kubernetesでのskaffold入門(kubanatesの初心者向け)

に公開

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コマンドの裏でいろんなことをしてくれてます。

スクリーンショット 2025-04-20 22.39.34.png

スクリーンショット 2025-04-20 22.40.09.png

引用 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 トラブル診断に使う詳細情報を表示 エラーが解決できないとき
skaffold render ビルドやデプロイを行わずに、Kubernetesマニフェストを生成(レンダリング)するコマンド

ドキュメント

https://skaffold.dev/

参考資料

https://zenn.dev/kojake_300/articles/11945f2047b22b

https://qiita.com/murata-tomohide/items/5f40a8e6528ecf2e3794

Discussion