menu
arrow_back

Kubernetes Engine での Jenkins を使用した継続的デリバリー

—/100

Checkpoints

arrow_forward

Create a Kubernetes cluster (zone: us-east1-d)

Create a tiller Service Account

Initialize Helm and Install Tiller

Configure and Install Jenkins

Create the production and canary deployments

Create a repository

Kubernetes Engine での Jenkins を使用した継続的デリバリー

1時間 15分 クレジット: 7

GSP051

Google Cloud セルフペース ラボ

概要

このラボでは、Kubernetes Engine で Jenkins を使用して継続的デリバリー パイプラインを設定する方法を学びます。Jenkins とは、共有リポジトリに頻繁にコードを統合するデベロッパーによく利用されているオートメーション サーバーです。このラボでは、次の図のようなソリューションを構築します。

overview.png

Kubernetes で Jenkins を実行する方法について詳しくは、こちらをご覧ください。

演習内容

このラボでは、次のタスクを行います。

  • Jenkins アプリケーションを Kubernetes Engine クラスタにプロビジョニングする
  • Helm パッケージ マネージャーを使用して Jenkins アプリケーションを設定する
  • Jenkins アプリケーションの機能を試す
  • Jenkins パイプラインを作成して実行する

前提事項

このラボは上級者向けです。受講する前に、少なくともシェル プログラミング、Kubernetes、Jenkins の基礎を理解しておく必要があります。これらの基礎は、次の Qwiklabs で効率的に習得できます。

準備ができたら下にスクロールして、Kubernetes、Jenkins、継続的デリバリーについて詳しく学んでいきましょう。

Kubernetes Engine とは

Kubernetes Engine は、高度なクラスタ マネージャーでありコンテナのオーケストレーション システムである Kubernetes の GCP ホスト バージョンです。Kubernetes はオープンソースのプロジェクトで、ノートパソコンや可用性の高いマルチノード クラスタ、仮想マシンからベアメタルまで、さまざまな環境で扱うことができます。前述のように、Kubernetes アプリはコンテナ上に構築される、実行に必要なすべての依存関係とライブラリがバンドルされた軽量アプリケーションです。この基本的な構造により、Kubernetes アプリケーションの高可用性、安全性、迅速なデプロイといった、クラウド デベロッパーが理想とするフレームワークが実現します。

Jenkins とは

Jenkins は、ビルド、テスト、デプロイ用パイプラインの柔軟なオーケストレーションを可能にするオープンソースのオートメーション サーバーです。Jenkins を使用すれば、継続的デリバリーに起因するオーバーヘッドの問題を気に掛けることなく、プロジェクトに対して迅速に反復処理を行うことができます。

継続的デリバリーと継続的デプロイについて

継続的デリバリー(CD)パイプラインを設定する必要がある場合、Kubernetes Engine での Jenkins のデプロイには、標準の VM ベースのデプロイよりも大きなメリットがあります。

ビルドプロセスでコンテナを使用すると、1 つの仮想ホストが複数のオペレーティング システムでジョブを実行できます。Kubernetes Engine が提供するエフェメラル ビルド エグゼキュータは、ビルドがアクティブに実行されている場合にのみ使用されるため、バッチ処理ジョブなどの他のクラスタタスク用にリソースを確保できます。エフェメラル ビルド エグゼキュータのもう 1 つの利点は速度の速さで、わずか数秒で起動します。

また、Kubernetes Engine には Google のグローバル ロードバランサがすでに組み込まれており、これを使用してインスタンスへのウェブ トラフィックのルーティングを自動化できます。ロードバランサは SSL ターミネーションを処理し、Google のバックボーン ネットワーク(ユーザーのウェブフロントに結合)で設定されたグローバル IP アドレスを構成します。このロードバランサにより、ユーザーは常に最短パスでアプリケーション インスタンスに接続されます。

Kubernetes と Jenkins、そして CD パイプラインにおけるこれらの関係についてある程度理解したところで、実際にビルドしてみましょう。

Qwiklabs に参加してこのラボの残りの部分や他のラボを確認しましょう。

  • Google Cloud Console への一時的なアクセス権を取得します。
  • 初心者レベルから上級者レベルまで 200 を超えるラボが用意されています。
  • ご自分のペースで学習できるように詳細に分割されています。
参加してこのラボを開始