27.11.2. 作業を開始する前に
すべてのノードに
samba-client
、samba-common
、およびcifs-utils
をインストールします。$ sudo yum install samba-client samba-common cifs-utils
すべてのノードで SELinux ブール値を有効にします。
$ /usr/sbin/setsebool -P virt_use_samba on $ /usr/sbin/setsebool -P virt_sandbox_use_samba on
mount
コマンドを実行してdir_mode
およびfile_mode
パーミッションなどを確認します。$ mount
dir_mode
および file_mode
のパーミッションが 0755
に設定されている場合には、デフォルト値 0755
を 0777
または 0775
に変更します。OpenShift Container Platform 3.9 では、デフォルトの dir_mode
および file_mode
パーミッションが 0777
から 0755
に変更されるので、この手動の手順が必要です。以下の例では、変更された値が含まれる設定ファイルを紹介しています。
Azure File を使用する場合の考慮事項
以下のファイルステム機能は Azure File ではサポートされません。
- シンボリックリンク
- ハードリンク
- 拡張属性
- スパースファイル
- 名前付きパイプ
また、Azure File がマウントされるディレクトリーの所有者 ID (UID) は、コンテナーのプロセス UID とは異なります。
サポートされていないファイルシステム機能を使用するコンテナーイメージを使用した場合、環境が不安定になる可能性があります。PostgreSQL および MySQL のコンテナーには Azure File で使用すると問題が生じることが確認されています。
MySQL と Azure File を使用するための回避策
MySQL コンテナーを使用する場合、回避策として、マウントされたディレクトリー UID とコンテナープロセス UID 間のファイル所有者の不一致に対して PV 設定を変更する必要があります。PV 設定ファイルに対して以下の変更を実行します。
PV 設定ファイルの
runAsUser
変数に、Azure File のマウントされたディレクトリー UID を指定します。spec: containers: ... securityContext: runAsUser: <mounted_dir_uid>
PV 設定ファイルの
mountOptions
でコンテナーのプロセス UID を指定します。mountOptions: - dir_mode=0700 - file_mode=0600 - uid=<container_process_uid> - gid=0