Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 2. Configuração de um cluster Red Hat High Availability no Microsoft Azure

Este capítulo inclui informações e procedimentos para configurar um cluster Red Hat High Availability (HA) no Azure usando instâncias da máquina virtual Azure (VM) como nós de cluster. Os procedimentos neste capítulo assumem que você está criando uma imagem personalizada para o Azure. Você tem uma série de opções para obter as imagens RHEL 8 que você utiliza para seu cluster. Consulte Opções de Imagem do Red Hat Enterprise Linux no Azure para obter informações sobre as opções de imagem para o Azure.

Este capítulo inclui procedimentos prévios para a criação de seu ambiente para o Azure. Uma vez que você tenha configurado seu ambiente, você pode criar e configurar instâncias do Azure VM.

O capítulo também inclui procedimentos específicos para a criação de clusters de HA, que transformam nós individuais em um cluster de nós HA em Azure. Estes incluem procedimentos para instalação dos pacotes e agentes de alta disponibilidade em cada nó de cluster, configuração de cercas e instalação de agentes de recursos de rede Azure.

O capítulo se refere à documentação Azure em vários lugares. Para muitos procedimentos, consulte a documentação Azure referenciada para mais informações.

Pré-requisitos

2.1. Criando recursos em Azure

Complete o seguinte procedimento para criar uma região, grupo de recursos, conta de armazenamento, rede virtual e conjunto de disponibilidade. Você precisa destes recursos para completar as tarefas subseqüentes neste capítulo.

Procedimento

  1. Autentique seu sistema com Azure e faça o login.

    $ az login
    Nota

    Se um navegador estiver disponível em seu ambiente, o CLI abre seu navegador para a página de login no Azure.

    Exemplo:

    [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. Criar um grupo de recursos em uma região Azure.

    Grupo az criar --nome resource-group --local azure-region

    Exemplo:

    [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. Criar uma conta de armazenamento.

    $ az criar conta de armazenamento -l azure-region -n storage-account-name -g resource-group --sku sku_type --kind StorageV2

    Exemplo:

    [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. Obtenha o cordão de conexão da conta de armazenamento.

    Conta de armazenamento az mostrar-conexão de fio -n storage-account-name -g resource-group

    Exemplo:

    [clouduser@localhost]$ az storage account show-connection-string -n azrhelclistact -g azrhelclirsgrp
    {
      "connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="
    }
  5. Exportar a cadeia de conexão copiando a cadeia de conexão e colando-a no seguinte comando. Esta cadeia de conexão conecta seu sistema à conta de armazenamento.

    $ exportação AZURE_STORAGE_CONNECTION_STRING="storage-connection-string"

    Exemplo:

    export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="
  6. Criar o recipiente de armazenagem.

    Container de armazenamento $ az criar -n container-name

    Exemplo:

    [clouduser@localhost]$ az storage container create -n azrhelclistcont
    {
      "created": true
    }
  7. Criar uma rede virtual. Todos os nós de cluster devem estar na mesma rede virtual.

    $ az rede vnet criar -g resource group --nome vnet-name --subnet-nome subnet-name

    Exemplo:

    [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. Criar um conjunto de disponibilidade. Todos os nós de cluster devem estar no mesmo conjunto de disponibilidade.

    $ az vm-disponibilidade -conjunto criar --nome MyAvailabilitySet --recurso-grupo MyResourceGroup

    Exemplo:

    [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