type
status
date
slug
summary
tags
category
icon
password
书籍
演習目的
OpenShiftノード用のストレージを提供するために、OpenShiftサービスVMでNFS共有を構成し、OpenShiftの永続ボリュームをデータベースポッドにバインドする方法を学びます。
前提条件
- 第7章「OpenShift Container Platformのインストール」で紹介されているすべてのラボを完了し、マスターおよび2つのノードを持つOpenShift Container Platformクラスターが実行されている必要があります。もしクラスターが準備できていない場合、以下のコマンドを実行して環境を設定してください。
クラスターが正しく起動していることを確認するため、ワークステーションのターミナルで以下のコマンドを実行します。
手順
1. サービスVMでNFS共有を構成する
1.1. サービスVMにrootユーザーとしてログインします。
1.2. NFS共有の設定を自動化するための
config-nfs.sh
スクリプトがあります。このスクリプトは /root/DO285/labs/deploy-volume/config-nfs.sh
にあります。スクリプトの内容を確認して、設定プロセスに慣れましょう。1.3. スクリプトを実行して、NFS共有を設定します。
1.4. サービスVMで
/var/export/dbvol
がエクスポートリストに含まれていることを確認します。1.5. サービスVMからログアウトします。
2. ノード1およびノード2でNFSエクスポートボリュームがアクセスできることを確認する
2.1. ノード1にrootユーザーとしてログインします。
2.2. ノード1がサービスVMのNFS共有にアクセスできることを確認します。
2.3. ノード1でファイルシステムが正しい権限でマウントされていることを確認します。
2.4. NFS共有をアンマウントします。
2.5. ノード1からログアウトします。
2.6. ノード2にrootユーザーとしてログインします。
2.7. ノード2がサービスVMのNFS共有にアクセスできることを確認します。
2.8. ノード2でファイルシステムが正しい権限でマウントされていることを確認します。
2.9. NFS共有をアンマウントします。
2.10. ノード2からログアウトします。
注意
- OpenShiftは必要に応じて自動的にNFS共有をマウントします。
3. ワークステーションホストでOpenShiftにadminユーザーとしてログインし、MySQLデータベースポッドで使用する永続ボリュームを作成します。
3.1. adminユーザーとしてログインします。プロンプトが表示された場合は、安全でない接続を承認します。
3.2. 永続ボリューム定義を確認します:
YAMLファイルの内容は以下の通りです:
3.3. 提供されたYAMLリソース定義ファイルを使用して、永続ボリュームを作成します:
mysqldb-volume
永続ボリュームが作成されます。3.4. 永続ボリュームがプロジェクトによって要求される準備が整っていることを確認します:
出力例:
4. ワークステーションホストでOpenShiftにdeveloperユーザーとしてログインし、persistent-storage
という新しいプロジェクトを作成します。
4.1. developerユーザーとしてログインします。パスワードは redhat
です。
4.2. persistent-storage
という新しいプロジェクトを作成します:
5. oc new-app
コマンドを使用して、mysqldb
という新しいアプリケーションを作成します。
5.1. 以下のコマンドで、mysqldb
アプリケーションを作成します:
出力例:
6. mysqldb
アプリケーションが正常に展開されたことを確認し、永続ボリュームを使用するようにデプロイメント構成を変更します。
6.1. mysqldb
アプリケーションが正常に展開されたことを確認します:
出力例:
6.2. oc describe pod
コマンドを使用して、ボリュームの名前が mysqldb-volume-1
であり、そのタイプが現在 EmptyDir
であることを確認します:
6.3. oc set volume
コマンドを使用して、デプロイメント構成を変更し、永続ボリューム要求を作成します:
これにより、
mysqldb-pvclaim
という永続ボリューム要求が作成され、デプロイメントが更新されます。6.4. oc describe pod
コマンドを使用して、ポッドが永続ボリュームを使用していることを確認します。出力には、mysqldb-volume-1
と表示され、タイプは PersistentVolumeClaim
、ClaimName
は mysqldb-pvclaim
であることが確認できます:
7. 永続ボリュームクレームの確認
ワークステーションホストで、
oc get pvc
コマンドを使用して、mysqldb-pvclaim
の永続ボリュームクレームが mysqldb-volume
という永続ボリュームにバインドされていることを確認します。8. データベースの初期化
ワークステーションホストから、
/home/student/DO285/labs/deploy-volume/quote.sql
にある SQL ファイルを使ってデータベースを初期化します。oc port-forward
コマンドを使用してローカルポート 3306 をポッドポート 3306 に転送し、mysql
コマンドを使用してデータベースを初期化します。8.1. ポッドのステータス確認とポート転送
2 つのターミナルを開き、最初のターミナルで
oc get pods
コマンドを実行してポッドのステータスを確認します。mysqldb
ポッドが準備完了して実行中であることを確認し、oc port-forward
コマンドを実行してローカルポート 3306 をポッドポート 3306 に転送します。このコマンドは接続が手動で終了されるまでポートを開き続けます。8.2. SQL ファイルを使ってデータベースの初期化
2 番目のターミナルから、提供された
quote.sql
ファイルを使用して quotes
データベースを初期化します。8.3. テーブルのデータ確認
データベースに接続して、
quote
テーブルにデータが含まれていることを確認します。期待される出力:
8.4. データベースファイルの確認
MySQL サーバーがエクスポートされたフォルダにデータベースを作成したことを確認します。
8.5. テーブルメタデータの確認
MySQL サーバーが
quotes
ディレクトリ内にテーブルのメタデータを作成したことを確認します。重要:
quotes
ディレクトリに quote.frm
というファイルが存在することを確認してください。これはデータベース内で作成されたテーブルの名前に対応します。8.6. ポート転送の停止
最初のターミナルから、
oc port-forward
コマンドを終了するには Ctrl+C を押して停止します。9. クリーンアップ
9.1. プロジェクトの削除
ワークステーションホストで、
persistent-storage
プロジェクトを削除します。これにより、このラボで作成されたすべての PVC とポッドも削除されます。9.2. PV の削除
ワークステーションホストで、管理者ユーザーとして OpenShift にログインし、PV を削除して、次回のラボで再作成できるようにします(NFS シェアを再利用します)。
9.3. NFS 共有ディレクトリの確認
NFS 共有ディレクトリ
/var/export/dbvol/
上にあるデータベースファイルが削除されていないことを確認します。PV を削除した後でも、ファイルは残ります。9.4. NFS 共有ディレクトリの内容を削除
OpenShift サービス VM に SSH でアクセスし、NFS 共有ディレクトリ
/var/export/dbvol/
の内容を削除します。削除されたことを確認します。
9.5. NFS シェアの削除
ワークステーション VM から、NFS シェアを削除するために
lab deploy-volume cleanup
コマンドを実行します。- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1a8d7ae8-88e2-8003-b35d-feb179084e55
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章