Supplemental Groups — additional Linux groups for Pod.
1apiVersion: v12kind: Pod3metadata:4 name: supplemental-pod5spec:6 securityContext:7 runAsNonRoot: true8 runAsUser: 10009 runAsGroup: 300010 fsGroup: 200011 supplementalGroups: [4000, 5000]12 containers:13 - name: app14 image: nginx:latest15 volumeMounts:16 - name: data17 mountPath: /data18 volumes:19 - name: data20 persistentVolumeClaim:21 claimName: my-pvc22---23# fsGroupChangePolicy24apiVersion: v125kind: Pod26metadata:27 name: fsgroup-pod28spec:29 securityContext:30 runAsNonRoot: true31 runAsUser: 100032 fsGroup: 200033 fsGroupChangePolicy: OnRootMismatch34 containers:35 - name: app36 image: nginx:latest37 volumeMounts:38 - name: data39 mountPath: /data40 volumes:41 - name: data42 persistentVolumeClaim:43 claimName: my-pvc
1# Check groups2kubectl exec supplemental-pod -- id3kubectl exec supplemental-pod -- groups45# Check volume ownership6kubectl exec supplemental-pod -- ls -la /data7kubectl exec supplemental-pod -- stat /data89# Verify fsGroup10kubectl get pod supplemental-pod -o jsonpath='{.spec.securityContext.fsGroup}'11kubectl get pod supplemental-pod -o jsonpath='{.spec.securityContext.supplementalGroups}'1213# Check volume group14kubectl exec supplemental-pod -- ls -ln /data15kubectl exec supplemental-pod -- cat /proc/1/status | grep Gid
Groups:
Behavior:
Use cases: