CLIツール
GoogleContainerTools/skaffold avatar
GoogleContainerTools/skaffold

SkaffoldはKubernetesの開発ループを一つのCLIにまとめる

簡単で再現可能な Kubernetes 開発。 Skaffold を管理して最新の状態に保ちながら、よりガイド付きの起動エクスペリエンスを提供し、他の一般的な依存関係を提供および管理することができ、あらゆる Kubernetes クラスターで動作します。

スター 15,890フォーク 1,702GoApache-2.0

ひと目でわかる

これは何?
ソース変更を検知し、イメージのビルド、プッシュ、Kubernetesへのデプロイ、ログ集約、ポート転送までをローカルとCI/CDで扱います。
誰に向いている?
すでにKubernetesを使い、開発とCIで同じビルド・デプロイ手順を繰り返すチームに向きます。クラスタへ常駐する管理製品ではないため、集約された権限管理や運用画面を求める用途には合いません。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。最後のコミットは 1 日前です。
何の言語で書かれている?
主に Go です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Kubernetes向けのクライアント

SkaffoldはKubernetesアプリを継続開発するCLIで、ソースを編集してローカルまたはリモートクラスタへデプロイする流れを支えます。ビルド、イメージのプッシュ、デプロイをまとめ、CI/CD向けの構成要素も提供します。READMEの対象はクラスタ上の常駐コントローラーではなく、開発者やCIが呼び出すクライアントです。既存クラスタへ追加コンポーネントを入れずに試せる点を権限設計と分けて評価します。

Skaffoldでは、ローカルの小さなKubernetesアプリと専用namespaceを用意します。skaffold initが生成した設定をレビューし、skaffold devの変更検知、イメージタグ、ログ集約、ポート転送、skaffold renderの最終マニフェストをkubectlの状態と突き合わせます。 第1章では、Kubernetes向けのクライアントに関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

変更からログまでの反復

skaffold devは変更を検知してビルド、プッシュ、デプロイを繰り返し、デプロイ済みリソースのログを集約し、コンテナポートをローカルへ転送します。自動化は便利ですが、ファイル監視、イメージタグ、再デプロイ条件がプロジェクトごとに違います。編集前後のイメージ名、Podの更新時刻、転送ポート、ログの欠落を同時に記録し、手動kubectlの結果と照合します。

Skaffoldでは、ローカルの小さなKubernetesアプリと専用namespaceを用意します。skaffold initが生成した設定をレビューし、skaffold devの変更検知、イメージタグ、ログ集約、ポート転送、skaffold renderの最終マニフェストをkubectlの状態と突き合わせます。 第2章では、変更からログまでの反復に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

runとrenderを使い分ける

READMEはgit clone後にskaffold runを実行すれば同じプロジェクトを共有できると説明します。profile、ユーザー設定、環境変数、CLIフラグで環境差を表現し、ファイル本体を直接変更せずに済みます。skaffold renderは値を埋めたKubernetesマニフェストを出力するため、GitOpsの入力として利用できます。出力をkubectl applyする前にnamespace、image、secret参照、replica数をレビューします。

Skaffoldでは、ローカルの小さなKubernetesアプリと専用namespaceを用意します。skaffold initが生成した設定をレビューし、skaffold devの変更検知、イメージタグ、ログ集約、ポート転送、skaffold renderの最終マニフェストをkubectlの状態と突き合わせます。 第3章では、runとrenderを使い分けるに関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

initと既存ツールの接続

skaffold initはプロジェクト内のファイルを検出して設定ファイルを生成します。複数サービスを含む構成と、チームが既に使うビルド・デプロイツールを差し替えて接続するプラグ可能な設計もREADMEの中心です。自動生成された設定は完成品とはみなさず、build、tag、push、deployの各責任を明示します。特殊なレジストリやカスタムデプロイヤーでは、生成設定と実行ログを版管理します。

Skaffoldでは、ローカルの小さなKubernetesアプリと専用namespaceを用意します。skaffold initが生成した設定をレビューし、skaffold devの変更検知、イメージタグ、ログ集約、ポート転送、skaffold renderの最終マニフェストをkubectlの状態と突き合わせます。 第4章では、initと既存ツールの接続に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

軽い構成の代償

Skaffoldはクラスタ側コンポーネントを持たず、最小限のパイプラインを提供するとREADMEは説明しています。これはクラスタの保守対象を増やさない一方、全種類のビルド方式やデプロイ統制を内蔵するという意味ではありません。複雑な承認、秘密管理、ロールバック、監査を必要とする環境では、Skaffoldの前後に既存CIやクラスタ製品を置き、責任分界を文書化します。

Skaffoldでは、ローカルの小さなKubernetesアプリと専用namespaceを用意します。skaffold initが生成した設定をレビューし、skaffold devの変更検知、イメージタグ、ログ集約、ポート転送、skaffold renderの最終マニフェストをkubectlの状態と突き合わせます。 第5章では、軽い構成の代償に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

IDE、サポート、ライセンス

VS CodeとJetBrains向けGoogle Cloud Code拡張は、Skaffoldと依存CLIの管理を支援する入口です。READMEは任意のKubernetesクラスタと使えるとしますが、実際の認証やバージョン差は環境依存です。Apache-2.0で、非推奨手順は公式のdeprecation policy、安全報告はSECURITY.mdを参照します。評価ではイメージ、マニフェスト、ログ、権限エラーを固定し、更新後に同じ結果を確認します。

Skaffoldでは、ローカルの小さなKubernetesアプリと専用namespaceを用意します。skaffold initが生成した設定をレビューし、skaffold devの変更検知、イメージタグ、ログ集約、ポート転送、skaffold renderの最終マニフェストをkubectlの状態と突き合わせます。 第6章では、IDE、サポート、ライセンスに関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

編集部の結論

すでにKubernetesを使い、開発とCIで同じビルド・デプロイ手順を繰り返すチームに向きます。クラスタへ常駐する管理製品ではないため、集約された権限管理や運用画面を求める用途には合いません。最小構成でskaffold init、skaffold dev、skaffold renderを実行し、タグ、ログ、ポート、生成マニフェストを既存の流れと比較します。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート