Skip to content

Latest commit

 

History

History
136 lines (92 loc) · 1.83 KB

File metadata and controls

136 lines (92 loc) · 1.83 KB

1 - Create permissive pod security policy

mkdir /root/psp
cd /root/psp
vi permissive-psp.yaml
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
  name: permissive-psp
  annotations:
    seccomp.security.alpha.kubernetes.io/allowedProfileNames: '*'
spec:
  privileged: true
  allowPrivilegeEscalation: true
  allowedCapabilities:
  - '*'
  volumes:
  - '*'
  hostNetwork: true
  hostPorts:
  - min: 0
    max: 65535
  hostIPC: true
  hostPID: true
  runAsUser:
    rule: 'RunAsAny'
  seLinux:
    rule: 'RunAsAny'
  supplementalGroups:
    rule: 'RunAsAny'
  fsGroup:
    rule: 'RunAsAny'
kubectl apply -f permissive-psp.yaml

2 - Create cluster role for psp

vi permissive-psp-cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: permissive-cluster-role
rules:
- apiGroups: ['policy']
  resources: ['podsecuritypolicies']
  verbs:     ['use']
  resourceNames:
  - permissive-psp
kubectl apply -f permissive-psp-cluster-role.yaml

3 - Create cluster role binding and bind to PSP cluster role

vi permissive-psp-cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
    name: permissive-psp-cluster-bind
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: permissive-cluster-role
subjects:
  - kind: Group
    apiGroup: rbac.authorization.k8s.io
    name: system:authenticated
kubectl apply -f permissive-psp-cluster-role-binding.yaml

4: Enable PSP admission controller on kube-api server

vi /etc/kubernetes/manifests/kube-apiserver.yaml
add below line on the kube-api server

--enable-admission-plugins=PodSecurityPolicy
watch pods

kubectl get pods -n kube-system -w