Google、開発者のためのKubernetes用コマンドラインツール「Skaffold」オープンソースで公開。開発環境にもKubernetes、ローカルのMinikubeにも対応

2018年3月27日

KubernetesによるDockerコンテナのクラスタ環境は、一般に運用チームが構築し、柔軟で迅速なデプロイや自動化され安定した運用などの恩恵を受けることになると考えられます。

一方、アプリケーション開発者はDockerコンテナを用いてテストやビルドなどを含む開発環境を利用することはあっても、Kubernetesの環境を開発環境の中に取り込んで利用するということは、手間がかかることもあって、それほど行われていないのではないでしょうか。

Googleがオープンソースで公開した「Skaffold」は、開発者がもっと手軽にKubernetesを開発環境として利用できるようにするためのツールです。

Skaffold

開発者が扱いやすいようにサーバサイドのコンポーネントを持たず、コマンドラインで使えるようになっているなど、下記の機能や特徴を備えています。「Google Cloud Platform Blog: Introducing Skaffold: Easy and repeatable Kubernetes development」から引用します。

  • サーバサイドのコンポーネントがないため、クラスタのオーバーヘッドがない
  • ソースコードの変更を自動的に検知し、自動的にビルド、リポジトリへのプッシュ、デプロイを実行
  • Dockerイメージをタグで管理。Kubernetes manifestなどでいちいちタグのアップデートに関する手間の心配をすることなく、開発に専念できる
  • ビルドやデプロイのAPIを用いるため、既存のツールやワークフローに対応。
  • 複数のアプリケーションコンポーネントをサポート。変更されたコンポーネントだけをビルドしデプロイする。

下図の上半分は、Skaffoldを用いてローカルのMinikube環境を利用するもの。Dockerイメージのリポジトリへ保存することなく、ローカルのKubernetes環境へデプロイ。

下半分はGoogle Kubernetes Engineを用いる場合で、イメージをGoogle Container Builderでビルドし、イメージをGoogle Container Registryへプッシュ。それをGoogle Kubernetes Engineへデプロイします。

Skaffoldのユースケース

下記は記事「Google Cloud Platform Blog: Introducing Skaffold: Easy and repeatable Kubernetes development」で紹介されたSkaffoldのデモ画面。左下の画面でviによるソースコードの書き換えを行うと、左上の画面でSkaffoldにより自動的にビルドとローカルのKubernetesへのデプロイが行われ、右の画面で書き換え後のアプリケーションが表示され、ローカルのMinikube環境にデプロイされたことが分かります。

Skaffoldのデモ画面

Skaffoldを用いることで、開発者はいつも本番と同様のKubernetes環境を開発環境として利用できるようになるとGoogleはSkaffoldの意義を説明しています。

あわせて読みたい

Kubernetes コンテナ型仮想化 Google




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本