Creación de un clúster privado de la versión 4 de Red Hat OpenShift en Azure
En este artículo, preparará su entorno para crear clústeres privados de Red Hat OpenShift en Azure que ejecutan OpenShift 4. Aprenderá a:
- Configurar los requisitos previos y crear la red virtual y las subredes necesarias.
- Implementar un clúster con un punto de conexión de servidor de API privado y un controlador de entrada privado.
Si decide instalar y usar la CLI localmente, en este tutorial es preciso que ejecute la versión 2.30.0 u otra posterior. Ejecute az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
Antes de empezar
Registro de los proveedores de recursos
Si tiene varias suscripciones de Azure, especifique el identificador de la relevante:
az account set --subscription <SUBSCRIPTION ID>
Registre el proveedor de recursos
Microsoft.RedHatOpenShift
:az provider register -n Microsoft.RedHatOpenShift --wait
Registre el proveedor de recursos de
Microsoft.Compute
(si aún no lo ha hecho):az provider register -n Microsoft.Compute --wait
Registre el proveedor de recursos de
Microsoft.Network
(si aún no lo ha hecho):az provider register -n Microsoft.Network --wait
Registre el proveedor de recursos de
Microsoft.Storage
(si aún no lo ha hecho):az provider register -n Microsoft.Storage --wait
Obtención de un secreto de extracción de Red Hat (opcional)
Los secretos de extracción de Red Hat permiten al clúster acceder a los registros de contenedor de Red Hat junto con contenido adicional. Este paso es opcional pero recomendable.
Vaya al portal del administrador de clústeres de Red Hat OpenShift e inicie sesión.
Tendrá que iniciar sesión en su cuenta de Red Hat, o bien crear una cuenta de Red Hat con su correo electrónico empresarial y aceptar los términos y condiciones.
Haga clic en Download pull secret (Descargar secreto de incorporación de cambios).
Mantenga el archivo pull-secret.txt
guardado en un lugar seguro, ya que se usará cada vez que se cree un clúster.
Al ejecutar el comando az aro create
, puede hacer referencia al secreto de incorporación de cambios mediante el parámetro --pull-secret @pull-secret.txt
. Ejecute az aro create
desde el directorio donde haya almacenado el archivo pull-secret.txt
. De lo contrario, reemplace @pull-secret.txt
por @<path-to-my-pull-secret-file
.
Si va a copiar el secreto de incorporación de cambios o hacer referencia a él en otros scripts, debe tener el formato de una cadena JSON válida.
Creación de una red virtual que contenga dos subredes vacías
A continuación, creará una red virtual que contenga dos subredes vacías.
Establezca las siguientes variables.
LOCATION=eastus # the location of your cluster RESOURCEGROUP="v4-$LOCATION" # the name of the resource group where you want to create your cluster CLUSTER=aro-cluster # the name of your cluster
Cree un grupo de recursos
Un grupo de recursos de Azure es un grupo lógico en el que se implementan y administran recursos de Azure. Cuando se crea un grupo de recursos, se le pide que especifique una ubicación. Esta ubicación es donde se almacenan los metadatos del grupo de recursos, también es donde se ejecutan los recursos en Azure si no especifica otra región durante la creación de recursos. Cree un grupo de recursos mediante el comando [az group create][az-group-create].
az group create --name $RESOURCEGROUP --location $LOCATION
En la siguiente salida de ejemplo se muestra que los recursos se crearon correctamente:
{ "id": "/subscriptions/<guid>/resourceGroups/aro-rg", "location": "eastus", "managedBy": null, "name": "aro-rg", "properties": { "provisioningState": "Succeeded" }, "tags": null }
Cree una red virtual.
Los clústeres de Red Hat OpenShift en Azure que ejecutan OpenShift 4 requieren una red virtual con dos subredes vacías, una para los nodos maestros y otra para los nodos de trabajo.
Cree una red virtual en el mismo grupo de recursos que creó anteriormente.
az network vnet create \ --resource-group $RESOURCEGROUP \ --name aro-vnet \ --address-prefixes 10.0.0.0/22
En la siguiente salida de ejemplo se muestra la red virtual creada correctamente:
{ "newVNet": { "addressSpace": { "addressPrefixes": [ "10.0.0.0/22" ] }, "id": "/subscriptions/<guid>/resourceGroups/aro-rg/providers/Microsoft.Network/virtualNetworks/aro-vnet", "location": "eastus", "name": "aro-vnet", "provisioningState": "Succeeded", "resourceGroup": "aro-rg", "type": "Microsoft.Network/virtualNetworks" } }
Agregue una subred vacía para los nodos maestros.
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --name master-subnet \ --address-prefixes 10.0.0.0/23 \ --service-endpoints Microsoft.ContainerRegistry
Agregue una subred vacía para los nodos de trabajo.
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --name worker-subnet \ --address-prefixes 10.0.2.0/23 \ --service-endpoints Microsoft.ContainerRegistry
Deshabilite las directivas de punto de conexión privado en la subred maestra. Esto es necesario para poder conectarse al clúster y administrarlo.
az network vnet subnet update \ --name master-subnet \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --disable-private-link-service-network-policies true
Creación del clúster
Ejecute el siguiente comando para crear un clúster. También puede pasar el secreto de incorporación de cambios de Red Hat, que permite al clúster acceder a los registros de contenedor de Red Hat junto con contenido adicional.
Nota
Si va a copiar o pegar comandos y usa uno de los parámetros opcionales, asegúrese de eliminar los hashtags iniciales y el texto del comentario final. Además, cierre el argumento de la línea anterior del comando con una barra diagonal inversa al final.
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet aro-vnet \
--master-subnet master-subnet \
--worker-subnet worker-subnet \
--apiserver-visibility Private \
--ingress-visibility Private
# --domain foo.example.com # [OPTIONAL] custom domain
# --pull-secret @pull-secret.txt # [OPTIONAL]
Después de ejecutar el comando az aro create
, se tarda aproximadamente 35 minutos en crear un clúster.
Nota:
Al intentar crear un clúster, si recibe un mensaje de error que indica que se ha superado la cuota de recursos, consulte Agregar cuota a la cuenta de ARO para obtener información sobre cómo continuar.
Importante
Si elige especificar un dominio personalizado, por ejemplo foo.example.com, la consola de OpenShift estará disponible en una dirección URL como https://console-openshift-console.apps.foo.example.com
, en lugar del dominio integrado https://console-openshift-console.apps.<random>.<location>.aroapp.io
.
De forma predeterminada, OpenShift usa certificados autofirmados para todas las rutas creadas en *.apps.<random>.<location>.aroapp.io
. Si elige DNS personalizado, después de conectarse al clúster, deberá seguir la documentación de OpenShift para configurar un certificado personalizado para el controlador de entrada y el certificado personalizado para el servidor de API.
Creación de un clúster privado sin una dirección IP pública (versión preliminar)
Normalmente, los clústeres privados se crean con una dirección IP pública y un equilibrador de carga, lo que proporciona un medio para la conectividad saliente a otros servicios. Sin embargo, puede crear un clúster privado sin una dirección IP pública. Esto puede ser necesario en situaciones en las que los requisitos de seguridad o directiva prohíben el uso de direcciones IP públicas.
Importante
Actualmente, esta característica de Red Hat OpenShift en Azure solo se ofrece en versión preliminar. Las características en versión preliminar están disponibles como opción de participación y autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y se excluyen de los contratos de nivel de servicio y la garantía limitada. Las versiones preliminares de Red Hat OpenShift en Azure reciben cobertura parcial del soporte al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para usarse en producción.
Para crear un clúster privado sin una dirección IP pública, regístrese para la marca UserDefinedRouting
de característica mediante la siguiente estructura de comandos:
az feature register --namespace Microsoft.RedHatOpenShift --name UserDefinedRouting
Después de registrar la marca de característica, cree el clúster con el comando anterior.
Habilitar esta opción de enrutamiento definido por el usuario impide que se aprovisione una dirección IP pública. El enrutamiento definido por el usuario (UDR) permite crear rutas personalizadas en Azure para invalidar las rutas del sistema predeterminadas o para agregar más rutas a la tabla de rutas de una subred. Consulte Enrutamiento del tráfico de red virtual para más información.
Nota:
Asegúrese de especificar la subred correcta con la tabla de enrutamiento configurada correctamente al crear el clúster privado.
Para la salida, la opción Enrutamiento definido por el usuario garantiza que el clúster recién creado tenga habilitada la característica de bloqueo de salida para permitirle proteger el tráfico saliente desde el nuevo clúster privado. Consulte Control del tráfico de salida para el clúster de Red Hat OpenShift (ARO) de Azure (versión preliminar) para más información.
Conexión al clúster privado
Puede iniciar sesión en el clúster con el usuario kubeadmin
. Ejecute el siguiente comando para buscar la contraseña del usuario kubeadmin
.
az aro list-credentials \
--name $CLUSTER \
--resource-group $RESOURCEGROUP
En la siguiente salida de ejemplo se muestra que la contraseña estará en kubeadminPassword
.
{
"kubeadminPassword": "<generated password>",
"kubeadminUsername": "kubeadmin"
}
Para encontrar la dirección URL de la consola del clúster, ejecute el siguiente comando, que será similar a https://console-openshift-console.apps.<random>.<region>.aroapp.io/
.
az aro show \
--name $CLUSTER \
--resource-group $RESOURCEGROUP \
--query "consoleProfile.url" -o tsv
Importante
Para conectarse a un clúster privado de Red Hat OpenShift en Azure, deberá realizar el siguiente paso desde un host que esté en el Virtual Network que creó o en una Virtual Network emparejada con el Virtual Network en el que se implementó el clúster.
Inicie la dirección URL de la consola en un explorador e inicie sesión con las credenciales de kubeadmin
.
Instalación de la CLI de OpenShift
Una vez que haya iniciado sesión en la consola web de OpenShift, haga clic en ? en la parte superior derecha y, a continuación, en Herramientas de línea de comandos. Descargue la versión adecuada para su máquina.
También puede descargar la última versión de la CLI adecuada para su máquina.
Conexión mediante la CLI de OpenShift
Recupere la dirección del servidor de API.
apiServer=$(az aro show -g $RESOURCEGROUP -n $CLUSTER --query apiserverProfile.url -o tsv)
Importante
Para conectarse a un clúster privado de Red Hat OpenShift en Azure, deberá realizar el siguiente paso desde un host que esté en el Virtual Network que creó o en una Virtual Network emparejada con el Virtual Network en el que se implementó el clúster.
Inicie sesión en el servidor de API del clúster de OpenShift mediante el siguiente comando. Reemplace <contraseña de kubeadmin> por la contraseña que acaba de recuperar.
oc login $apiServer -u kubeadmin -p <kubeadmin password>
Pasos siguientes
En este artículo, se ha implementado un clúster de Red Hat OpenShift en Azure que ejecuta OpenShift 4. Ha aprendido a:
- Configurar los requisitos previos y crear la red virtual y las subredes necesarias.
- Implementación de un clúster
- Conectarse al clúster mediante el usuario
kubeadmin
.
Pase al siguiente artículo, donde aprenderá a configurar el clúster para la autenticación mediante Azure Active Directory.