Задачи, выполняемые после развертывания
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
После развертывания кластера OpenShift можно настроить дополнительные элементы. В этой статье рассматриваются следующие вопросы:
- Настройка единого входа с использованием Azure Active Directory (Azure AD).
- Настройка журналов Azure Monitor для мониторинга OpenShift
- Настройка метрик и ведения журнала.
- Установка открытого компонента Service Broker для Azure (OSBA).
Настройка единого входа с использованием Azure Active Directory
Чтобы использовать Azure Active Directory для аутентификации, прежде всего нужно зарегистрировать приложение в Azure AD. Этот процесс состоит из двух этапов: регистрация приложения и настройка разрешений.
Регистрация приложения
В этом примере для регистрации приложения используется Azure CLI, а для настройки разрешений — графический пользовательский интерфейс (портал). Чтобы зарегистрировать приложение, нужно знать следующие сведения для пяти параметров:
- Отображаемое имя. Имя регистрируемого приложения (например, OCPAzureAD).
- Домашняя страница. URL-адрес консоли OpenShift (например,
https://masterdns343khhde.westus.cloudapp.azure.com/console
). - URI идентификатора. URL-адрес консоли OpenShift (например,
https://masterdns343khhde.westus.cloudapp.azure.com/console
). - URL-адрес ответа. Главный общедоступный URL-адрес и имя регистрации приложения (например,
https://masterdns343khhde.westus.cloudapp.azure.com/oauth2callback/OCPAzureAD
). - Пароль. Защищенный пароль (используйте надежный пароль).
В следующем примере регистрируется приложение на основе приведенных выше сведений.
az ad app create --display-name OCPAzureAD --homepage https://masterdns343khhde.westus.cloudapp.azure.com/console --reply-urls https://masterdns343khhde.westus.cloudapp.azure.com/oauth2callback/hwocpadint --identifier-uris https://masterdns343khhde.westus.cloudapp.azure.com/console --password {Strong Password}
Если команда будет выполнена успешно, вы получите такие выходные данные в формате JSON:
{
"appId": "12345678-ca3c-427b-9a04-ab12345cd678",
"appPermissions": null,
"availableToOtherTenants": false,
"displayName": "OCPAzureAD",
"homepage": "https://masterdns343khhde.westus.cloudapp.azure.com/console",
"identifierUris": [
"https://masterdns343khhde.westus.cloudapp.azure.com/console"
],
"objectId": "62cd74c9-42bb-4b9f-b2b5-b6ee88991c80",
"objectType": "Application",
"replyUrls": [
"https://masterdns343khhde.westus.cloudapp.azure.com/oauth2callback/OCPAzureAD"
]
}
Запишите свойство appId, возвращенное из команды. Оно понадобится в дальнейшем.
На портале Azure выполните следующие действия.
Выберите Azure Active Directory>App Registration (Регистрация приложений).
Найдите зарегистрированное приложение (например, OCPAzureAD).
В результатах поиска щелкните нужное зарегистрированное приложение.
В области Параметры щелкните Требуемые разрешения.
В области Необходимые разрешения щелкните Добавить.
Щелкните "Шаг 1. Выбрать API" и выберите Windows Azure Active Directory (Microsoft.Azure.ActiveDirectory). Щелкните Выбрать внизу.
В области "Шаг 2. Выбор разрешений" выберите Вход и чтение профиля пользователя в разделе Делегированные разрешения, затем щелкните Выбрать.
Нажмите кнопку Готово.
Настройка OpenShift для аутентификации Azure AD
Чтобы OpenShift использовал Azure AD в качестве поставщика проверки подлинности, внесите изменения в файл /etc/origin/master/master-config.yaml на всех главных узлах.
Определите идентификатор клиента, выполнив следующую команду интерфейса командной строки:
az account show
В файле yaml найдите следующие строки:
oauthConfig:
assetPublicURL: https://masterdns343khhde.westus.cloudapp.azure.com/console/
grantConfig:
method: auto
identityProviders:
- challenge: true
login: true
mappingMethod: claim
name: htpasswd_auth
provider:
apiVersion: v1
file: /etc/origin/master/htpasswd
kind: HTPasswdPasswordIdentityProvider
Сразу после указанных выше строк вставьте следующие строки:
- name: <App Registration Name>
challenge: false
login: true
mappingMethod: claim
provider:
apiVersion: v1
kind: OpenIDIdentityProvider
clientID: <appId>
clientSecret: <Strong Password>
claims:
id:
- sub
preferredUsername:
- unique_name
name:
- name
email:
- email
urls:
authorize: https://login.microsoftonline.com/<tenant Id>/oauth2/authorize
token: https://login.microsoftonline.com/<tenant Id>/oauth2/token
Убедитесь, что текст в разделе identityProviders выравнивается правильно. Определите идентификатор клиента, выполнив следующую команду интерфейса командной строки: az account show
Перезапустите основные службы OpenShift на всех главных узлах.
sudo /usr/local/bin/master-restart api
sudo /usr/local/bin/master-restart controllers
В консоли OpenShift предложены два варианта аутентификации: htpasswd_auth и [Регистрация приложения].
Мониторинг OpenShift с помощью журналов Azure Monitor
Существует три способа добавить агент Log Analytics в OpenShift:
- установить агент Log Analytics для Linux непосредственно на каждом узле OpenShift;
- включить расширение виртуальной машины Azure Monitor на каждом узле OpenShift;
- установить агент Log Analytics как набор daemon-set для OpenShift.
Дополнительные сведения см. в полной инструкции.
Настройка метрик и ведения журнала
В зависимости от используемой ветви, шаблоны Azure Resource Manager для платформы контейнеров OpenShift и OKD могут поддерживать входные параметры для включения метрик и ведения журнала в процессе установки.
Предложение платформы контейнеров OpenShift в Marketplace предоставляет также возможность включить метрики и ведение журнала во время установки кластера.
Если метрики и (или) ведение журнала не были включены во время установки кластера, их можно легко включить позже.
Использование поставщика облачных служб Azure
Создайте SSH-подключение к узлу-бастиону или первому главному узлу (в зависимости от шаблона и ветви, которые вы используете) и введите учетные данные, которые вы предоставили во время развертывания. Выполните следующую команду:
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/openshift-metrics/config.yml \
-e openshift_metrics_install_metrics=True \
-e openshift_metrics_cassandra_storage_type=dynamic
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/openshift-logging/config.yml \
-e openshift_logging_install_logging=True \
-e openshift_logging_es_pvc_dynamic=true
Поставщик облачных служб Azure не используется
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/openshift-metrics/config.yml \
-e openshift_metrics_install_metrics=True
ansible-playbook /usr/share/ansible/openshift-ansible/playbooks/openshift-logging/config.yml \
-e openshift_logging_install_logging=True
Установите Open Service Broker для Azure (OSBA)
Open Service Broker для Azure (OSBA) позволяет подготавливать облачные службы Azure непосредственно на платформе OpenShift. OSBA предоставляется в реализации API Open Service Broker для Azure. Спецификация API Open Service Broker определяет общий язык для облачных поставщиков, который позволяет управлять облачными службами в облачных приложениях без проблем с блокировками.
Чтобы установить OSBA на OpenShift, следуйте представленные здесь инструкции: https://github.com/Azure/open-service-broker-azure#openshift-project-template.
Примечание
Выполните только шаги, описанные в разделе, посвященном шаблону проекта OpenShift, а не во всем разделе, посвященном установке.
Дальнейшие действия
- Overview (Обзор)