type
status
date
slug
summary
tags
category
icon
password
书籍
内部レジストリの永続性についての説明
目的
このセクションを完了することで、受講者は内部コンテナレジストリの永続性がどのように構成されているかを説明できるようになります。
OpenShift内部イメージレジストリの永続化
OpenShift Container Platformの内部イメージレジストリは、アプリケーションソースコードからポッドを作成する際に使用されるSource-to-Image(S2I)プロセスにとって重要なコンポーネントです。S2Iプロセスの最終的な出力はコンテナイメージで、これはOpenShiftの内部レジストリにプッシュされ、デプロイメントで使用されます。小規模なテスト環境やPoC(概念実証)では、OpenShiftを一時的なストレージで実行することが可能ですが、本番環境ではレジストリのために永続ストレージを設定する方が適切です。そうしないと、S2Iによって作成されたポッドがレジストリポッドを再作成した後、例えばホストノードが再起動した場合に起動できなくなる可能性があります。
OpenShiftインストーラーは、デフォルトで永続的なレジストリを構成し、NFS共有を使用します。これはインベントリファイルの
openshift_hosted_registry_storage_*
変数によって定義されています。本番環境では、Red Hatは耐障害性と高可用性が確保された外部サーバーに永続ストレージを提供することを推奨しています。高度なインストーラーは、外部NFSサーバーを使用して永続ストレージを構成します。インベントリファイルでは、NFSサーバーの設定が
[nfs]
グループで定義され、これを使ってNFSサーバーが設定されます。openshift_hosted_registry_storage_kind=nfs
:NFSを使用するストレージの種類を定義。
openshift_hosted_registry_storage_access_modes=['ReadWriteMany']
:ReadWriteMany
をデフォルトとして、複数のノードが読み書き可能なボリュームアクセスモードを指定。
openshift_hosted_registry_storage_nfs_directory=/exports
:NFSサーバー上で使用する永続レジストリのストレージディレクトリを定義。
openshift_hosted_registry_storage_nfs_options='*(rw,root_squash)'
:NFSのオプションを定義。rw
は読み書きアクセスを許可し、root_squash
はリモートからのrootユーザーアクセスを制限。
openshift_hosted_registry_storage_volume_name=registry
:永続ボリュームの名前を定義。
openshift_hosted_registry_storage_volume_size=40Gi
:永続ボリュームのサイズを指定。
インストールおよび永続レジストリのストレージ構成が完了すると、OpenShiftは
openshift
プロジェクトに registry-volume
という永続ボリュームを作成します。このボリュームの容量は40GBで、ポリシーは Retain
に設定されています。次のリストは、永続レジストリが使用する永続ボリュームの定義例です。
- 永続ボリューム名
registry-volume
を定義。
- 永続ボリュームのクレーム(
default/registry-claim
)を定義。
Retain
はデフォルトの永続ボリュームポリシーで、ボリュームがクレームから解放された後も削除されません。
- アクセスモード
RWX
は、複数のノードが同時に読み書きできることを示します。
次のコマンドを実行して、OpenShift内部レジストリが
registry-volume
を使用するように構成されていることを確認できます。OpenShiftの内部イメージレジストリは、イメージとメタデータを単純なファイルとフォルダとして格納します。そのため、ストレージのソースを確認することで、レジストリがファイルを保存しているかどうかを検証できます。プロダクション環境では、外部NFSサーバーにアクセスすることで確認できますが、教室環境では、NFS共有がサービスVMに設定されているため、SSHを使ってリモートでNFS共有にアクセスして、OpenShift内部レジストリが永続ストレージにイメージを格納しているかどうかを確認できます。
例えば、
hello
というアプリケーションがデフォルトネームスペースで実行されている場合、次のコマンドを実行して永続ストレージにイメージが格納されていることを確認できます。注意:
OpenShift Container Platform管理者ガイドでは、内部レジストリをローカルホストストレージを使用して構成する方法(
--mount-host
オプションを使用)についても記載しています。これはPoCには適していますが、レジストリが複数のノードにスケールしたり、ノード間で移行が必要になる本番環境には理想的ではありません。永続ボリューム(PV)を使用することがこれらの問題を解決します。参考:
Dockerレジストリのストレージに関する追加情報は、OpenShift Container Platform管理者ガイドで確認できます。
クイズ
内部レジストリの永続性についての説明
以下の質問に対して正しい回答を選んでください:
- 統合レジストリで使用するストレージバックエンドを定義するAnsible変数はどれですか?
- a. openshift_hosted_registry_nfs_backend
- b. openshift_hosted_registry_storage_kind
- c. openshift_integrated_registry_storage_type
- 高度なインストーラーで統合レジストリストレージのために作成される2つのオブジェクトはどれですか?(2つ選んでください)
- a. イメージストリーム
- b. 永続ボリュームクレーム(PVC)
- c. ストレージクラス
- d. 永続ボリューム(PV)
- e. デプロイメント構成(DC)
- 次のAnsible変数のうち、アクセスモードRWXで永続ボリュームを作成するのはどれですか?
- a. openshift_set_hosted_rwx
- b. openshift_integrated_registry_nfs_option
- c. openshift_hosted_registry_storage_access_modes
- d. openshift_hosted_registry_storage_nfs_options
- レジストリ永続性のためにストレージバックエンドの適切な使用を確認するために使用するコマンドはどれですか?
- a.
oc describe dc/docker-registry | grep -A4 Volumes
- b.
oc describe pvc storage-registry | grep nfs
- c.
oc describe sc/docker-registry
- d.
oc describe pv docker-persistent
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1a8d7ae8-88e2-80c4-b470-d9edb231b046
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章