LDAP服务的部署和使用

在k8s里部署LDAP服务

LDAP服务由ladpadmin和ldapserver两个无状态服务组成

adpadmin服务(通过该服务的外部接口能访问LDAP服务)

容器配置:

镜像名称:osixia/phpldapadmin:latest (首先在本地pull该镜像,再上传到环境上)
CPU请求:0.5Core
CPU上限:1Core
内存请求:1GiB
内存上限:2GiB
挂载路径:/var/lib/ldap(持久化数据)

键值对:
PHPLDAPADMIN_LDAP_HOSTS:ldapserver
PHPLDAPADMIN_HTTPS:false  

访问配置:

访问类型:集群内访问
访问端口:HTTP协议/80容器端口

访问类型:集群外访问
访问端口:HTTP协议/80容器端口/32000节点端口

ldapserver服务(重要)

容器配置:

镜像名称:osixia/openldap:latest (首先在本地pull该镜像,再上传到环境上)
CPU请求:0.5Core
CPU上限:1Core
内存请求:1GiB
内存上限:2GiB
挂载路径:/var/lib/ldap(持久化数据)

访问配置:

ldapserver   (要与ldapadmin里的PHPLDAPADMIN_LDAP_HOSTS的值一样!!)
访问类型:集群内访问
访问端口1:TCP协议/389容器端口
访问端口2:UDP协议/389容器端口

ldapservernodeport
访问类型:外部访问
访问端口1:TCP协议/389容器端口/30089

ldap服务器设置

服务器地址:ladpserver的外部访问IP   (要有内部的访问权限才能从外网进去访问LDAP服务器) 解决方法:从内部打开一个端口,然后通过外部ip:port进行访问
端口:外部访问的端口号这里为30089
账号:cn=admin,dc=example,dc=org
密码:admin
BaseDN:dc=example,dc=org
账号字段:cn
姓名字段:sn
邮箱字段:mail

往LDAP数据库添加数据:

进入LDAP服务import
代码格式:

创建base:

# Entry 1: dc=example,dc=org
dn: dc=example,dc=org
dc: example
o: Example Inc.
objectclass: top
objectclass: dcObject
objectclass: organization

新增成员:

dn: cn=aaa,dc=example,dc=org
cn: aaa
mail: email
objectclass: top
objectclass: inetOrgPerson
sn:: 5rWZ5ZWGdGVzdA==
uid:: 5rWZ5ZWGdGVzdA==
userpassword: 123456

也可以直接从另一个LDAP里export数据,复制黏贴,注意要修改BaseDN

 

从后端mongo数据库删除LDAP数据

首先远程连接环境ip

查看mongo的pod

kubectl get pod | grep 'mongo'

 

 进入pod服务:kubectl exec -it infra-mongo-mongo-v1-0-0 mongo

LDAP服务的部署和使用_第1张图片

 

 re.status() 可以查看数据的状态

 

在Docker上部署LDAP服务

首先在你自己的环境里docker pull 两个镜像

docker pull osixia/openldap   (openldap构建ldap服务)

docker pull osixia/phpldapadmin    (admin是用来管理ldap数据库的)

 

运行镜像(参数也可以不填,都为默认)

docker run -p 30389:389 -p 30636:636 \                

--name myfirstldap \

--network bridge \

--hostname openldap \

--env LDAP_ORGANISATION="mylitboy" \

--env LDAP_DOMAIN="mylitboy.com" \

--env LDAP_ADMIN_PASSWORD="ldap123" \

--detach osixia/openldap

配置LDAP组织者:--env LDAP_ORGANISATION="firstldap"

配置LDAP域:--env LDAP_DOMAIN="firstldap.org"                  (这里也就是dc=firstldap,dc=org)

配置LDAP密码:--env LDAP_ADMIN_PASSWORD="admin123"

默认登录用户名:admin

(389端口是用来从外部进入ldap访问数据的,像我这样是把389映射到30389上了,外部就通过port30389来读取数据)

docker ps 查看一下是否运行起来了

docker stop   \  docker rm    停止,删除这个镜像

 

openldap运行起来之后,来启动ldapadmin进行管理

docker run -d --privileged -p 10086:80 \

--name myphpldapadmin \

--env PHPLDAPADMIN_HTTPS=false \

--env PHPLDAPADMIN_LDAP_HOSTS=172.17.0.4 \

--detach osixia/phpldapadmin

配置的Ldap地址:--env PHPLDAPADMIN_LDAP_HOSTS=172.17.0.4  (这个ip用docker inspect --format '{{ .NetworkSettings.IPAddress }}' 来获取就是之前启动的openldap

配置不开启HTTPS:--env PHPLDAPADMIN_HTTPS=false(默认是true,就是https访问,远程读取时会有些麻烦,没特殊需要建议http)

(如果选择https方式,一定要映射443端口,我这里http所以可以是80,对应的10086就是之后访问ldap服务的port了)

docker ps查看一下是否启动成功

然后通过172.17.0.4:10086来访问服务 (都要看你自己的配置来)

成功的页面是这样的:LDAP服务的部署和使用_第2张图片

 

 

 点击login登录

账号:  cn=admin,dc=firstldap,dc=org     (看之前openldap的配置)

密码:   admin123

LDAP服务的部署和使用_第3张图片

 

 

登录后是这样的,通过import可以导入数据,导入格式在上面有讲

 

 

你可能感兴趣的:(LDAP服务的部署和使用)