type
status
date
slug
summary
tags
category
icon
password
书籍
永続ストレージの割り当て
このラボでは、データをNFSバックエンドの永続ボリュームに格納するデータベースと統合するアプリケーションをデプロイするテンプレートを使用します。
結果
データを格納するために永続ストレージを使用するデータベースと統合するアプリケーションをデプロイできるようになること。
始める前に
本章の「OpenShift Container Platformのインストール」に関するすべてのラボを完了し、OpenShift Container Platformクラスター(マスターと2つのノード)が実行されていることを確認してください。もしそうでない場合、マスター、node1、node2ホストをリセットし、ワークステーションホストで以下のコマンドを実行して、環境が正しく設定されていることを確認してください:
マスター、node1、node2ホストが起動していることを確認し、このガイド付きエクササイズに必要なファイルをダウンロードするには、ワークステーションVMで以下のコマンドを実行します:
- サービスVMから、/root/DO285/labs/storage-review/config-review-nfs.shスクリプトを実行して、このラボで使用するOpenShiftの永続ボリューム用のNFS共有(/var/export/review-dbvol)を設定します。
1.1 サービスVMにrootユーザーとしてログインします:
1.2 スクリプトの内容を確認し、NFS共有を設定するプロセスを理解します:
1.3 スクリプトを実行してNFS共有を設定します:
1.4 showmount -eコマンドを実行して、エクスポートリストに/var/export/review-dbvol NFS共有が含まれていることを確認します:
1.5 サービスVMからログアウトします:
- ワークステーションVMで、adminユーザーとしてOpenShiftにログインし、提供された
/home/student/DO285/labs/storage-review/review-volume-pv.yaml
ファイルを使用して、review-pv
という名前の永続ボリュームを作成します。
2.1 OpenShiftにadminユーザーとしてログインします:
2.2
/home/student/DO285/labs/storage-review/review-volume-pv.yaml
の内容を確認し、PV属性とNFS共有が正しく設定されていることを確認します:2.3 永続ボリューム定義に対して
oc create
コマンドを使用して、review-pv
という名前の永続ボリュームを作成します:- OpenShiftの
openshift
名前空間で、adminユーザーとしてログインしていることを確認します。次に、/home/student/DO285/labs/storage-review/instructor-template.yaml
からインストラクターアプリケーションテンプレートをインポートします。
注意: テンプレートがWebコンソールに表示されるように、
-n openshift
名前空間パラメータを適用することが重要です。3.1 テンプレートファイルのさまざまなパラメータを確認します。php:7.0のイメージがPHPアプリケーションの作成に使用され、mysql:5.7のイメージがデータベースの作成に使用されていることに注目します。テンプレートは、先に作成した
review-pv
にバインドされた永続ボリュームクレームを作成します。3.2
/home/student/DO285/labs/storage-review/instructor-template.yaml
インストラクターテンプレートファイルをadminユーザーとしてインポートします:- ワークステーションホストから、developerユーザーとしてOpenShiftにログインし、
instructor
という新しいプロジェクトを作成します。
4.1 developerユーザーとしてOpenShiftにログインします:
4.2
instructor
という新しいプロジェクトを作成します:5.ワークステーションから、OpenShift Webコンソールにアクセスし、
https://master.lab.example.com
に移動します。developer
ユーザーとして、パスワードに redhat
を使ってログインします。instructor
プロジェクトを選択し、OpenShiftのテンプレートカタログをブラウズします。次に、The Instructor Application Template PHP テンプレートを選択します。その後、The Instructor Application Template アプリケーションテンプレートを選択し、Application Host
フィールドに instructor.apps.lab.example.com
を追加して、PHPサービスへルーティングするホスト名を公開します。そして、instructor
アプリケーションを作成します。5.1 Firefoxを開き、
https://master.lab.example.com
にアクセスします。セキュリティ証明書が求められた場合は、証明書を受け入れ、developer
ユーザーとして、パスワード redhat
を使ってログインします。その後、instructor
プロジェクトをクリックしてプロジェクトにアクセスします。
5.2. 「カタログを参照」 をクリックして、利用可能なコンポーネントを表示します。

5.3. カタログから「Languages」タブをクリックし、PHPを選択します。
「The Instructor Application Template」テンプレートをクリックして、テンプレートのプロパティを編集し、次のステージに進むために「Next」をクリックします。

注意
このラボのテスト中に、テンプレートが開発者ユーザーに表示されないことがあることがわかりました。この場合は、管理者ユーザーとしてログインし、再度試してください。以下のラボステップは管理者として実行しても問題ありません。
5.4. テンプレートによって自動的に入力されるデフォルト値が使用されますが、「Application Hostname」 フィールドは更新する必要があります。値として
instructor.apps.lab.example.com
を入力し、次に進むために「Next」をクリックします。次の画面では、デフォルト値のままで「Create」をクリックしてアプリケーションを作成します。

5.5. 「Continue to project overview」をクリックして、アプリケーションのビルド状況を監視します。
「Provisioned Services」フレームから「instructor」をクリックします。
次に、デプロイメント構成の「instructor #1」の横にあるドロップダウン矢印をクリックして、デプロイメントパネルを開きます。ビルドが完了すると、「Builds」セクションの横に「Complete」の緑色のチェックマークが表示されます。
アプリケーションのルート
http://instructor.apps.lab.example.com
は、Networking セクションに表示されます。
- テンプレートはデータベースサーバーを作成しました。ワークステーションから、
oc port-forward
コマンドを使用して、ローカルのポート 3306 をポッドのポート 3306 に転送します。その後、/home/student/DO285/labs/storage-review/instructor.sql
にある SQL ファイルを使用してデータベースにデータを入力します。 以下のmysql
コマンドを使用してデータベースを入力します:
6.1. OpenShift に開発者ユーザーでログインしていることを確認します:
6.2. 2つのターミナルを開きます。最初のターミナルから、
oc get pods
コマンドを実行して、ポッドの状態を取得します。MySQL ポッドが「Running」と表示されていることを確認します。次に、oc port-forward
コマンドを実行して、ローカルのポート 3306 をポッドのポート 3306 に転送します。このコマンドは、手動で接続を終了するまでポートを開き続けます。6.3. 2番目のターミナルから、提供された
instructor.sql
ファイルを使用して、instructor
データベースにデータを入力します:6.4. データベースに新しいレコードが追加されたことを確認するために、MySQL コマンドを実行します:
6.5. 最初のターミナルで
Ctrl+C
を押して、ポートフォワード接続を終了します。- アプリケーションにアクセスします。アプリケーションは以下の URL で利用可能です:http://instructor.apps.lab.example.com。アプリケーションを使用して、以下の表に従って新しいレコードを追加します。
INSTRUCTORを追加
名前 | メールアドレス | 都市 | 国 |
InstructorUser4 | Raleigh | United States |
7.1. 「Add new Instructor」をクリックして新しいインストラクターを追加し、表に提供された情報を使用してフォームを完成させます。
「Add New Instructor」をクリックしてデータベースを更新します。インストラクターのリストが自動的に更新されます。
- 評価 次のコマンドを実行して作業を評価します:
もし「PASS」の評価が得られない場合は、作業を再確認し、再度評価コマンドを実行してください。
- クリーンアップ
ワークステーションホストでインストラクタープロジェクトと
review-pv
永続ボリュームを削除します。マスターホストでは、/var/export/review-dbvol
ディレクトリ内のデータベースファイルを削除します。
9.1. ワークステーションホストで、OpenShift の管理者ユーザーとしてログインします(パスワードは
redhat
):9.2. インストラクタープロジェクトを削除します:
9.3.
review-pv
永続ボリュームを削除します:9.4. サービスVMにログインしてデータベースファイルを削除します。
ワークステーションからサービスVMに root ユーザーとしてログインします:
データベースおよび NFS ファイルを削除し、そのファイルが削除されたことを確認します:
これでラボは終了です。
まとめ
この章では、以下のことを学びました:
- Red Hat OpenShift Container Platform は、ポッドに対して永続ストレージをプロビジョニングするために PersistentVolumes (PVs) を使用します。
- OpenShiftプロジェクト は、PersistentVolumeClaim (PVC) リソースを使用して、プロジェクトに対してPVが割り当てられるようにリクエストします。
- OpenShiftインストーラー は、デフォルトのレジストリを設定し起動します。このレジストリは、OpenShiftマスターからエクスポートされたNFS共有を使用します。
- 一連の Ansible変数 を使用して、OpenShiftのデフォルトレジストリに対して外部NFSストレージの構成を行います。これにより、永続ボリュームと永続ボリュームクレームが作成されます。
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1a9d7ae8-88e2-8024-9e2a-d58e2afc7730
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章