文档说明本文档为独立的K8s集群LDAP统一认证部署指南,完全适配前文https://blog.csdn.net/qq_28608175/article/details/159280319?fromshare=blogdetailsharetype=blogdetailsharerId=159280319sharerefer=PCsharesource=qq_28608175sharefrom=from_link部署的OpenLDAP服务架构,覆盖K8s节点运维登录、API层统一认证两大核心场景,支持kubectl、Dashboard、ArgoCD、Grafana、Harbor等所有云原生应用的统一身份对接,可直接作为企业云原生场景身份治理的运维规范使用。前置依赖条件已完成OpenLDAP单节点/主备集群部署,K8s集群网络可正常访问LDAP的636加密端口Kubernetes集群版本≥1.20,已部署Nginx Ingress Controller已安装Helm 3.0+工具已准备可解析的Dex服务域名(如dex.corp.com)1. K8s节点服务器LDAP登录配置(运维登录节点用)所有K8s Master/Worker节点执行以下配置,实现运维人员使用LDAP账号直接登录服务器,无需在每个节点单独创建运维账号。1.1 安装客户端依赖dnf install -y openldap-clients nss-pam-ldapd authselect1.2 启用LDAP认证authselect select sssd with-ldap --force1.3 配置SSSD认证参数编辑/etc/sssd/sssd.conf,替换LDAP地址为实际部署的LDAP服务地址:[sssd]services = nss, pam, sudoconfig_file_version = 2domains = LDAP[domain/LDAP]id_provider = ldapauth_provider = ldapaccess_provider = ldapsudo_provider = ldap# LDAP高可用地址,单节点可仅填写主节点地址ldap_uri = ldaps://192.168.1.301,ldaps://192.168.1.302ldap_search_base = dc=example,dc=comldap_tls_reqcert = allow# 配置sudo权限映射:仅LDAP中k8s-admin组用户可执行sudoldap_sudo_search_base = ou=groups,dc=example,dc=comldap_sudo_filter = ((objectClass=sudoRole)(cn=k8s-admin))# 自动创建用户home目录override_homedir = /home/%uoverride_shell = /bin/bash1.4 生效配置chmod 600 /etc/sssd/sssd.confsystemctl restart sssd systemctl enable sssd1.5 验证使用LDAP中k8s-admin组的用户账号直接登录节点,执行sudo su -可切换到root即为配置成功。2. K8s API层LDAP统一认证配置(访问集群资源用)通过Dex中间件实现LDAP到OIDC协议的转换,所有支持OIDC的K8s生态应用仅需对接Dex即可复用LDAP身份,无需单独对接LDAP。2.1 部署Dex中间件2.1.1 创建Dex专属命名空间kubectl create namespace auth2.1.2 编写Dex配置文件dex-values.yaml所有LDAP参数与已部署的OpenLDAP配置完全对齐:replicaCount: 2 # 生产部署2副本实现高可用image:repository: dexidp/dex
Kubernetes集群对接OpenLDAP统一认证服务部署手册
文档说明本文档为独立的K8s集群LDAP统一认证部署指南,完全适配前文https://blog.csdn.net/qq_28608175/article/details/159280319?fromshare=blogdetailsharetype=blogdetailsharerId=159280319sharerefer=PCsharesource=qq_28608175sharefrom=from_link部署的OpenLDAP服务架构,覆盖K8s节点运维登录、API层统一认证两大核心场景,支持kubectl、Dashboard、ArgoCD、Grafana、Harbor等所有云原生应用的统一身份对接,可直接作为企业云原生场景身份治理的运维规范使用。前置依赖条件已完成OpenLDAP单节点/主备集群部署,K8s集群网络可正常访问LDAP的636加密端口Kubernetes集群版本≥1.20,已部署Nginx Ingress Controller已安装Helm 3.0+工具已准备可解析的Dex服务域名(如dex.corp.com)1. K8s节点服务器LDAP登录配置(运维登录节点用)所有K8s Master/Worker节点执行以下配置,实现运维人员使用LDAP账号直接登录服务器,无需在每个节点单独创建运维账号。1.1 安装客户端依赖dnf install -y openldap-clients nss-pam-ldapd authselect1.2 启用LDAP认证authselect select sssd with-ldap --force1.3 配置SSSD认证参数编辑/etc/sssd/sssd.conf,替换LDAP地址为实际部署的LDAP服务地址:[sssd]services = nss, pam, sudoconfig_file_version = 2domains = LDAP[domain/LDAP]id_provider = ldapauth_provider = ldapaccess_provider = ldapsudo_provider = ldap# LDAP高可用地址,单节点可仅填写主节点地址ldap_uri = ldaps://192.168.1.301,ldaps://192.168.1.302ldap_search_base = dc=example,dc=comldap_tls_reqcert = allow# 配置sudo权限映射:仅LDAP中k8s-admin组用户可执行sudoldap_sudo_search_base = ou=groups,dc=example,dc=comldap_sudo_filter = ((objectClass=sudoRole)(cn=k8s-admin))# 自动创建用户home目录override_homedir = /home/%uoverride_shell = /bin/bash1.4 生效配置chmod 600 /etc/sssd/sssd.confsystemctl restart sssd systemctl enable sssd1.5 验证使用LDAP中k8s-admin组的用户账号直接登录节点,执行sudo su -可切换到root即为配置成功。2. K8s API层LDAP统一认证配置(访问集群资源用)通过Dex中间件实现LDAP到OIDC协议的转换,所有支持OIDC的K8s生态应用仅需对接Dex即可复用LDAP身份,无需单独对接LDAP。2.1 部署Dex中间件2.1.1 创建Dex专属命名空间kubectl create namespace auth2.1.2 编写Dex配置文件dex-values.yaml所有LDAP参数与已部署的OpenLDAP配置完全对齐:replicaCount: 2 # 生产部署2副本实现高可用image:repository: dexidp/dex