您想了解如何在活动目录中配置 Kubernetes LDAP 身份验证吗? 在本教程中,我们将向您展示如何使用 Windows 活动目录和 LDAP 协议对 Kubernetes 仪表板用户进行身份验证。
• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18
本教程将安装单节点库伯内特集群。
在我们的示例中,Kubernetes 主节点的 IP 地址为 192.168.15.200。
在我们的示例中,域控制器的 IP 地址为 192.168.15.10。
库伯内特 – 教程
在此页面上,我们提供对与 Kubernetes 相关的教程列表的快速访问。
教程窗口 – 域控制器防火墙
• IP – 192.168.15.10
• 操作系统 – WINDOWS 2012 R2
• 主机名 – TECH-DC01
首先,我们需要在 Windows 域控制器上创建防火墙规则。
此防火墙规则将允许 Kubernetes 服务器查询活动目录。
在域控制器上,使用高级安全性打开名为 Windows 防火墙的应用程序
创建新的入站防火墙规则。
![zabbix active directory zabbix active directory](https://d1ny9casiyy5u5.cloudfront.net/wp-content/uploads/2018/08/zabbix-active-directory.webp)
选择”端口”选项。
选择 TCP 选项。
选择”特定本地端口”选项。
输入 TCP 端口 389。
选择”允许连接”选项。
选中”域”选项。
选中”私人”选项。
选中”公共”选项。
输入防火墙规则的说明。
恭喜您,您已创建了所需的防火墙规则。
此规则将允许 Kubernetes 服务器查询活动目录数据库。
教程窗口 – 域帐户创建
接下来,我们需要在 Active Directory 数据库上创建至少 2 个帐户。
管理员帐户将用于登录到库伯内特仪表板。
BIND 帐户将用于查询活动目录数据库。
在域控制器上,打开名为:活动目录用户和计算机的应用程序
在”用户”容器内创建新帐户。
创建新帐户命名为:管理员
密码配置为 ADMIN 用户: 123qwe.
此帐户将用于在 Kubernetes Web 界面上进行身份验证。
创建新帐户名为:绑定
密码配置为 BIND 用户:Kamisama123.
库伯内特将使用此帐户查询活动目录。
恭喜您,您已经创建了所需的活动目录帐户。
教程窗口 – 域组创建
接下来,我们需要在活动目录上创建一个组。
在域控制器上,打开名为:活动目录用户和计算机的应用程序
在”用户”容器内创建新组。
创建一个名为:KUBERNETES-ADMIN 的新组。
此组的成员将在 Kubernetes 仪表板上具有管理权限。
重要! 将管理员用户添加为 KUBERNETES-ADMIN 的成员。
恭喜您,您已创建了所需的活动目录组。
教程库伯内特 – 主节点安装
安装所需软件包的列表。
安装 Docker 服务。
在启动期间启用 Docker 服务。
编辑 Docker 服务配置文件。
在名为的项末尾添加以下配置:EXECSTART
下面是我们配置之前的文件。
下面是我们配置后的文件。
创建系统配置文件。
这是文件内容。
启用系统配置文件。
编辑名为:模块的配置文件。康夫
在此文件末尾添加以下配置。
编辑 FSTAB 配置文件并禁用交换内存。
下面是我们配置之前的文件。
下面是我们配置后的文件。
设置唯一的主机名。
创建文件以配置所需的环境变量。
这是文件内容。
重新启动计算机。
下载并安装库伯内特存储库密钥。
添加官方的库伯内特存储库。
安装 Kubernetes 软件包。
下载所需的库伯内特图像。
下面是命令输出。
初始化库伯内特群集。
下面是命令输出。
请注意向 Kubernetes 群集添加节点的命令。
在 Kubernetes 配置文件上设置正确的文件权限。
安装所需的网络配置。
默认情况下,不允许 Kubernetes 主节点运行 PODS。
可选地,启用 Kubernetes 主节点以运行 PODS。
在我们的示例中,我们使用的是单节点 Kubernetes 群集。
教程 – 库伯内特仪表板安装
安装所需软件包的列表。
下载所需的 YAML 文件。
安装库伯内特仪表板。
下面是命令输出。
为仪表板创建服务帐户。
将群集管理员角色配置为仪表板服务帐户。
为 Apache 代理创建服务帐户。
将群集管理员角色配置为 Apache 代理帐户。
列出 Kubernetes 服务器上可用的 Apache 密钥。
下面是命令输出。
请注意,您的秘密名称将和我们的不一样。
获取 Apache 机密令牌的值。
下面是命令输出。
请注意 Apache 令牌值。
在我们的示例中,这是令牌值:
列出仪表板服务群集 IP 地址。
下面是命令输出。
请注意群集 IP 地址和 TCP 端口。
在我们的示例中,仪表板群集使用 TCP 端口 443 和 IP 地址 10.107.55.24。
您已完成所需的仪表板配置。
库伯内特代理 – 使用 Apache 的基本用户身份验证
在主节点上,安装 Apache 服务器。
启用所需的 Apache 模块。
编辑 Apache 配置文件。
将以下行添加到此文件的末尾。
使用 OpenSSL 命令创建私钥和证书。
输入请求的信息。
在名为”COMMON_NAME”的选项中,必须输入 IP 地址或主机名。
在我们的示例中,我们使用 IP 地址:192.168.15.200
将现有的 Kubernetes 代理证书和密钥转换为 PEM 格式的单个文件。
编辑默认网站的 Apache 配置文件。
这是我们配置之前的文件。
这是我们配置后的文件。
将名为 AUTHLDAPURL 的配置项的 IP 地址更改为域控制器的 IP 地址。
更改活动目录中的所有域信息以反映您的环境。
将名为 PROXYPASS 和 PROXYPASSREVERSE 的配置项的 IP 地址更改为仪表板群集的 IP 地址。
将名为 REQUESTHEADER 的 CI 的令牌值更改为之前创建的 Apache 秘密令牌值。
在我们的示例中,我们使用自签名证书启用了 HTTPS。
在我们的示例中,我们配置了 LDAP 身份验证的使用。
Apache 将表示用户与仪表板群集 IP 地址之间的 HTTPS 通信。
Apache 将使用在 Kubernetes 服务器安装期间自动创建的证书和密钥在仪表板上执行相互 TLS 身份验证。
Apache 服务器将向发送到仪表板的所有数据包添加标头。
此标头名为授权颁发者,包含在 Apache 代理中较早创建的秘密令牌。
Apache 还将将 HTTP 用户重定向到请求的 URL 的 HTTPS 版本。
重新启动 Apache 服务。
打开浏览器并访问 Apache 服务器的 IP 地址的 HTTPS 版本。
在我们的示例中,在浏览器中输入了以下 URL:
• https://192.168.15.200
Apache 服务器将要求您执行用户身份验证。
成功登录后,应显示 Kubernetes 仪表板。
Apache 代理将自动使用名为:AUTH HEADER 的功能对 Kubernetes 仪表板进行身份验证。
您已成功完成 Apache 作为 Kubernetes 仪表板的代理的配置。