Как подключиться к OpenLDAP, который создан по официальной схеме руля? - PullRequest
0 голосов
/ 12 апреля 2020

Использование установленного Helm 3 OpenLDAP:

helm install openldap stable/openldap

Получил это сообщение:

NAME: openldap
LAST DEPLOYED: Sun Apr 12 13:54:45 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
OpenLDAP has been installed. You can access the server from within the k8s cluster using:

  openldap.default.svc.cluster.local:389


You can access the LDAP adminPassword and configPassword using:

  kubectl get secret --namespace default openldap -o jsonpath="{.data.LDAP_ADMIN_PASSWORD}" | base64 --decode; echo
  kubectl get secret --namespace default openldap -o jsonpath="{.data.LDAP_CONFIG_PASSWORD}" | base64 --decode; echo


You can access the LDAP service, from within the cluster (or with kubectl port-forward) with a command like (replace password and domain):
  ldapsearch -x -H ldap://openldap.default.svc.cluster.local:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w $LDAP_ADMIN_PASSWORD


Test server health using Helm test:
  helm test openldap


You can also consider installing the helm chart for phpldapadmin to manage this instance of OpenLDAP, or install Apache Directory Studio, and connect using kubectl port-forward.

Однако я не могу использовать эту команду для поиска содержимого на сервере ldap в кластере k8s:

export LDAP_ADMIN_PASSWORD=[REAL_PASSWORD_GET_ABOVE]
ldapsearch -x -H ldap://openldap.default.svc.cluster.local:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w $LDAP_ADMIN_PASSWORD

Получена ошибка

ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

Я также авторизируюсь в модуле для запуска

kubectl exec -it openldap -- /bin/bash
# export LDAP_ADMIN_PASSWORD=[REAL_PASSWORD_GET_ABOVE]
# ldapsearch -x -H ldap://openldap.default.svc.cluster.local:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w $LDAP_ADMIN_PASSWORD

То же самое.

1 Ответ

1 голос
/ 14 апреля 2020

Как указано в примечаниях:

ПРИМЕЧАНИЯ: OpenLDAP установлен. Вы можете получить доступ к серверу из кластера k8s, используя:

openldap.default.svc.cluster.local:389

Вы можете получить доступ к LDAP adminPassword и configPassword, используя:

kubectl get secret --namespace default openldap -o jsonpath="{.data.LDAP_ADMIN_PASSWORD}" | base64 --decode; echo kubectl get secret --namespace default openldap -o jsonpath="{.data.LDAP_CONFIG_PASSWORD}" | base64 --decode; echo

Вы можете получить доступ к службе LDAP из кластера (или с помощью kubectl port-forward) с помощью следующей команды (заменить пароль и домен): ldapsearch -x -H ldap://openldap.default.svc.cluster.local:389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w $LDAP_ADMIN_PASSWORD

Проверка работоспособности сервера с помощью теста Хелма: helm test openldap

Вы также можете рассмотреть возможность установки диаграммы управления для phpldapadmin для управления этим экземпляром OpenLDAP или установки Apache Directory Studio и подключения с использованием kubectl port-forward.

. Вы можете сделать:

$ kubectl port-forward services/openldap 3389:389 
Forwarding from 127.0.0.1:3389 -> 389
Forwarding from [::1]:3389 -> 389
Handling connection for 3389

Из другой оболочки вне кластера Kubernetes:

$ kubectl get secret --namespace default openldap -o jsonpath="{.data.LDAP_ADMIN_PASSWORD}" | base64 --decode; echo
l3dkQByvzKKboCWQRyyQl96ulnGLScIx
$ ldapsearch -x -H ldap://localhost:3389 -b dc=example,dc=org -D "cn=admin,dc=example,dc=org" -w  l3dkQByvzKKboCWQRyyQl96ulnGLScIx

Также это уже упоминалось в комментарии @ Totem

...