Хотите узнать, как настроить аутентификацию Kubernetes LDAP в Active Directory? В этом учебнике мы покажем вам, как проверить подлинность пользователей Kubernetes Dashboard с помощью Windows Active Directory и протокола LDAP.

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

В этом руководстве будет установлен кластер Кубернетов с одним узлом.

В нашем примере IP-адрес главного узла Kubernetes составляет 192.168.15.200.

В нашем примере IP-адрес контроллера домена 192.168.15.10.

Учебник Windows - Брандмон контроллер домена

• IP - 192.168.15.10
• Operacional System - WINDOWS 2012 R2
• Hostname - TECH-DC01

Во-первых, нам нужно создать правило брандмауэра на контроллере домена Windows.

Это правило брандмауэра позволит серверу Kubernetes запросить активный каталог.

На контроллере домена откройте приложение под названием Windows Firewall с расширенной безопасностью

Создайте новое правило входящего брандмауэра.

zabbix active directory

Выберите опцию PORT.

zabbix windows firewall port

Выберите опцию TCP.

Выберите опцию Специфические локальные порты.

Введите порт TCP 389.

zabbix windows firewall port ldap

Выберите опцию Разрешить подключение.

zabbix windows firewall allow connection

Проверьте опцию DOMAIN.

Проверьте опцию PRIVATE.

Проверьте опцию PUBLIC.

Zabbix windows firewall profile

Введите описание в правило брандмауэра.

windows firewall active directory

Поздравляем, вы создали необходимое правило брандмауэра.

Это правило позволит серверу Kubernetes запросить базу данных Active Directory.

Учебник Windows - Создание учетной записи домена

Далее нам необходимо создать не менее 2 учетных записей в базе данных Active Directory.

Учетная запись ADMIN будет использоваться для входа в панель мониторинга Kubernetes.

Учетная запись BIND будет использоваться для запроса базы данных Active Directory.

На контроллере домена откройте приложение под названием: Активные пользователи каталога и компьютеры

Создайте новую учетную запись в контейнере пользователей.

Zabbix active directory account

Создание новой учетной записи с именем: Админ

Пароль, настроенный для пользователя ADMIN: 123qwe..

Эта учетная запись будет использоваться для проверки подлинности веб-интерфейса Kubernetes.

active directory admin account
zabbix active directory admin properties

Создание новой учетной записи с именем: свяжите

Пароль, настроенный для пользователя BIND: kamisama123.

Kubernetes будет использовать эту учетную запись для запроса Active Directory.

active directory bind account
zabbix active directory ldap bind properties

Поздравляем, вы создали необходимые учетные записи Active Directory.

Учебник Windows - Создание группы доменов

Далее, нам нужно создать группу на Active Directory.

На контроллере домена откройте приложение под названием: Активные пользователи каталога и компьютеры

Создайте новую группу внутри контейнера пользователей.

Radius Active directory group

Создайте новую группу под названием: KUBERNETES-ADMIN.

Члены этой группы будут иметь административное разрешение на панели Kubernetes.

Kubernetes LDAP authentication group

Важно! Добавьте пользователя ADMIN в качестве члена KUBERNETES-ADMIN.

Kubernetes LDAP Active directory group

Поздравляем, вы создали необходимую группу Active Directory.

Учебник Kubernetes - Установка мастер узла

Установите список необходимых пакетов.

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

Редактировать файл конфигурации под названием: MODULES. Conf

Copy to Clipboard

Добавьте следующую конфигурацию в конце этого файла.

Copy to Clipboard

Отредактируйте файл конфигурации FSTAB и отключите использование памяти Swap.

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

Добавьте официальный репозиторий Kubernetes.

Copy to Clipboard

Установите пакеты Kubernetes.

Copy to Clipboard

Скачать необходимые изображения Kubernetes.

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.

Учебник - Установка панели панели Kubernetes

Установите список необходимых пакетов.

Copy to Clipboard

Скачать необходимый файл YAML.

Copy to Clipboard

Установите приборную панель Kubernetes.

Copy to Clipboard

Вот вывод команды.

Copy to Clipboard

Создайте учетную запись службы для Панели мониторинга.

Copy to Clipboard

Настройте роль администратора кластера на учетную запись службы Dashboard.

Copy to Clipboard

Создайте учетную запись службы для прокси-сервера Apache.

Copy to Clipboard

Настройте роль администратора кластера на учетную запись прокси-сервера Apache.

Copy to Clipboard

Перечислите секрет Apache, доступный на сервере Kubernetes.

Copy to Clipboard

Вот вывод команды.

Copy to Clipboard

Обратите внимание, что имя вашего секрета не будет таким же, как у нас.

Получите значение секретного токена Apache.

Copy to Clipboard

Вот вывод команды.

Copy to Clipboard

Обратите внимание на значение токена Apache.

В нашем примере это значение токена:

Copy to Clipboard

Перечислите IP-адрес кластера службы Dashboard.

Copy to Clipboard

Вот вывод команды.

Copy to Clipboard

Обратите внимание на кластерный IP-адрес и порт TCP.

В нашем примере кластер Dashboard использует порт TCP 443 и IP-адрес 10.107.55.24.

Вы закончили необходимую конфигурацию панели мониторинга.

Kubernetes Proxy - Базовая аутентификация пользователя с помощью Apache

На сервере Master установите сервер 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

Измените IP-адрес элементов конфигурации под названием AUTHLDAPURL на IP-адрес контроллера домена.

Измените всю информацию о домене в Active Directory, чтобы отразить вашу среду.

Измените IP-адрес элементов конфигурации под названием PROXYPASS и PROXYPASSREVERSE на IP-адрес кластера Dashboard.

Измените значение токена CI под названием REQUESTHEADER на созданное ранее секретное значение токена Apache.

В нашем примере мы позволили использовать HTTPS с помощью самоподписанные сертификаты.

Copy to Clipboard

В нашем примере мы настроили использование аутентификации LDAP.

Copy to Clipboard

Apache будет представлять связь HTTPS между пользователем и IP-адресом кластера Dashboard.

Copy to Clipboard

Apache будет использовать сертификат и ключ, созданные автоматически во время установки сервера Kubernetes для выполнения взаимной проверки подлинности TLS на панели мониторинга.

Copy to Clipboard

Сервер Apache добавит заголовок ко всем пакетам, отправленным в Панель мониторинга.

Этот заголовок называется AUTHORIZATION BEARER и содержит секретный токен, созданный ранее в прокси Apache.

Copy to Clipboard

Apache также перенаправит пользователей HTTP на версию HTTPS запрошенного URL-адреса.

Copy to Clipboard

Перезапустите службу Apache.

Copy to Clipboard

Откройте браузер и получите доступ к версии HTTPS IP-адреса сервера Apache.

В нашем примере в браузер был введен следующий URL:

• https://192.168.15.200

Сервер Apache потребует от вас выполнить проверку подлинности пользователя.

Kubernetes Dashboard Proxy Authentication

После успешного входа должна быть представлена панель Kubernetes.

Kubernetes Dashboard

Прокси Apache автоматически аутентицируются на панели Kubernetes с помощью функции под названием: AUTH HEADER.

Kubernetes dashboard Authorization bearer

Вы успешно завершили конфигурацию Apache в качестве прокси для Панели Kubernetes.