почему мой контейнер Openldap продолжает давать сбой из-за политики безопасности модуля
Я успешно создал PodSecurityPolicy, CluserRole и ClusterRoleBinding на GKE. Теперь я пытаюсь использовать OpenLDap отсюда . Без моего PodSecurityPolicy, установленного в кластере k8s, установка Helm этого OpenLDap работает нормально.
Однако, когда я устанавливаю PSP и пытаюсь установить OpenLDap, контейнер остается в состоянии CrashLoopBackOff.
Я знаю, что openldap требует подключения к ldapPort: и 389 sslLdapPort: 636, и я знаю, что это привилегированные порты. Я уже пытался изменить свои привилегированные настройки в psp yaml на true, но это не сработало.
PodSecurityPolicy yaml
apiVersion: policy/v1beta1
kind: PodSecurityPolicy
metadata:
name: test-psp
spec:
privileged: false
allowPrivilegeEscalation: false
defaultAllowPrivilegeEscalation: false
allowedCapabilities:
- NET_ADMIN
- NET_RAW
defaultAddCapabilities: []
requiredDropCapabilities:
- ALL
hostPID: false
hostIPC: false
hostNetwork: false
# requiredDropCapabilities: false
seLinux:
rule: RunAsAny
supplementalGroups:
rule: RunAsAny
runAsUser:
rule: RunAsAny
fsGroup:
rule: RunAsAny
volumes:
- '*'
ClusterRole
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: test-cluster-role
rules:
- apiGroups:
- policy
resources:
- podsecuritypolicies
verbs:
- use
resourceNames:
- test-psp
ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: test-role-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: test-cluster-role
subjects:
- apiGroup: rbac.authorization.k8s.io
kind: Group
name: system:serviceaccounts
когда я делаю описание в модуле openldap, я получаю Back-off перезапуск неудачного контейнера, что я могу делать здесь не так, это остановка запуска openldap.
1 ответ
Я решил эту проблему, убрав «ВСЕ» в поле requiredDropCapabilities. Кажется, что это конфликтует с allowedCapabilities.
В этом случае я разрешаю 2 возможности, но в то же время отбрасываю все возможности, это была эта проблема в моем случае, и, удалив флаг «ВСЕ» и вместо этого указав другие возможности, которые я хочу отбросить одну за другой, это сработало.