type
status
date
slug
summary
tags
category
icon
password

ガイド付き演習

アプリケーションのスケーリング
このラボでは、実行中のポッドの数を増加させてアプリケーションをスケーリングします。

リソース

目標

デプロイメント構成を使用してアプリケーションをスケーリングし、複数のポッドをデプロイできるようになります。

開始前の準備

第7章「OpenShift Container Platformのインストール」からのすべてのラボが完了しており、OpenShift Container Platform クラスターがマスターと2つのノードで実行されていることを確認してください。もしそうでない場合は、マスター、ノード1、ノード2ホストをリセットし、ワークステーションホストで以下のコマンドを実行して環境が正しく設定されていることを確認してください。

手順

1. 新しいプロジェクトを作成

1.1. 開発者ユーザーとしてOpenShiftにログイン:
1.2. scaling という名前のプロジェクトを作成:

2. スケーリングをテストするためのアプリケーションを作成

2.1. 新しいアプリケーションを作成し、その定義をYAMLファイルとしてエクスポートします。php:7.0 イメージストリームを使用:
2.2. YAMLリソース定義ファイルをテキストエディタで開く:
DeploymentConfig リソースを探し、replicas 属性を 1 から 3 に変更します。
この変更により、アプリケーションが作成されるときに3つのポッドが作成されます。ファイルを保存してエディタを終了します。
2.3. oc create コマンドを使用してアプリケーションを作成:
出力例:
2.4. ビルドの状態を確認:
※ビルドが完了するまで数秒かかる場合があります。ビルドの状態が「Complete」に変わるまで待ち、Ctrl+C でコマンドを終了します。
2.5. 使用可能なポッドをリスト表示:
出力例:
前のコマンドを繰り返して、スケーリングアプリケーションの3つのポッドが表示されるまで待ちます。すべてのポッドが準備完了で実行中になるまで、少し時間がかかることがあります。

3. アプリケーションのルートを作成して、各ポッドへのリクエストをバランスさせる

出力例:

4. アプリケーションのポッドのIPアドレスをWebコンソールで取得し、それらをスケーリングアプリケーションで報告されているIPアドレスと比較します。

4.1. ワークステーションからWebブラウザ(アプリケーション → インターネット → Firefox)を開き、次のURLにアクセスします:

ユーザー名に developer、パスワードに redhat を入力してログインします。

4.2. ページの右側にある「My Projects」の下で、scaling をクリックします。

notion image
図14.1: スケーリングプロジェクト

4.3. スケーリングの左側にあるドロップダウンメニューを選択し、「#1」をクリックして、3つのアプリケーションポッドにアクセスします。

notion image
図14.2: プロジェクト概要ページ

4.4. 左側のナビゲーションペインで「アプリケーション → ポッド」を選択して、ポッドを表示します。

notion image
図14.3: アプリケーションポッド
ポッド名の1つをクリックして、ポッドの詳細を表示します。詳細には、その内部IPアドレスも含まれます。
notion image
図14.4: ポッドの詳細

4.5. ワークステーションで oc get pods コマンドに o wide オプションを付けて実行し、各実行中のポッドの内部IPアドレスを表示します:

5. OpenShiftのルーターがアプリケーションへのリクエストをバランスよく分配していることを確認します。そのためには、curl コマンドを実行するために for ループを使用します。

各リクエストは異なるIPアドレスを返すべきです。なぜなら、各リクエストは異なるポッドによって処理されるからです。もしポッドよりも多くのリクエストを送ると、同じIPアドレスが重複して表示されます。
出力例:

注:

Webブラウザを使ってロードバランシングを確認することはできません。なぜなら、OpenShiftのルーターはセッションアフィニティ(別名、スティッキーセッション)を実装しているからです。同じWebブラウザからのすべてのリクエストは同じポッドに送られます。新しいタブやウィンドウを開いてもセッションアフィニティは回避できません。別のWebブラウザアプリケーションを使用するか、異なるコンピュータからWebブラウザを開く必要があります。

6. アプリケーションのポッド数を増やしてスケールします。

6.1. 現在のDeploymentConfigで指定されているレプリカの数を確認します:

出力例:

6.2. oc scale コマンドを使って、ポッドの数(レプリカ)を5に増やします:

6.3. また、OpenShiftのWebコンソールの「Overview」タブからもポッドの数を変更できます。青いドーナツの隣にある上矢印または下矢印をクリックすることで、ポッド数を増減できます。

notion image

ポッドの数が増減するにつれて、Overviewページの青いドーナツがそれに応じて変化することを確認できます。

6.4. 現在、このアプリケーションで5つのポッドが実行されていることを確認します:

出力例:

6.5. ルーターが新しいポッドへのリクエストをバランスよく分配していることを確認します(同じURLを使用):

出力例:
ステップ5の出力と比較します。ルーターが5つのアプリケーションポッド間でリクエストをラウンドロビン方式でバランスよく分配していることが確認できます。

7. クリーンアップ

ワークステーションで次のコマンドを実行して、scaling プロジェクトを削除します:
出力例:
これで、ガイド付き演習は終了です。
 
60- 第14章:アプリケーションデプロイメントの管理-1:アプリケーションスケーリングの説明62- 第14章:アプリケーションデプロイメントの管理-3:ポッドスケジューリング制御の説明
Loading...
Catalog
0%
minami
minami
一个普通的干饭人🍚
Announcement

🎉 ブログへようこそ 🎉

notion image
名前:みなみ独立事務所
性別:男
国籍:China
完全独学だけで基本情報をはじめ31個の資格を仕事をしながら合格。 現在はIT会社の技術担当や、ブログの執筆や学習支援などを手掛けています。 独学で合格できる学習法、勉強法、試験対策を配信します!

📚 主な内容

💻 IT・システム開発
🏠 不動産 × 宅建士
🎓 MBA 学習記録

🔍 コンテンツの探し方

現在、サイトのデザインはシンプルなため、情報がやや探しにくいかもしれません。
気になるテーマを探す際は、タグ検索の利用をおすすめします。
Catalog
0%