Kubernetesでは、 PersistentVolumeClaim を使用してストレージを作成し、後でそれをコンテナにマウントできます。
ただし、コンテナ内のユーザーがrootでない場合、そのユーザーはrootが所有しているため、そのディレクトリにアクセスできません。
そのようなボリュームにアクセスする正しい方法は何ですか? (そのボリュームを作成およびマウントするときに、ユーザー/許可オプションが見つかりませんでした。)
まず、プロセスが実行されているUID番号を見つけます。
次に、 .spec.securityContext.fsGroup
を追加することで、ポッドのボリュームのマウントポイントをchown(一種)するようにKubernetesに指示できます。
spec:
...
securityContext:
fsGroup: 2000
fsGroup
:integer:ポッド内のすべてのコンテナーに適用される特別な補足グループ。一部のボリュームタイプでは、Kubeletがそのボリュームの所有権を変更してポッドが所有できるようにします。1。所有するGIDはFSGroupになります。2。setgidビットが設定されます(ボリュームに作成された新しいファイルはFSGroupによって所有されます)3 。パーミッションビットはrw-rwとORされます----設定されていない場合、Kubeletはボリュームの所有権とパーミッションを変更しません。