6

Ich bin ein Kubernetes-Cluster auf AWS mit Kops ausgeführt. Ich habe ein EBS-Volume auf einen Container gemountet und es ist von meiner Anwendung aus sichtbar, aber es wird nur gelesen, weil meine Anwendung nicht als root ausgeführt wird. Wie kann ich einen PersistentVolumeClaim als Benutzer außer root mounten? Die VolumeMount scheint keine Optionen zum Steuern der Benutzer-, Gruppen- oder Dateiberechtigungen des bereitgestellten Pfads zu haben.Kubernetes: wie VolumeMount Benutzergruppe und Dateiberechtigungen festlegen

Hier ist meine Deployment yaml Datei:

apiVersion: extensions/v1beta1 
kind: Deployment 
metadata: 
    name: notebook-1 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: notebook-1 
    spec: 
     volumes: 
     - name: notebook-1 
     persistentVolumeClaim: 
      claimName: notebook-1 
     containers: 
     - name: notebook-1 
     image: jupyter/base-notebook 
     ports: 
     - containerPort: 8888 
     volumeMounts: 
     - mountPath: "/home/jovyan/work" 
      name: notebook-1 

Antwort

5

Der Pod Sicherheitskontext eine fsGroup unterstützt Einstellung, die Sie die Gruppen-ID festlegen können, die das Volumen besitzt, und somit kann, die sie schreiben. Das Beispiel in der Dokumentation:

apiVersion: v1 
kind: Pod 
metadata: 
    name: hello-world 
spec: 
    containers: 
    # specification of the pod's containers 
    # ... 
    securityContext: 
    fsGroup: 1234 

Mehr dazu Infos hier: https://kubernetes.io/docs/concepts/policy/security-context/

+1

Ja ich auch nur, dass herausgefunden, obwohl ich Security meine Deployment-Spezifikation hinzugefügt. Vielen Dank! –

+0

Beachten Sie auch das Feld 'volumes. *. DefaultMode', um Sicherheitsbits zu setzen - https://v1-7.docs.kubernetes.io/docs/concepts/configuration/secret/#using-secrets-as-files-from- A-Pod –

Verwandte Themen