摘要:鏡像可先推送到私有倉庫測試發(fā)現(xiàn)鏡像有問題鏡像以用戶運行切換,賦權對參數(shù)做定制將創(chuàng)建域,組織名稱為域管理員及管理員密碼持久化存儲,本例使用已創(chuàng)建好的存儲系統(tǒng),其支持動態(tài)提供。
前言
如同Linux操作系統(tǒng)安裝完成后,管理員需為應用創(chuàng)建不同的用戶,那么,K8S/OKD/Openshift集群同樣也需如此,而在OKD/Openshift集群里,我們可集成OpenLDAP目錄系統(tǒng),方法如下所示。
OpenLDAP安裝本文使用helm安裝openldap,首先將chars下載下來以方便查看:
git clone https://github.com/helm/charts
可選。鏡像可先推送到私有倉庫(PS:測試發(fā)現(xiàn)latest鏡像有問題):
docker pull osixia/openldap:1.2.1 docker tag docker.io/osixia/openldap:1.2.1 okd-lr.zyl.io:5001/osixia/openldap:1.2.1 docker push okd-lr.zyl.io:5001/osixia/openldap:1.2.1
鏡像以root用戶運行(gosudo切換),賦權:
oc new-project auth-openshift oc adm policy add-scc-to-user anyuid -z default
對openldap char參數(shù)做定制:
cd charts/stable/openldap cp values.yaml values_cs.yaml vi values_cs.yaml ... env: # LDAP將創(chuàng)建dc=zyl,dc=io域,組織名稱為Zyl Inc. LDAP_ORGANISATION: "Zyl Inc." LDAP_DOMAIN: "zyl.io" ... # Ldap域管理員(cn=admin,dc=zyl,dc=io)及config管理員(cn=admin,cn=config)密碼 adminPassword: admin configPassword: config # 持久化存儲,本例使用已創(chuàng)建好的glusterfs存儲系統(tǒng),其支持動態(tài)提供。 persistence: enabled: true storageClass: "glusterfs-app" accessMode: ReadWriteOnce size: 8Gi
執(zhí)行helm命令安裝:
helm install --name openldap -f values_cs.yaml .
Ldap啟動后,創(chuàng)建了域dc=zyl,dc=io及hdb管理員賬戶cn=admin,dc=zyl,dc=io。如下所示,在此域下創(chuàng)建用戶與組信息:
% oc rsh deploy/openldap % cat > users.ldif <配置Master使用Ldap認證 OKD初始安裝時若未配置openshift_master_identity_providers,則OKD默認使用如下認證,此認證方式允許任何用戶登錄集群。
% vi /etc/origin/master/master-config.yaml ... oauthConfig: ... identityProviders: - challenge: true login: true mappingMethod: claim name: allow_all provider: apiVersion: v1 kind: AllowAllPasswordIdentityProvider ...將所有Master配置的如下段刪除:
- challenge: true login: true mappingMethod: claim name: allow_all provider: apiVersion: v1 kind: AllowAllPasswordIdentityProvider替換為如下段:
- challenge: true login: true mappingMethod: claim name: ldap_auth provider: apiVersion: v1 attributes: email: - mail id: - dn name: - cn preferredUsername: - uid bindDN: cn=admin,dc=zyl,dc=io bindPassword: admin insecure: true kind: LDAPPasswordIdentityProvider url: ldap://openldap.auth-openshift.svc.cluster.local./ou=People,dc=zyl,dc=io?uid注意:若啟用TLS,即insecure: false,則需提供OpenLDAP的證書,如添加ca: my-ldap-ca.crt,而后將證書拷貝到Master上:/etc/origin/master/my-ldap-ca.crt。
Ansible配置文件中的OSEv3.yaml加入以下段,避免升級時被還原回去。
##### Auth openshift_master_identity_providers: - name: ldap_auth challenge: true login: true kind: LDAPPasswordIdentityProvider bindDN: cn=admin,dc=zyl,dc=io bindPassword: admin url: ldap://openldap.auth-openshift.svc.cluster.local./ou=People,dc=zyl,dc=io?uid attributes: id: ["dn"] email: ["mail"] name: ["cn"] preferredUsername: ["uid"] insecure: true而后分別重啟Master節(jié)點:
master-restart api master-restart controllers oc get pod -n kube-system master-logs api api # 查看日志 master-logs controllers controllers同步LDAP組信息到OKD上創(chuàng)建如下文件:
cat > rfc2307_config_user_defined.yaml <執(zhí)行如下命令同步:
% oc adm groups sync --sync-config=rfc2307_config_user_defined.yaml --confirm group/zyl group/admin group/openshift_user group/openshift_adminopenshift_admin作為管理員組、openshift_user為普通用戶組,賦權:
oc adm policy add-cluster-role-to-group cluster-admin openshift_admin oc adm policy add-cluster-role-to-group basic-user openshift_user登錄用戶:
oc login -uadmin -pchangeme用戶登錄后,OKD會生成自己的用戶與LDAP對應:
% oc get groups NAME USERS admin admin openshift_admin admin openshift_user zyl zyl zyl % oc get users NAME UID FULL NAME IDENTITIES admin 3c4ae0bf-338c-11e9-b2f8-52540042814f admin ldap_auth:uid=admin,ou=People,dc=zyl,dc=io % oc get identities NAME IDP NAME IDP USER NAME USER NAME USER UID ldap_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...;
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/33175.html
摘要:鏡像可先推送到私有倉庫測試發(fā)現(xiàn)鏡像有問題鏡像以用戶運行切換,賦權對參數(shù)做定制將創(chuàng)建域,組織名稱為域管理員及管理員密碼持久化存儲,本例使用已創(chuàng)建好的存儲系統(tǒng),其支持動態(tài)提供。 前言 如同Linux操作系統(tǒng)安裝完成后,管理員需為應用創(chuàng)建不同的用戶,那么,K8S/OKD/Openshift集群同樣也需如此,而在OKD/Openshift集群里,我們可集成OpenLDAP目錄系統(tǒng),方法如下所示...
摘要:宋體自年被開源以來,很快便成為了容器編排領域的標準。宋體年月,樂心醫(yī)療的第一個生產(chǎn)用集群正式上線。所以于年推出后,樂心醫(yī)療的運維團隊在開會討論之后一致決定盡快遷移到。Kubernetes 自 2014 年被 Google 開源以來,很快便成為了容器編排領域的標準。因其支持自動化部署、大規(guī)模可伸縮和容器化管理等天然優(yōu)勢,已經(jīng)被廣泛接納。但由于 Kubernetes 本身的復雜性,也讓很多企業(yè)的...
閱讀 1988·2021-11-19 09:40
閱讀 1931·2021-09-28 09:36
閱讀 2279·2021-09-22 10:02
閱讀 2724·2019-08-30 14:00
閱讀 1948·2019-08-29 15:31
閱讀 2893·2019-08-29 15:11
閱讀 2905·2019-08-29 13:04
閱讀 1080·2019-08-27 10:55