
Если вы с разбегу захотите использовать PodSecurityPolicy, то вас ждет разочарование и придется начать с ряда приседаний:
1) Создать саму политику
2) Создать
3) Создать
4) Включить PodSecurityPolicy admission controller
Последний пункт должен быть обязательно таким по очереди иначе вообще ни один Pod не сможет создаться в кластере!
Почему сделано так сложно мне лично непонятно... Использование той же
На выручку при создании
1) Создать саму политику
2) Создать
Role
/ClusterRole
, которая сможет использовать созданную вами политику3) Создать
RoleBinding
/ClusterRoleBinding
для связи роли с service accounts, users или groups4) Включить PodSecurityPolicy admission controller
Последний пункт должен быть обязательно таким по очереди иначе вообще ни один Pod не сможет создаться в кластере!
Почему сделано так сложно мне лично непонятно... Использование той же
NetworkPolicy
куда проще, правда там реализация лежит на стороннем разработчике CNI
плагина, а не на встроенном admission controller, как в случае с PodSecurityPolicy
.На выручку при создании
PodSecurityPolicy
может прийти лишь kube-psp-advisor, выполненный в виде Krew
плагина. Он сгенерирует Role
, RoleBinding
и PodSecurityPolicy
в едином YAML файле.