Tareas posteriores a la implementación
Se aplica a: ✔️ máquinas virtuales Linux ✔️ conjuntos de escalado flexibles
Después de implementar un clúster de OpenShift, puede configurar elementos adicionales. En este artículo se describe:
- Cómo configurar el inicio de sesión único con Azure Active Directory (Azure AD)
- Configuración de registros de Azure Monitor para supervisar OpenShift
- Cómo configurar las métricas y el registro
- Cómo instalar Open Service Broker para Azure (OSBA)
Configurar el inicio de sesión único con Azure Active Directory
Para usar Azure Active Directory para la autenticación, primero debe crear un registro de la aplicación de Azure AD. Este proceso implica dos pasos: crear el registro de la aplicación y configurar los permisos.
Crear un registro de aplicación
Estos pasos usan la CLI de Azure para crear el registro de aplicación y la GUI (portal) para definir los permisos. Para crear el registro de aplicación, se necesitan los cinco datos siguientes:
- Nombre para mostrar: nombre del registro de aplicación (p. ej.: OCPAzureAD)
- Página principal: dirección URL de la consola de OpenShift (por ejemplo,
https://masterdns343khhde.westus.cloudapp.azure.com/console
) - Identificador URI: dirección URL de la consola de OpenShift (por ejemplo,
https://masterdns343khhde.westus.cloudapp.azure.com/console
) - Dirección URL de respuesta: dirección URL pública maestra y nombre de registro de la aplicación (por ejemplo,
https://masterdns343khhde.westus.cloudapp.azure.com/oauth2callback/OCPAzureAD
) - Contraseña: contraseña segura (use una contraseña segura)
En el ejemplo siguiente, se creará un registro de aplicación con la información anterior:
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}
Si el comando se ejecuta correctamente, recibirá una salida JSON similar a la siguiente:
{
"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"
]
}
Tome nota de la propiedad appId que ha devuelto el comando para otro paso.
En Azure Portal:
Seleccione Azure Active Directory>Registro de aplicaciones.
Busque el registro de su aplicación (p. ej.: OCPAzureAD).
En los resultados, haga clic en el registro de aplicación.
En Configuración, seleccione Permisos necesarios.
En Permisos necesarios, seleccione Agregar.
Haga clic en el paso 1 (Seleccionar API) y, después, en Windows Azure Active Directory (Microsoft.Azure.ActiveDirectory). Haga clic en Seleccionar en la parte inferior.
En el paso 2: Seleccionar permisos, seleccione Iniciar sesión y leer el perfil del usuario, en Permisos delegados, y haga clic en Seleccionar.
Seleccione Listo.
Configuración de OpenShift para la autenticación de Azure AD
Para configurar OpenShift para usar Azure AD como proveedor de autenticación, el archivo /etc/origin/master/master-config.yaml se debe editar en todos los nodos maestros.
Busque el identificador de inquilino mediante el siguiente comando de CLI:
az account show
En el archivo yaml, busque las siguientes líneas:
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
Inserte las líneas siguientes inmediatamente después de las líneas anteriores:
- 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
Asegúrese de que el texto se alinea correctamente en identityProviders. Busque el identificador de inquilino mediante el siguiente comando de CLI: az account show
.
Reinicie los servicios maestros de OpenShift en todos los nodos maestros:
sudo /usr/local/bin/master-restart api
sudo /usr/local/bin/master-restart controllers
En la consola de OpenShift, ahora verá dos opciones para la autenticación: htpasswd_auth y [App Registration].
Supervisión de OpenShift con registros de Azure Monitor
Hay tres maneras de agregar al agente de Log Analytics a OpenShift.
- Instalar el agente de Log Analytics para Linux directamente en cada nodo de OpenShift
- Habilitar la extensión de máquina virtual de Azure Monitor en cada nodo de OpenShift
- Instalar el agente de Log Analytics como daemon-set de OpenShift
Lea las instrucciones completas para más información.
Configurar las métricas y el registro
En función de la rama, las plantillas de Azure Resource Manager para OpenShift Container Platform y OKD pueden proporcionar parámetros de entrada para habilitar las métricas y el registro como parte de la instalación.
La oferta de Marketplace de OpenShift Container Platform también proporciona una opción para habilitar las métricas y el registro durante la instalación del clúster.
Si las métricas o el registro no se han habilitado durante la instalación del clúster, se pueden habilitar fácilmente con posterioridad.
Proveedor de soluciones en la nube de Azure en uso
Conéctese mediante SSH al nodo de tipo bastión o al primer nodo maestro (en función de la plantilla y la rama en uso) con las credenciales proporcionadas durante la implementación. Emita el comando siguiente:
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
Proveedor de soluciones en la nube de Azure que no está en uso
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
Instalación de Open Service Broker para Azure (OSBA)
Open Service Broker para Azure (OSBA) le permite aprovisionar Azure Cloud Services directamente desde OpenShift. OSBA es una implementación de Open Service Broker API para Azure. Open Service Broker API es una especificación que define un lenguaje común para proveedores en la nube que las aplicaciones nativas pueden usar para administrar servicios en la nube sin dependencia del proveedor.
Para instalar OSBA en OpenShift, siga las instrucciones que encontrará aquí: https://github.com/Azure/open-service-broker-azure#openshift-project-template.
Nota
Complete solo los pasos descritos en la sección de la plantilla de proyecto de OpenShift y no toda la sección de instalación.