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

進行状況を確認

/ 50

Configure and Install Jenkins

進行状況を確認

/ 50

このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。

GSP117

Google Cloud セルフペース ラボ

このハンズオンラボでは、ソフトウェア デリバリー パイプラインをオーケストレートできるように Google Kubernetes Engine で Jenkins を設定する方法について学習します。

目標

  • Kubernetes Engineを使用して Kubernetes クラスタを作成する。
  • Jenkins のデプロイメントとサービスを作成する。
  • Jenkins に接続する。

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの説明をお読みください。ラボには時間制限があり、一時停止することはできません。タイマーは、Google Cloud のリソースを利用できる時間を示しており、[ラボを開始] をクリックするとスタートします。

このハンズオンラボでは、シミュレーションやデモ環境ではなく実際のクラウド環境を使って、ラボのアクティビティを行います。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モード(推奨)またはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生しないようにすることができます。
  • ラボを完了するための時間(開始後は一時停止できません)
注: このラボでは、受講者アカウントのみを使用してください。別の Google Cloud アカウントを使用すると、そのアカウントに料金が発生する可能性があります。

ラボを開始して Google Cloud コンソールにログインする方法

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるダイアログでお支払い方法を選択してください。 右側の [ラボの設定とアクセス] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • このラボで使用する一時的な認証情報(ユーザー名とパスワード)
    • このラボを行うために必要なその他の情報(ある場合)

    ラボのタイマーはページの上部に表示され、残り時間が示されます。

  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースがスピンアップし、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示された場合は、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの設定とアクセス] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの設定とアクセス] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで指定された認証情報を使用する必要があります。ご自身の Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後のページはクリックして先に進みます。

    • 利用規約に同意します。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

しばらくすると、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスにアクセスするには、ナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。 ナビゲーション メニューのアイコンと検索フィールド

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン 「Cloud Shell をアクティブにする」アイコン をクリックします。

  2. ウィンドウで次の操作を行います。

    • Cloud Shell 情報ウィンドウで操作を進めます。
    • Cloud Shell が認証情報を使用して Google Cloud API を呼び出すことを承認します。

接続した時点で認証が完了しており、プロジェクトに各自の Project_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

出力:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

タスク 1. 環境を準備する

まず、デプロイ環境を準備してサンプル アプリケーションをダウンロードします。

  1. デフォルトの Compute Engine ゾーンを に設定します。
gcloud config set compute/zone {{{project_0.default_zone}}}
  1. サンプルコードのクローンを作成します。
git clone https://github.com/GoogleCloudPlatform/continuous-deployment-on-kubernetes.git
  1. サンプルコードのディレクトリに移動します。
cd continuous-deployment-on-kubernetes

Kubernetes クラスタを作成する

Kubernetes Engine を使用して、Kubernetes クラスタを作成および管理します。

  1. 次に、Kubernetes Engine を使用して Kubernetes クラスタをプロビジョニングします。この手順は完了するまでに数分かかることがあります。
gcloud container clusters create jenkins-cd \ --num-nodes 2 \ --scopes "https://www.googleapis.com/auth/projecthosting,cloud-platform"

追加のスコープで、Jenkins が Artifact Registry にアクセスできるようになります。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが提供されます。

Kubernetes クラスタを作成する(ゾーン:
  1. クラスタが実行されていることを確認します。
gcloud container clusters list

出力例:

STATUS 列の RUNNING を確認します。

NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS jenkins-cd {{{project_0.default_zone}}} 1.9.7-gke.3 35.237.126.84 e2-medium 1.9.7-gke.3 2 RUNNING
  1. クラスタの認証情報を取得します。Kubernetes Engine はこれらの認証情報を使用して、新たにプロビジョニングされたクラスタにアクセスします。
gcloud container clusters get-credentials jenkins-cd
  1. クラスタに接続できることを確認します。
kubectl cluster-info

出力例: クラスタが実行されている場合は、Kubernetes コンポーネントにアクセスできる URL が表示されます。

Kubernetes master is running at https://130.211.178.38 GLBCDefaultBackend is running at https://130.211.178.38/api/v1/proxy/namespaces/kube-system/services/default-http-backend Heapster is running at https://130.211.178.38/api/v1/proxy/namespaces/kube-system/services/heapster KubeDNS is running at https://130.211.178.38/api/v1/proxy/namespaces/kube-system/services/kube-dns kubernetes-dashboard is running at https://130.211.178.38/api/v1/proxy/namespaces/kube-system/services/kubernetes-dashboard

タスク 2. Helm を構成する

このラボでは、Helm を使用してチャート リポジトリから Jenkins をインストールします。Helm は、Kubernetes アプリケーションの構成とデプロイを容易にするパッケージ管理システムです。Cloud Shell には、Helm の最新の安定版がプリインストールされています。

興味がある場合は、Cloud Shell で helm version を実行すると、Helm がインストールされていることと、そのバージョンを確認できます。

  1. Helm の jenkins チャート リポジトリを追加します。
helm repo add jenkins https://charts.jenkins.io
  1. リポジトリを更新して、チャートのリストを最新の状態にします。
helm repo update

タスク 3. Jenkins を構成、インストールする

サービス アカウントの認証情報でソース リポジトリにアクセスするために必要な Google Cloud 固有のプラグインを、カスタムの値ファイルを使って追加します。

  1. Helm CLI を使用して、構成セットとともにチャートをデプロイします。
helm upgrade --install -f jenkins/values.yaml myjenkins jenkins/jenkins

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが提供されます。

Jenkins を構成、インストールする
  1. コマンドが完了したら、Jenkins Pod が Running 状態になり、コンテナが READY 状態になっていることを確認します。これには 2 分ほどかかります。
kubectl get pods

出力例:

NAME READY STATUS RESTARTS AGE myjenkins-0 2/2 Running 0 1m
  1. 次のコマンドを実行して、Cloud Shell から Jenkins UI へのポート転送を設定します。
echo http://127.0.0.1:8080 kubectl --namespace default port-forward svc/myjenkins 8080:8080 >> /dev/null &
  1. Jenkins サービスが適切に作成されたことを確認します。
kubectl get svc

出力例:

NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE myjenkins 10.35.249.67 8080/TCP 3h myjenkins-agent 10.35.248.1 50000/TCP 3h kubernetes 10.35.240.1 443/TCP 9h

Jenkins マスターが要求したときに、必要に応じて自動的にビルダーノードが起動されるように、Kubernetes プラグインを使用します。処理が完了するとノードは自動的に終了し、リソースはクラスタのリソースプールに戻されます。

このサービスでは、selector に一致するすべての Pod にポート 808050000 が公開されることに注意してください。ここでは、Kubernetes クラスタ内の Jenkins ウェブ UI ポートとビルダー / エージェント登録ポートが公開されます。

また、jenkins-ui サービスは ClusterIP を使用して公開されるため、クラスタ外からはアクセスできません。

タスク 4. Jenkins に接続する

  1. Jenkins チャートによって管理者パスワードが自動的に作成されます。このパスワードを取得するには、以下を実行します。
kubectl exec --namespace default -it svc/myjenkins -c jenkins -- /bin/cat /run/secrets/additional/chart-admin-password && echo
  1. Jenkins ユーザー インターフェースを表示するには、Cloud Shell でウェブでプレビュー アイコンをクリックし、[ポート 8080 でプレビュー] をクリックします。

展開された [ウェブでプレビュー] プルダウン メニューでハイライト表示されている [ポート 8080 でプレビュー]

  1. ユーザー名 admin と自動生成されたパスワードでログインできます。
自動ログインされる場合もあります。

これで、Kubernetes クラスタに Jenkins が設定されました。

理解度チェック

今回のラボで学習した内容の理解を深めていただくため、以下の多肢選択式問題を用意しました。正解を目指して頑張ってください。

お疲れさまでした

次のステップと詳細情報

フォローアップ情報として以下をご確認ください。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2024 年 11 月 5 日

ラボの最終テスト日: 2024 年 11 月 5 日

Copyright 2026 Google LLC. All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。

ラボを開始するには、この簡単な手順を完了してください。