1. HOME
  2. ブログ
  3. BLOG
  4. 開発環境のkubernetesにskaffoldを使って自動デプロイ

BLOG

BLOG

開発環境のkubernetesにskaffoldを使って自動デプロイ

skaffoldとは

googleによって開発されている、kubernetesへの継続的な開発を容易にするコマンドラインツールです。
開発段階では、アプリケーションのソースコードの変更を検知して、
DockerコンテナのBuild→コンテナレジストリーへのPush→kubernetesクラスタへdeploy
を行ってくれます。
本番環境では、CI/CDを担当させる事が可能です。

メリット

  • Google公式なので自作ビルドツールより安心
  • 煩雑なimageのtag管理を自動でやってくれる
  • 導入が簡単

デメリット

  • VolumeMountに比べると多少遅い
  • ビルドするファイルサイズが大きい場合、遅延が顕著になる

導入方法

skaffoldのリポジトリにskaffold用の設定サンプルファイルがあるのでそれを編集します。
サンプルファイル>>

コマンド

Skaffold dev

$ skaffold dev

ソースコード及びコードとdockerイメージの依存関係を監視し、変更を検知するとアプリケーションのビルド/プッシュ/デプロイを実行します。

Skaffold run

$ skaffold run

デプロイしたアプリケーションを継続的に更新しますが、エラー発生時に終了します。以下の用途で利用できます。

構成ファイル

skaffold.yaml
apiVersion: skaffold/v1alpha2
kind: Config
build:
  tagPolicy:
    sha256: {} #コンテナのTagをハッシュ
  artifacts:
  - imageName: k8sdemo/php-apache # apache-phpのコンテナ
    workspace: ./docker/apache-php # apache-phpのworkSpace
  local:
deploy:
  kubectl:
    manifests:
      - ./templates/main.yaml # 監視対象のyamlファイルを指定
  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

関連記事