почему мой контейнер 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 возможности, но в то же время отбрасываю все возможности, это была эта проблема в моем случае, и, удалив флаг «ВСЕ» и вместо этого указав другие возможности, которые я хочу отбросить одну за другой, это сработало.

Другие вопросы по тегам