web-dev-qa-db-ja.com

root以外のユーザーにPersistentVolumeClaimへのアクセスを許可する

Kubernetesでは、 PersistentVolumeClaim を使用してストレージを作成し、後でそれをコンテナにマウントできます。

ただし、コンテナ内のユーザーがrootでない場合、そのユーザーはrootが所有しているため、そのディレクトリにアクセスできません。

そのようなボリュームにアクセスする正しい方法は何ですか? (そのボリュームを作成およびマウントするときに、ユーザー/許可オプションが見つかりませんでした。)

12
michas

まず、プロセスが実行されているUID番号を見つけます。

次に、 .spec.securityContext.fsGroup を追加することで、ポッドのボリュームのマウントポイントをchown(一種)するようにKubernetesに指示できます。

spec:
  ...
  securityContext:
    fsGroup: 2000

fsGroup:integer:ポッド内のすべてのコンテナーに適用される特別な補足グループ。一部のボリュームタイプでは、Kubeletがそのボリュームの所有権を変更してポッドが所有できるようにします。1。所有するGIDはFSGroupになります。2。setgidビットが設定されます(ボリュームに作成された新しいファイルはFSGroupによって所有されます)3 。パーミッションビットはrw-rwとORされます----設定されていない場合、Kubeletはボリュームの所有権とパーミッションを変更しません。

7
Janos Lenart