Skip to main content

Pregunta 38 | Configuración Pod Security Policy

Crea una Pod Security Policy con las siguientes condiciones:

  • PSP name : pod-psp
  • No permitir pods privilegiados
  • Permitir montaje de volúmenes en pod: secret, configMap
  • seLinux, runAsUser, fsGroup: RunAsAny

Solución

1 - Habilitar PSP en el servidor kube-api

Edita el archivo /etc/kubernetes/manifests/kube-api-server.yaml y añade la siguiente configuración.


--enable-admission-plugins=NodeRestriction,PodSecurityPolicy ## añadir "PodSecurityPolicy"

2 - Crear la PSP


vi ~/psp.yaml

apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: pod-psp
spec:
privileged: false ## asegurar que esto esté configurado como false
seLinux:
rule: RunAsAny
runAsUser:
rule: RunAsAny
supplementalGroups:
rule: RunAsAny
fsGroup:
rule: RunAsAny
volumes: ## aplicar los volúmenes correctos como se especifica en la pregunta
- configMap
- secret

kubectl apply -f ~/psp.yaml

3 - Aplicar PSP en el pod


vi ~/pod.yaml

apiVersion: v1
kind: Pod
metadata:
name: psp-pod
spec:
containers:
- name: app
image: ubuntu
command: ["sleep" , "3600"]
securityContext:
privileged: False ## no-privilegiado
runAsUser: 0
volumes:
- name: data-volume
hostPath:
path: '/data'
type: Directory

kubectl apply -f ~/pod.yaml