IBM Cloud Satellite 構成を使用して Kubernetes リソースを複数のクラスターにデプロイする

DevOps Insights 2026年8月31 日にサービス終了となり、提供が中止されます。 Continuous Delivery は、2027年2月12日に以下のリージョンで提供が中止されます: au-sydca-monca-torus-east。 また、同日をもって、Code Risk Analyzerもすべての地域で提供を終了いたします。 あるリージョンでこれらの機能が実際に利用されていない場合、そのリージョンの機能は早期に提供が終了し、新しいインスタンスの受け入れが停止される可能性があります。 詳細はこちら

このチュートリアルでは、 IBM Cloud® Continuous Delivery を使用してオープンツールチェーンを作成し、 IBM Cloud Satellite. を使用してアプリケーション(アプリ)をデプロイする方法について学びます。 また、サービス Continuous Delivery 内でツールチェーンがどのように実装されているか、および -only Continuous Delivery ツールチェーンテンプレートを使用してシンプルなウェブアプリをデプロイする方法についても学びます。

IBM Cloud Satellite は、あらゆる環境にパブリック・クラウド・サービスを提供します。これにより、厳しい規制要件を持つお客様は、セキュアなオンプレミス・データ・センター向けにこれらのサービスの柔軟性とアジリティ(俊敏性)を活用できます。 Continuous Delivery は Satellite 構成 を使用して、 IBM Cloud Satellite 内のクラスターのグループ全体にアプリをデプロイします。 Satellite Config を使用すると、 Satellite のロケーションまたは IBM Cloud で実行されている Kubernetes または Red Hat® OpenShift® のクラスターグループに対して、どの Kubernetes リソースをデプロイするかを指定する構成を作成できます。

このチュートリアルで使用するツールチェーンは、継続的デリバリー機能に関する標準の DevOps プラクティスを実装します。 すべての継続的統合要件を満たしていることを確認した後、このツールチェーンを使用して、 IBM Cloud Satellite のロケーションでデプロイメントを管理できます。 クラスタを作成し、それらを Satellite のクラスタグループに関連付けた後、ツールチェーンを作成してデプロイ用ソースコードを変更し、その変更を GitHub リポジトリにプッシュすることができます。 リポジトリに変更内容をプッシュすると、Tekton ベースのデリバリーパイプラインによってコードが自動的にデプロイされます。

Tektonは、アプリの構築、テスト、デプロイに使用できる、オープンソースでベンダー中立の Kubernetes ネイティブフレームワークです。 Tekton は、継続的デリバリー・システムを実装するための一連の共有コンポーネントを提供します。 オープンソースプロジェクトであるTektonは、 Continuous Delivery 財団によって運営されています。 この目標は、パイプライン、ワークフロー、およびその他のビルディング・ブロックの業界仕様の提供による、継続的デリバリーの最新化です。 Tekton を使用すると、基礎となる実装の詳細を抽象化することにより、複数のクラウド・プロバイダーやオンプレミス・システムにわたって構築、テスト、およびデプロイを行えます。 Tekton パイプラインは、 Continuous Delivery に組み込まれています。

このチュートリアルで使用しているテンプレートは、 Red Hat OpenShift の「Standard」プランに対応しています。

開始前に

このチュートリアルを開始する前に、以下のリソースが用意されていることを確認してください:

  • IBM Cloud アカウント。 IBM Cloud アカウントのタイプによっては、特定のリソースへのアクセスが制限される場合があります。 アカウント・プランの制限によっては、一部のデプロイメント戦略で必要な特定の機能が使用できない場合があります。 IBM Cloud アカウント詳細については、 IBM Cloud アカウントの設定 および アカウントのアップグレード を参照してください。

  • ツールチェーンが必要とするクラスターを含む Satellite クラスター・グループ 。 このチュートリアルのツールチェーンは、 Red Hat OpenShift クラスターのみを含む Satellite クラスター・グループをサポートします。

  • 画像プルする秘密 クラスター名前空間にアプリケーション・イメージをデプロイするために必要な イメージ・プル・シークレット を必ず構成してください。

  • Continuous Delivery サービスのインスタンスです。

  • オプション。 シークレット管理ボールトに保管され、単一の場所から一元的に管理されるシークレット。 さまざまなシークレット管理オファリングおよびデータ保護オファリングからの選択の詳細については、 IBM Cloud シークレットの管理を参照してください。 選択したシークレット管理ボールト・プロバイダーのインスタンスがまだ存在しない場合は作成してください。

  • オプション。 container registry コマンド・ラインを使用して作成される名前空間。 名前空間を作成するには、コマンド・ラインから以下のコマンドを入力します:

    ibmcloud cr namespace-add <my namespace>
    

    あるいは、 Container Registry ページで名前空間を作成することもできます。 このロケーションでの名前空間の作成の詳細については、 IBM Cloud Container Registry サービスを参照してください。

ツールチェーンを作成する

このステップでは、 「複数のクラスターへのアプリケーションのデプロイ」 ツールチェーンを作成します。 ターゲット Kubernetes クラスターは、ツールチェーンのセットアップ時に IBM Cloud API キーと Kubernetes クラスター名を使用して構成されます。 これらの設定は、後で Delivery Pipeline 構成の更新で変更できます。 ターゲット Git リポジトリー・ブランチにマージされるコードはすべて、自動的にビルドされ、検証され、Kubernetes クラスターにデプロイされます。

「複数のクラスターへのアプリケーションのデプロイ」 ツールチェーンを作成するには、以下をクリックします。

ツールチェーンの作成

または、コンソール IBM Cloud から、 メニュー アイコン( ハンバーガーアイコン) > プラットフォーム自動化 > ツールチェーンをクリックします。 **「ツールチェーン」ページで、「ツールチェーンの作成」**をクリックします。 **Create a Toolchain]**ページで、[ Deploy your application to multiple clusters ]をクリックします。

「ようこそ」ページの確認

ツールチェーンのセットアップを開始する前に、前提条件を確認して、最初にプロビジョンして構成する必要がある項目を見つけます。 「説明」セクションで、ツールチェーンの概要にアクセスできます。

caption-side=bottom"
ウェルカムページウェルカムページ

この情報をすべて確認したら、 「開始」 をクリックします。

ツールチェーン名とリージョンの構成

  1. ツールチェーン設定のデフォルト情報を確認します。 ツールチェーンの名前は、そのツールチェーンを IBM Cloud 内で識別するためのものです。 IBM Cloud の同じリージョン、同じリソース・グループのツールチェーンにおいてツールチェーン名が固有になるようにしてください。

    ツールチェーンのリージョンは、クラスターおよびレジストリーのリージョンとは違っていてもかまいません。

    ツールチェーン名と地域*ツール
    名と地域
    ツールチェーン名と地域

  2. ツールチェーンを構成するための次のステップに進むには、 「続行」 をクリックします。 現在の設定を使用してツールチェーンを作成するには、 「ツールチェーンの作成」 をクリックします。

デプロイメント・ソース・リポジトリーの構成

デプロイメント・ソース・リポジトリーには、アプリをデプロイするために必要なすべてのデプロイメント・ソース・コードが含まれています。

  1. ソース・リポジトリー・ステップで、デプロイメント・ソース・リポジトリーのデフォルト・オプションが表示されます。 基礎となるソース・プロバイダーで使用可能なすべてのオプションを表示するには、 「拡張構成に切り替え」 をクリックします。 デフォルトでは、このツールチェーンは、サンプルデプロイメントを IBM でホストされている Git Repos and Issue Tracking リポジトリとしてクローンしたサンプルを使用します。

    caption-side=bottom"
    デプロイメント・ソース・レポ*
    デプロイメント・ソース・レポ

  2. 使用するデプロイ元リポジトリの名前を指定してください。 リポジトリーのリージョンは、ツールチェーンのリージョンと同じままになります。

    ツールチェーン・テンプレートは、 IBM Cloud Satellite 構成サンプル・アプリケーションを提供します。 ツールチェーン用の既存のデプロイメントソースリポジトリをリンクするには 、「高度な設定に切り替える」 をクリックし、 URL をリポジトリ用に指定します。 ツールチェーンは、既存の Git Repos and Issue Tracking リポジトリーへのリンクのみをサポートします。

デフォルトでは、デプロイ元リポジトリのテンプレートが、 Git Repos and Issue Tracking の組織にクローンされます。 組織を変更するには、 「拡張構成に切り替え」 をクリックし、リポジトリー所有者を指定します。

Delivery Pipeline 名の構成

Continuous Delivery サービスは、Tekton 対応の デリバリー・パイプライン を使用します。

Delivery Pipeline は、プロジェクトの継続的なデプロイメントを自動化します。 プロジェクトのパイプラインでは、一連のステージが入力を取得し、ビルド、テスト、デプロイなどのジョブを実行します。 Tekton リソースは、コード・リポジトリー内で管理される YAML ファイルで定義されます。

ツールチェーンは Delivery Pipeline を作成して、 IBM Cloud Satellite クラスター・グループ内の複数のクラスターにアプリを継続的にデプロイします。 ツールチェーンの作成後にツールチェーンに表示される Delivery Pipeline の名前を指定する必要があります。

Delivery Pipeline 名前
Delivery Pipeline 名前

シークレットの安全な保管

このツールチェーン内のいくつかのツールは、 IBM Cloud API キーなどのシークレットを必要とします。 すべてのシークレットをシークレット・ボールトに安全に保管し、ツールチェーンの要求に従ってそれらのシークレットを参照する必要があります。

IBM Cloud を使用して、さまざまなシークレット管理およびデータ保護のオファリングから選択できます。これらのオファリングは、機密データの保護とシークレットの一元化に役立ちます。 「シークレット (Secrets)」ステップでは、ツールチェーンに追加またはツールチェーンから削除するシークレット・ボールト統合を指定できます。 前提条件を含むボールト統合の追加と削除、およびヒント使用の詳細については、 IBM Cloud シークレットの管理を参照してください。

テンプレート内でのヒントの使用により、ツールチェーンには事前構成されたシークレットが自動的に取り込まれます。ツールチェーンに付加されたボールト統合からシークレットを手動で選択する必要はありません。

このチュートリアルでは、 IBM Secrets Manager をシークレット・ボールトとして使用します。

秘密のオプション
秘密のオプション

IBM Secrets Manager は、ツールチェーンの一部である API キー、イメージ・シグニチャー、または HashiCorp 資格情報などのシークレットを安全に保管して適用します。

Secrets Manager 詳細
Secrets Manager 詳細

IBM Key Protect または HashiCorp, でのシークレット管理については、 シークレットを 参照してください。

Satellite 構成設定の更新

IBM Cloud Satellite 構成ツールは、指定されたクラスター・グループにデプロイメント構成を配信します。 ソース・リポジトリーのディレクトリー・パスは、指定されたクラスター・グループにデプロイするファイルを識別します。

アプリをデプロイする対象の Red Hat OpenShift クラスターを設定します

API キーに必要なアクセス権限がある場合、作成された API キー、ボールトから取得された API キー、または手動で指定された API キーを使用して、以下のフィールドが自動的にロードされます。 API キーが有効な場合は、ブランチ名とクラスター・グループの値が自動的に取り込まれます。 これらのフィールドはいずれも、ご使用の構成に合わせて更新できます。

  • IBM Cloud API キー: いくつかのタスクで ibmcloud CLI ツールとの対話に使用される API キーです。 以下のいずれかの方法を使用して、使用したい API キーを指定します。

    • 選択したシークレット・ボールトから既存の API キーをインポートするには、キー・アイコンをクリックします。
    • 既存の API キーをコピーしてペーストします。
    • 新規 をクリックして API キーを作成します。
    • 既存の API キーがない場合は、新規の api-key を生成します。

    生成された API キーは、選択した既存のシークレット・ボールトに直ちに保存できます。

  • クラスター名前空間: アプリのデプロイ先の クラスター名前空間 の名前を指定します。

  • ブランチ: ソース・リポジトリーの Git ブランチを指定します。

  • パス: ソース・リポジトリーのディレクトリー・パスを指定します。

  • クラスター・グループ: アプリをデプロイする IBM Cloud Satellite クラスター・グループを選択します。

  • 構成名: Satellite 構成の名前を指定します。 この名前は、 Satellite サブスクリプションを作成するために使用される Satellite 構成バージョンを作成するために使用されます。

Satellite

IBM Cloud 詳細 Satellite
IBM Cloud 設定の詳細

「続行」 をクリックします。

ツールチェーンのセットアップを完了します

「要約」ページで、**「ツールチェーンの作成」**をクリックします。 以下のようにいくつかのステップが自動的に実行されて、ツールチェーンがセットアップされます。

パイプラインの作成後、さらにツールチェーンの統合を設定することができます。

caption-side=bottom"
ツールチェーンサマリー*
ツールチェーンサマリー

新しいツールチェーンを探索する

ツールチェーンを作成すると、セットアップ中に指定した各ツール統合が表示されます。

ツールチェーン
ツール
*の例

Delivery Pipeline を探索します。

「 Delivery Pipeline 」を詳しく見てみると、ツールチェーンの流れや、パイプライン内で実行されるさまざまな処理について理解することができます。 このパイプラインは、ビルドアーティファクトをデプロイ環境にデプロイします。 また、このパイプラインでは、ヘルスチェックを実行することで、アプリのデプロイが正常に行われたことを確認します。

デリバリーパイプラインは、以下のいずれかの方法で開始できます

  • 配信パイプラインを手動で実行します。
  • デプロイメント・ソース・リポジトリーにコミットをプッシュします。

手動トリガーを使用したパイプラインの実行

  1. ツールチェーンの「概要」ページで、実行する Delivery Pipeline をクリックします。

  2. 「パイプラインの実行 (Run pipeline)」 アイコンをクリックし、 manual-run トリガーを選択します。

    デリバリー・パイプラインのトリガー*
    ・パイプラインのトリガー
    デリバリー・パイプラインのトリガー

  3. トリガー・プロパティーを調べて、ご使用の構成と一致することを確認してください。

  4. 「実行 (Run)」 をクリックします。

    パイプライン・ラン成功* パイプライン・" caption-side="bottom"}{: caption="* パイプライン・ラン成功

サンプル・アプリケーションが実行中であることを確認します。

ツールチェーンがセットアップされ、 Delivery Pipeline が正常に完了したら、以下のステップを実行してアプリを確認します。

  • 「クラスター」 ホーム・ページで、アプリのデプロイに使用した Red Hat OpenShift クラスターをクリックします。
  • **「OpenShift Web コンソール (OpenShift web console)」**をクリックします。
  • 「ワークロード」 > 「ポッド」 セクションで、プロジェクトまたはクラスター名前空間でフィルタリングし、ポッドが実行中であることを確認します。
  • [ネットワーク] > [ルート] セクションで、プロジェクトまたはクラスターの名前空間でフィルタリングし、アプリの URL を見つけます。
  • アプリが実行されていることを確認してください。

なにかお困りですか ?

IBM Cloud IBM の を搭載した のAIアシスタントは、 での業務や、利用可能な製品およびサービスのカタログを使用したソリューションの構築について学ぶためのものです。 watsonx IBM Cloud AIアシスタントのヘルプを参照してください

その他のサポート・オプションについては、Continuous Delivery のヘルプおよびサポートの利用を参照してください。