Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 2. Configuración de un clúster de alta disponibilidad de Red Hat en Microsoft Azure

Este capítulo incluye información y procedimientos para configurar un cluster de Alta Disponibilidad (HA) de Red Hat en Azure utilizando instancias de máquinas virtuales (VM) de Azure como nodos de cluster. Los procedimientos en este capítulo asumen que usted está creando una imagen personalizada para Azure. Tiene varias opciones para obtener las imágenes de RHEL 8 que utiliza para su cluster. Consulte Opciones de imagen de Red Hat Enterprise Linux en Azure para obtener información sobre las opciones de imagen para Azure.

Este capítulo incluye los procedimientos necesarios para configurar su entorno para Azure. Una vez que haya configurado su entorno, puede crear y configurar instancias de VM de Azure.

El capítulo también incluye procedimientos específicos para la creación de clústeres de alta disponibilidad, que transforman nodos individuales en un clúster de nodos de alta disponibilidad en Azure. Estos incluyen procedimientos para la instalación de los paquetes y agentes de alta disponibilidad en cada nodo del clúster, la configuración del cercado y la instalación de los agentes de recursos de red de Azure.

El capítulo hace referencia a la documentación de Azure en varios lugares. Para muchos procedimientos, consulte la documentación de Azure a la que se hace referencia para obtener más información.

Requisitos previos

2.1. Creación de recursos en Azure

Complete el siguiente procedimiento para crear una región, un grupo de recursos, una cuenta de almacenamiento, una red virtual y un conjunto de disponibilidad. Necesitará estos recursos para completar las tareas posteriores de este capítulo.

Procedimiento

  1. Autentifique su sistema con Azure e inicie sesión.

    $ az login
    Nota

    Si hay un navegador disponible en su entorno, la CLI abre su navegador a la página de inicio de sesión de Azure.

    Ejemplo:

    [clouduser@localhost]$ az login
    To sign in, use a web browser to open the page https://aka.ms/devicelogin and enter the code FDMSCMETZ to authenticate.
      [
        {
          "cloudName": "AzureCloud",
          "id": "Subscription ID",
          "isDefault": true,
          "name": "MySubscriptionName",
          "state": "Enabled",
          "tenantId": "Tenant ID",
          "user": {
            "name": "clouduser@company.com",
            "type": "user"
          }
        }
      ]
  2. Cree un grupo de recursos en una región de Azure.

    $ az group create --name resource-group --location azure-region

    Ejemplo:

    [clouduser@localhost]$ az group create --name azrhelclirsgrp --location southcentralus
    {
      "id": "/subscriptions//resourceGroups/azrhelclirsgrp",
      "location": "southcentralus",
      "managedBy": null,
      "name": "azrhelclirsgrp",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
  3. Crea una cuenta de almacenamiento.

    $ az storage account create -l azure-region -n storage-account-name -g resource-group --sku sku_type --kind StorageV2

    Ejemplo:

    [clouduser@localhost]$ az storage account create -l southcentralus -n azrhelclistact -g azrhelclirsgrp --sku Standard_LRS --kind StorageV2
    {
      "accessTier": null,
      "creationTime": "2017-04-05T19:10:29.855470+00:00",
      "customDomain": null,
      "encryption": null,
      "id": "/subscriptions//resourceGroups/azrhelclirsgrp/providers/Microsoft.Storage/storageAccounts/azrhelclistact",
      "kind": "StorageV2",
      "lastGeoFailoverTime": null,
      "location": "southcentralus",
      "name": "azrhelclistact",
      "primaryEndpoints": {
        "blob": "https://azrhelclistact.blob.core.windows.net/",
        "file": "https://azrhelclistact.file.core.windows.net/",
        "queue": "https://azrhelclistact.queue.core.windows.net/",
        "table": "https://azrhelclistact.table.core.windows.net/"
    },
    "primaryLocation": "southcentralus",
    "provisioningState": "Succeeded",
    "resourceGroup": "azrhelclirsgrp",
    "secondaryEndpoints": null,
    "secondaryLocation": null,
    "sku": {
      "name": "Standard_LRS",
      "tier": "Standard"
    },
    "statusOfPrimary": "available",
    "statusOfSecondary": null,
    "tags": {},
      "type": "Microsoft.Storage/storageAccounts"
    }
  4. Obtiene la cadena de conexión de la cuenta de almacenamiento.

    $ az storage account show-connection-string -n storage-account-name -g resource-group

    Ejemplo:

    [clouduser@localhost]$ az storage account show-connection-string -n azrhelclistact -g azrhelclirsgrp
    {
      "connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="
    }
  5. Exporte la cadena de conexión copiando la cadena de conexión y pegándola en el siguiente comando. Esta cadena conecta su sistema con la cuenta de almacenamiento.

    $ export AZURE_STORAGE_CONNECTION_STRING="storage-connection-string"

    Ejemplo:

    [clouduser@localhost]$ export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="
  6. Crear el contenedor de almacenamiento.

    $ az storage container create -n container-name

    Ejemplo:

    [clouduser@localhost]$ az storage container create -n azrhelclistcont
    {
      "created": true
    }
  7. Cree una red virtual. Todos los nodos del clúster deben estar en la misma red virtual.

    $ az network vnet create -g resource group --name vnet-name --subnet-name subnet-name

    Ejemplo:

    [clouduser@localhost]$ az network vnet create --resource-group azrhelclirsgrp --name azrhelclivnet1 --subnet-name azrhelclisubnet1
    {
      "newVNet": {
        "addressSpace": {
          "addressPrefixes": [
          "10.0.0.0/16"
          ]
      },
      "dhcpOptions": {
        "dnsServers": []
      },
      "etag": "W/\"\"",
      "id": "/subscriptions//resourceGroups/azrhelclirsgrp/providers/Microsoft.Network/virtualNetworks/azrhelclivnet1",
      "location": "southcentralus",
      "name": "azrhelclivnet1",
      "provisioningState": "Succeeded",
      "resourceGroup": "azrhelclirsgrp",
      "resourceGuid": "0f25efee-e2a6-4abe-a4e9-817061ee1e79",
      "subnets": [
        {
          "addressPrefix": "10.0.0.0/24",
          "etag": "W/\"\"",
          "id": "/subscriptions//resourceGroups/azrhelclirsgrp/providers/Microsoft.Network/virtualNetworks/azrhelclivnet1/subnets/azrhelclisubnet1",
          "ipConfigurations": null,
          "name": "azrhelclisubnet1",
          "networkSecurityGroup": null,
          "provisioningState": "Succeeded",
          "resourceGroup": "azrhelclirsgrp",
          "resourceNavigationLinks": null,
          "routeTable": null
        }
      ],
      "tags": {},
      "type": "Microsoft.Network/virtualNetworks",
      "virtualNetworkPeerings": null
      }
    }
  8. Cree un conjunto de disponibilidad. Todos los nodos del clúster deben estar en el mismo conjunto de disponibilidad.

    $ az vm availability-set create --name MyAvailabilitySet --resource-group MyResourceGroup

    Ejemplo:

    [clouduser@localhost]$ az vm availability-set create --name rhelha-avset1 --resource-group azrhelclirsgrp
    {
      "additionalProperties": {},
        "id": "/subscriptions/.../resourceGroups/azrhelclirsgrp/providers/Microsoft.Compute/availabilitySets/rhelha-avset1",
        "location": "southcentralus",
        "name": “rhelha-avset1",
        "platformFaultDomainCount": 2,
        "platformUpdateDomainCount": 5,
    
    ...omitted