关注分享主机优惠活动
国内外VPS云服务器

为 OKD/Openshift 集群配置 OpenLDAP 身份验证(openlookeng 部署)

总结:图片可以先推送到私有仓库。 测试发现图像存在问题。 图像以用户身份运行并切换。 域是通过授权和自定义参数来创建的。 组织名称为域管理员,管理员密码永久保存。 在本示例中,创建的存储系统支持动态配置。

简介

与安装Linux操作系统后一样,管理员必须为应用程序创建单独的用户。 这同样适用于 K8S/OKD/Openshift 集群。 OKD/Openshift 集群可以与 OpenLDAP 目录系统集成。 方法如下:

安装OpenLDAP

本文使用helm安装openldap我会的。 首先,修改 chars 下载以使其更加可见:

git clone https://github.com/helm/charts

选项>。 可以先将镜像推送到私有仓库(P.S.:测试显示最新镜像存在问题):

 docker pull osixia/openldap:1.2.1docker标记 docker .io/osixia/openldap:1.2.1 okd-lr.zyl.io:5001/osixia/openldap:1.2.1docker 推送 okd-lr.zyl.io :5001 /osixia/openldap:1.2。 1

镜像为root用户(gosudo开关),授权:

将被执行。   oc 新-项目身份验证- openshiftoc adm 策略添加-scc-到[k]4]user anyuid -z default

openldap char 自定义参数:

cd Charts/stable/openldapcpvalues.yamlvalues_cs.yamlvivalues_cs 。   yaml...env: # LDAP 创建 dc=zyl,dc=io 域,组织名称为 Zyl Inc.。  LDAP_ORGANISATION: "Zyl Inc." LDAP_DOMAIN: "zyl.io"...# LDAP 域管理员 (cn =admin,dc=zyl,dc=io) 和配置管理员 (cn=admin,cn=config) 密码 adminPassword: adminconfigPassword :config#持久化存储,本例使用创建的glusterfs存储系统,支持动态配置。    持久性:已启用:true storageClass:“glusterfs-app” accessMode:ReadWriteOnce 大小:8Gi

helm 运行命令进行安装:

helm install [ k4 ]-name openldap -f value_cs.yaml .

Ldap启动后,domaindc=zyl,dc=iohdb 管理员帐户cn=admin,dc=zyl,dc=io。 在此域下创建用户和组信息,如下所示。

% oc rshdeploy/openldap% cat > users.ldif <<EOFdn: ou=People,dc=zyl,dc=ioou: PeopleobjectClass:topobjectClass:organizationalUnitdn:ou=Group,dc=zyl,dc=ioou:GroupobjectClass:topobjectClass:organizationalUnitdn:uid=zyl,ou=People,dc=zyl,dc=iouid:zylcn:zylobjectClass:accountobjectClass:posixAccountobjectClass:topobjectClass: ShadowAccountuserPassword:changemeloginShell:/bin/bashuidNumber:5000gidNumber:5000homeDirectory:/home/zyldn:uid=admin,ou=People,dc=zyl,dc=iouid:admincn:adminobjectClass:accountobjectClass:posixAccountobjectClass:topobjectClass:shadowAccountuserPassword:changemeloginShell:/bin /bashuidNumber: 5001gidNumber: 5001homeDirectory: /home/admindn: cn=zyl,ou=Group,dc=zyl,dc=iocn: zylobjectClass: topobjectClass: posixGroupgidNumber: 5000memberUid: zyldn: cn=admin,ou=Group,dc=zyl, dc=iocn: adminobjectClass: topobjectClass: posixGroupgidNumber:5001memberUid:admindn:cn = openshift_user,ou = Group,dc = zyl,dc = iocn:openshift_userobjectClass:topobjectClass:posixGroupgidNumber:6000memberUid:zyldn:cn = openshift_admin,ou = Group,dc = zyl,dc = iocn:openshift_adminobjectClass:topobjectClass: posixGroupgidNumber: 6001memberUid: adminEOF% ldapadd -x -w $LDAP_ADMIN_PASSWORD -D "cn=admin,dc=zyl,dc=io" -H ldapi:/// -f users.ldif % ldapsearch -x -D "cn=admin,dc=zyl,dc=io" -w $LDAP_ADMIN_PASSWORD -b dc=zyl,dc=io# 使用配置管理员,ldap config 配置 % ldapsearch -x -D "cn=admin,cn=config" -w $LDAP_CONFIG_PASSWORD -b cn=config "olcDatabase=config"

配置 >使用 master Ldap 身份验证

OKDopenshift_master_identity_providers 在初始安装期间未配置 如果OKD em>,默认使用以下身份验证: 这种身份验证方法允许任何用户登录。簇。

% vi /etc/origin/master/master-config.yaml ...oauthConfig:...identityProviders:-Challenge:trueLogin:truemappingMethod:ClaimName:allow_allProvider: apiVersion :v1 种:AllowAllPasswordIdentityProvider...

删除所有设置的以下部分:

 - 挑战:true 登录:true 映射方法:声明名称: allow_all 提供商:apiVersion:v1 类型:AllowAllPasswordIdentityProvider

替换为:

 - 挑战:true 登录:true 映射方法:声明名称:ldap_auth 提供商:apiVersion :v1 属性:电子邮件: - 电子邮件 ID: - DN 名称: - cn 首选用户名: - uid 绑定 DN: cn=admin,dc=zyl,dc= io 绑定密码: admin不安全:true 类型:LDAPPasswordIdentityProvider URL:ldap://openldap.auth-openshift.svc.cluster.local./ou=People,dc=zyl,dc=io?uid

注意:如果启用了TLS,即不安全:假,则添加OpenLDAP 您必须提供证书。 em>ca: my-ldap-ca.crt 并将证书复制到 master: /etc/origin/master/my[k4 ]ldap [k4 ]ca.crt

Ansible 配置文件 OSEv3.yaml 添加以下部分以防止在升级过程中恢复:

##### Authopenshift_master_identity_providers:- 名称:ldap_auth 挑战:true 登录:true 类型:LDAPPasswordIdentityProvider 绑定 DN:cn=a​​dmin,dc=zyl,dc=io 绑定密码:管理员 URL:ldap :/ /openldap.auth-openshift.svc.cluster.local./ou=People,dc=zyl,dc=io?uid 属性: id: ["dn"] 电子邮件: ["mail"] 姓名: [ "cn "] 首选用户名: ["uid"] insecure: true

接下来,重新启动每个节点。

master-restart apimaster-restartcontrollersoc get pod -n kube[ k4 ]system master-logs api api # 显示日志 master-logs controller 控制器

同步LDAP 将信息分组到OKD

创建以下文件:

cat > rfc2307_config_user_define.yaml <<EOF---kind: LDAPSyncConfigapiVersion: v1bindDN: cn=admin,dc= zyl,dc =iobindPassword: admininsecure: trueurl: ldap://openldap.auth-openshift.svc.cluster.localgroupUIDNameMapping: "cn=openshift_admin,ou=Group,dc=zyl,dc=cn": openshift_admin "cn= openshift_user,ou =Group, dc=zyl,dc=cn": openshift_userrfc2307: groupsQuery:baseDN: "ou=Group,dc=zyl,dc=io" 范围: sub derefAliases: 从不过滤: (objectClass=posixGroup) groupUIDAttribute: dn groupNameAttributes: [ cn ] groupMembershipAttributes: [ memberUid ] usersQuery:baseDN: "ou=People,dc=zyl,dc=io"scope: sub derefAliases: Never filter: (objectClass=posixAccount) userUIDAttribute: uid userNameAttributes: [ cn ] EOF

运行以下命令进行同步。

% oc adm groupssync --sync-config=rfc2307_config_user_define.yaml --confirmgroup/ zylgroup/ admingroup/openshift_usergroup/openshift_admin

openshift_admin 是管理员组,openshift_user 是常规用户组。 权限:

oc admpolicy add-cluster-role-to-groupcluster-admin openshift_adminoc admpolicy add-cluster-role-to - group Basic-user openshift_user

登录用户:

oc login -uadmin -pchangeme

用户登录后, OKD 使用 生成自己的用户。m>LDAP支持:

% oc get groupsNAME USERSadmin adminopenshift_admin adminopenshift_user zylzyl zyl % oc get usersNAME UID 全名 IDENTITIESadmin 3c4ae0bf-338c-11e9-b2f8- 52540042814f admin ldap_auth:uid=admin,ou= People,dc=zyl,dc=io% oc 获取 identitiesNAME IDP 名称 IDP 用户名 用户名 USER UIDldap_auth:uid=admin,ou=People,dc=zyl,dc=io ldap_auth uid = admin,ou=People,dc=zyl ,dc=io admin 3c4ae0bf-338c-11e9-b2f8-52540042814f

参考文档

OpenLDAP Helm Chart:https //github.com/helm/chart...;

osixia/openldap:https://github.com/osixia/doc...;

未经允许不得转载:主机频道 » 为 OKD/Openshift 集群配置 OpenLDAP 身份验证(openlookeng 部署)

评论 抢沙发

评论前必须登录!

 

本站不销售/不代购主机产品,不提供技术支持,仅出于个人爱好分享优惠信息,请遵纪守法文明上网

Copyright © 主机频道 - ZHUJIPINDAO.COM ,本站托管于国外主机商

© 2021-2024   主机频道   网站地图 琼ICP备2022006744号