您想了解如何使用 Freeradius 设置 Kubernetes 仪表板的半径身份验证吗? 在本教程中,我们将向您展示如何使用在运行 Ubuntu Linux 的计算机上使用 Radius 协议和 Freeradius 服务对 Kubernetes 仪表板用户进行身份验证。

• Ubuntu 20
• Ubuntu 19
• Ubuntu 18
• Kubernetes 1.18

本教程将安装单节点库伯内特集群。

在我们的示例中,Kubernetes 主节点的 IP 地址为 192.168.15.200。

在我们的示例中,Radius 服务器的 IP 地址为 192.168.15.10。

库伯内特 - 教程

在此页面上,我们提供对与 Kubernetes 相关的教程列表的快速访问。

教程 - 在 Ubuntu Linux 上免费安装服务器

• IP - 192.168.15.10
• 操作系统 - Ubuntu 20
• Hostname - FREERADIUS

在 Linux 控制台上,使用以下命令安装 FreeRadius 服务。

Copy to Clipboard

现在,我们需要将 FreeRadius 客户端添加到客户端。

查找并编辑客户端。

Copy to Clipboard

在客户端的末尾添加以下行。

Copy to Clipboard

在我们的示例中,我们将添加 1 个客户端设备:

该设备被命名为KUBERNETES,具有IP地址192.168.15.200。

在我们的示例中,我们设置了秘密:KAMISAMA123。

现在,我们需要将 FreeRadius 用户添加到 USERS 配置文件。

查找并编辑 Freeradius 用户配置文件。

Copy to Clipboard

在文件末尾添加以下行

Copy to Clipboard

在我们的示例中,我们创建一个名为 ADMIN 的用户帐户。

重新启动 Freeradius 服务器。

Copy to Clipboard

测试半径服务器配置文件。

Copy to Clipboard

您已完成了 Ubuntu Linux 上的 Freeradius 安装。

教程库伯内特 - 主节点安装

安装所需软件包的列表。

Copy to Clipboard

安装 Docker 服务。

Copy to Clipboard

在启动期间启用 Docker 服务。

Copy to Clipboard

编辑 Docker 服务配置文件。

Copy to Clipboard

在名为的项末尾添加以下配置:EXECSTART

Copy to Clipboard

下面是我们配置之前的文件。

Copy to Clipboard

下面是我们配置后的文件。

Copy to Clipboard

创建系统配置文件。

Copy to Clipboard

这是文件内容。

Copy to Clipboard

启用系统配置文件。

Copy to Clipboard

编辑名为:模块的配置文件。康夫

Copy to Clipboard

在此文件末尾添加以下配置。

Copy to Clipboard

编辑 FSTAB 配置文件并禁用交换内存。

Copy to Clipboard

下面是我们配置之前的文件。

Copy to Clipboard

下面是我们配置后的文件。

Copy to Clipboard

设置唯一的主机名。

Copy to Clipboard

创建文件以配置所需的环境变量。

Copy to Clipboard

这是文件内容。

Copy to Clipboard

重新启动计算机。

Copy to Clipboard

下载并安装库伯内特存储库密钥。

Copy to Clipboard

添加官方的库伯内特存储库。

Copy to Clipboard

安装 Kubernetes 软件包。

Copy to Clipboard

下载所需的库伯内特图像。

Copy to Clipboard

下面是命令输出。

Copy to Clipboard

初始化库伯内特群集。

Copy to Clipboard

下面是命令输出。

Copy to Clipboard

请注意向 Kubernetes 群集添加节点的命令。

Copy to Clipboard

在 Kubernetes 配置文件上设置正确的文件权限。

Copy to Clipboard

安装所需的网络配置。

Copy to Clipboard

默认情况下,不允许 Kubernetes 主节点运行 PODS。

可选地,启用 Kubernetes 主节点以运行 PODS。

Copy to Clipboard

在我们的示例中,我们使用的是单节点 Kubernetes 群集。

教程 - 库伯内特仪表板安装

安装所需软件包的列表。

Copy to Clipboard

下载所需的 YAML 文件。

Copy to Clipboard

安装库伯内特仪表板。

Copy to Clipboard

下面是命令输出。

Copy to Clipboard

为仪表板创建服务帐户。

Copy to Clipboard

将群集管理员角色配置为仪表板服务帐户。

Copy to Clipboard

为 Apache 代理创建服务帐户。

Copy to Clipboard

将群集管理员角色配置为 Apache 代理帐户。

Copy to Clipboard

列出 Kubernetes 服务器上可用的 Apache 密钥。

Copy to Clipboard

下面是命令输出。

Copy to Clipboard

请注意,您的秘密名称将和我们的不一样。

获取 Apache 机密令牌的值。

Copy to Clipboard

下面是命令输出。

Copy to Clipboard

请注意 Apache 令牌值。

在我们的示例中,这是令牌值:

Copy to Clipboard

列出仪表板服务群集 IP 地址。

Copy to Clipboard

下面是命令输出。

Copy to Clipboard

请注意群集 IP 地址和 TCP 端口。

在我们的示例中,仪表板群集使用 TCP 端口 443 和 IP 地址 10.107.55.24。

您已完成所需的仪表板配置。

库伯内特代理 - 使用阿帕奇的半径身份验证

在主节点上,安装 Apache 服务器。

Copy to Clipboard

启用所需的 Apache 模块。

Copy to Clipboard

编辑 Apache 配置文件。

Copy to Clipboard

将以下行添加到此文件的末尾。

Copy to Clipboard

使用 OpenSSL 命令创建私钥和证书。

Copy to Clipboard

输入请求的信息。

Copy to Clipboard

在名为"COMMON_NAME"的选项中,必须输入 IP 地址或主机名。

在我们的示例中,我们使用 IP 地址:192.168.15.200

将现有的 Kubernetes 代理证书和密钥转换为 PEM 格式的单个文件。

Copy to Clipboard

编辑默认网站的 Apache 配置文件。

Copy to Clipboard

这是我们配置之前的文件。

Copy to Clipboard

这是我们配置后的文件。

Copy to Clipboard

将名为 ADDRADIUSAUTH 的配置项的 IP 地址更改为 Radius 服务器的 IP 地址。

将名为 PROXYPASS 和 PROXYPASSREVERSE 的配置项的 IP 地址更改为仪表板群集的 IP 地址。

将名为 REQUESTHEADER 的 CI 的令牌值更改为之前创建的 Apache 秘密令牌值。

在我们的示例中,我们使用自签名证书启用了 HTTPS。

Copy to Clipboard

在我们的示例中,我们配置了 RADIUS 身份验证的使用。

Copy to Clipboard

Apache 将表示用户与仪表板群集 IP 地址之间的 HTTPS 通信。

Copy to Clipboard

Apache 将使用在 Kubernetes 服务器安装期间自动创建的证书和密钥在仪表板上执行相互 TLS 身份验证。

Copy to Clipboard

Apache 服务器将向发送到仪表板的所有数据包添加标头。

此标头名为授权颁发者,包含在 Apache 代理中较早创建的秘密令牌。

Copy to Clipboard

Apache 还将将 HTTP 用户重定向到请求的 URL 的 HTTPS 版本。

Copy to Clipboard

重新启动 Apache 服务。

Copy to Clipboard

打开浏览器并访问 Apache 服务器的 IP 地址的 HTTPS 版本。

在我们的示例中,在浏览器中输入了以下 URL:

• https://192.168.15.200

Apache 服务器将要求您执行用户身份验证。

Kubernetes Dashboard Proxy Authentication

成功登录后,应显示 Kubernetes 仪表板。

Kubernetes Dashboard

Apache 代理将自动使用名为:AUTH HEADER 的功能对 Kubernetes 仪表板进行身份验证。

Kubernetes dashboard Authorization bearer

您已成功完成 Apache 作为 Kubernetes 仪表板的代理的配置。