IBM Cloud Docs
開発者のための学習パス

開発者のための学習パス

用意されている学習パスに従って、高可用性のコンテナー化アプリを Red Hat OpenShift クラスターにデプロイし、Red Hat OpenShift on IBM Cloud の強力なツールを使用して、ゾーンやリージョンをまたいでアプリのワークロードを自動化、分離、保護、管理、監視することができます。

クラスターへのアクセス

まずは、クラスターの操作を始めるために、CLI をセットアップしてクラスターにアクセスします。

  1. CLI のセットアップ: クラスターの作成と操作に必要な CLI をセットアップします。 クラスタで作業する際には、 コマンド・リファレンスを 参照し、 CLI変更ログで CLIバージョンの更新を追跡してください。
  2. ユーザー許可: クラスターにアクセスするために適切な IBM Cloud IAM の役割をクラスター管理者から付与されていることを確認します。
  3. クラスター・アクセス: パブリックまたはプライベートのクラウド・サービス・エンドポイントを使用してクラスターにアクセスします。

お困りですか? クラスターおよびマスターのトラブルシューティングおよびワーカー・ノードのトラブルシューティングを参照してください。

デプロイメントの計画

アプリをデプロイする前に、適切な方法でアプリにアクセスできるように、また、アプリに他のサービスを統合できるように、アプリのセットアップを決定しておく必要があります。

  1. Kubernetes ネイティブ: Kubernetes ネイティブ・アプリを開発するための戦略を計画します
  2. 高可用性: 高可用性デプロイメントのための戦略を計画します

サーバーレスをお探しですか? Code Engine をお試しください。

アプリの開発

Kubernetes オブジェクトの構成を宣言する YAML ファイルでアプリを構成し、アプリのバージョン管理戦略を計画します。

  1. アプリを開発します。
    1. Kubernetes ネイティブ・アプリのデプロイメントの基本を確認します。
    2. 内部、パブリック、またはプライベートのレジストリーにあるイメージからアプリ・コンテナーを作成します。
    3. YAML ファイルにアプリの要件を指定します。このファイルは、Kubernetes オブジェクトの構成を宣言します。
  2. アプリのバージョン管理を行います。
    1. 開発環境、テスト環境、実稼働環境など、複数の環境用にカスタマイズした複数の構成を計画するには、Kustomize ツールを使用して構成 YAML ファイルを管理します。
    2. 複数のクラスターで、パブリック環境とプライベート環境で、または複数のクラウド・プロバイダーでアプリを実行する場合は、デプロイメントの自動化に役立つようにアプリケーションをパッケージ化します

お困りですか? アプリと統合のトラブルシューティングを参照してください。

アプリのデプロイ

アプリの構成ファイルを実行してアプリをクラスターにデプロイします。

お困りですか? アプリと統合のトラブルシューティングを参照してください。

テスト、ロギング、モニタリング

アプリのパフォーマンス・テストを実施するときには、ロギングとモニタリングをセットアップしておくと、問題のトラブルシューティング、ワークロードの可視化、アプリの正常性とパフォーマンスの向上に役立ちます。

テスト環境で、さまざまな非理想的なシナリオを意図的に作成します。例えば、ゾーン内のすべてのワーカー・ノードを削除することでゾーン障害を再現します。 ログとメトリックを参照して、アプリがどのように復旧するかを確認します。

  1. アクセスのテスト: ワーカー・ノードにパブリックまたはプライベートの NodePort を作成して、アプリへのアクセスをテストします。
  2. ロギングとモニタリングのオプションの理解: ニーズに応じて、アプリとクラスターのロギング、監査ロギング、モニタリングのためのソリューションを選択します。
  3. コンソールによるモニタリング: アプリ・リソースに関する情報を表示するには、OpenShift Web コンソールを開きます。
  4. IBM Cloud Logs および Monitoring: クラスターの正常性をモニターするには、ログを IBM Cloud Logs に、メトリックを IBM Cloud Monitoring に転送します。

アプリの更新

ユーザーにダウン時間を強いることなくアプリのローリング更新やロールバックを実行します。

  1. 更新の戦略: アプリを最新に保つための戦略を計画します
  2. 更新のセットアップ:
  3. スケーリング: 水平ポッド自動スケーリングを有効にして、CPU に基づいてアプリのインスタンス数を自動的に増減します。

アプリの保護

Kubernetes シークレットを使用して資格情報や鍵などの機密情報を保管し、Kubernetes シークレット内のデータを暗号化すると、無許可ユーザーがアプリの機密情報にアクセスすることを防止できます。

  1. シークレット: 個人情報や機密情報を、アプリがアクセスできる Kubernetes シークレットに保管します。
  2. シークレットの暗号化: KMS プロバイダーをセットアップ し、 シークレットを暗号化して暗号化を検証 します。

アプリの公開

クラスターのアプリをインターネットでパブリックに公開するか、プライベート・ネットワークのみでプライベートに公開します。

  1. サービス・ディスカバリーを計画します。
    1. Kubernetes サービス・ディスカバリーの基本を理解します。
    2. アプリへの着信トラフィックの要件に合ったアプリ公開サービスを選択します。
  2. アプリを公開します。

お困りですか? Ingress のトラブルシューティングおよびロード・バランサーのトラブルシューティングを参照してください。

アプリ・ストレージの追加

  1. 要件: ストレージ・ソリューションの要件を決定します。
  2. ソリューションの選択: ストレージ要件を使用して、 オプション を比較してストレージ・ソリューションを選択します。

お困りですか? 永続ストレージ・ソリューションに関するトラブルシューティング・ページを参照してください。

統合の追加

さまざまな外部サービスやクラスター内のカタログ・サービスをアプリと統合して、アプリの機能を拡張します。

  1. サポートされている統合を確認します。

  2. クラスターにサービスを追加します。クラスター管理者に、クラスターに統合を追加するように依頼してください。

  3. アプリからサービスにアクセスします。アプリがサービスにアクセスできることを確認します。 例えば、アプリから IBM Cloud のサービス・インスタンスにアクセスするには、Kubernetes シークレットに保管したサービス資格情報をアプリで使用できるようにする必要があります。

お困りですか? アプリと統合のトラブルシューティングを参照してください。 {: tip}f