Criar um cluster do Azure Red Hat OpenShift 4
O Azure Red Hat OpenShift é um serviço OpenShift gerenciado que permite implantar e gerenciar clusters rapidamente. Este artigo mostra como implantar um cluster do Azure Red Hat OpenShift usando a CLI do Azure ou o portal do Azure.
Antes de começar
Verifique se você está usando a CLI do Azure versão 2.67.0 ou superior. Use az --version
para localizar a versão da CLI do Azure que você instalou. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).
O Azure Red Hat OpenShift requer, pelo menos, 40 núcleos para criar e executar um cluster do OpenShift. A quota de recursos predefinida de uma nova subscrição do Azure não cumpre este requisito. Para solicitar um aumento no limite de recursos, consulte Cota padrão: aumentar limites por série de VMs.
Por exemplo, para verificar a cota de assinatura atual da menor família de máquinas virtuais suportada SKU "Standard DSv3":
LOCATION=eastus az vm list-usage -l $LOCATION \ --query "[?contains(name.value, 'standardDSv3Family')]" \ -o table
Verificar suas permissões
Neste artigo, você criará um grupo de recursos que contém a rede virtual para o cluster. Para fazer isso, você precisará de permissões de Colaborador e Administrador de Acesso de Usuário ou permissões de Proprietário, diretamente na rede virtual ou no grupo de recursos ou assinatura que a contém.
Você também precisará de permissões suficientes do Microsoft Entra (um usuário membro do locatário ou um convidado atribuído com a função Administrador do aplicativo) para que as ferramentas criem uma entidade de aplicativo e serviço em seu nome para o cluster. Consulte Membro e convidados e Atribuir funções de administrador e não administrador a usuários com ID do Microsoft Entra para obter mais detalhes.
Registar os fornecedores de recursos
Se você tiver várias assinaturas do Azure, especifique a ID de assinatura relevante:
az account set --subscription <SUBSCRIPTION ID>
Registre o provedor de
Microsoft.RedHatOpenShift
recursos:az provider register -n Microsoft.RedHatOpenShift --wait
Registre o provedor de
Microsoft.Compute
recursos:az provider register -n Microsoft.Compute --wait
Registre o provedor de
Microsoft.Storage
recursos:az provider register -n Microsoft.Storage --wait
Registre o provedor de
Microsoft.Authorization
recursos:az provider register -n Microsoft.Authorization --wait
Obtenha um segredo de pull da Red Hat (opcional)
Nota
ARO pull secret não altera o custo da licença RH OpenShift para ARO.
Um segredo de pull da Red Hat permite que seu cluster acesse os registros de contêineres da Red Hat, juntamente com outros conteúdos, como operadores do OperatorHub. Esta etapa é opcional, mas recomendada. Se decidir adicionar o segredo de pull mais tarde, siga estas orientações. O campo cloud.openshift.com
é removido do seu segredo, mesmo que o seu pull-secret contenha esse campo. Este campo permite um recurso de monitoramento extra, que envia dados para o RedHat e, portanto, é desativado por padrão. Para habilitar esse recurso, consulte https://docs.openshift.com/container-platform/4.11/support/remote_health_monitoring/enabling-remote-health-reporting.html .
Navegue até o portal do gerenciador de clusters do Red Hat OpenShift e faça login.
Você precisará fazer login na sua conta Red Hat ou criar uma nova conta Red Hat com seu e-mail comercial e aceitar os termos e condições.
Selecione Download pull secret e baixe um pull secret para ser usado com seu cluster ARO.
Mantenha o arquivo salvo
pull-secret.txt
em algum lugar seguro. O arquivo será usado em cada criação de cluster se você precisar criar um cluster que inclua amostras ou operadores para a Red Hat ou parceiros certificados.Ao executar o comando, você pode fazer referência ao
az aro create
seu segredo de pull usando o--pull-secret @pull-secret.txt
parâmetro. Executeaz aro create
a partir do diretório onde você armazenou seupull-secret.txt
arquivo. Caso contrário, substitua@pull-secret.txt
por@/path/to/my/pull-secret.txt
.Se você estiver copiando seu segredo de pull ou fazendo referência a ele em outros scripts, seu segredo de pull deverá ser formatado como uma cadeia de caracteres JSON válida.
Preparar um domínio personalizado para o cluster (opcional)
Ao executar o az aro create
comando, você pode especificar um domínio personalizado para o cluster usando o --domain foo.example.com
parâmetro.
Nota
Embora a adição de um nome de domínio seja opcional ao criar um cluster por meio da CLI do Azure, um nome de domínio (ou um prefixo usado como parte do nome DNS gerado automaticamente para servidores de console e API do OpenShift) é necessário ao adicionar um cluster por meio do portal. Consulte Guia de início rápido: implantar um cluster do Azure Red Hat OpenShift usando o portal do Azure para obter mais informações.
Se você fornecer um domínio personalizado para seu cluster, observe os seguintes pontos:
Depois de criar o cluster, você deve criar dois registros DNS A no servidor DNS para o
--domain
especificado:- api - apontando para o endereço IP do servidor api
- *.apps - apontando para o endereço IP de entrada
- Recupere esses valores executando o seguinte comando após a criação do cluster:
az aro show -n -g --query '{api:apiserverProfile.ip, ingress:ingressProfiles[0].ip}'
.
O console OpenShift estará disponível em um URL como
https://console-openshift-console.apps.example.com
, em vez do domíniohttps://console-openshift-console.apps.<random>.<location>.aroapp.io
interno .Por padrão, o OpenShift usa certificados autoassinados para todas as rotas criadas em domínios personalizados
*.apps.example.com
. Se você optar por usar o DNS personalizado depois de se conectar ao cluster, precisará seguir a documentação do OpenShift para configurar uma CA personalizada para seu controlador de entrada e uma CA personalizada para seu servidor de API.
Criar uma rede virtual contendo duas sub-redes vazias
Em seguida, você criará uma rede virtual contendo duas sub-redes vazias. Se você tiver uma rede virtual existente que atenda às suas necessidades, ignore esta etapa.
Para obter informações sobre rede e requisitos, consulte Rede para o Azure Red Hat Openshift.
Defina as seguintes variáveis no ambiente do shell no qual você executará os
az
comandos.LOCATION=eastus # the location of your cluster RESOURCEGROUP=aro-rg # the name of the resource group where you want to create your cluster CLUSTER=cluster # the name of your cluster
Crie um grupo de recursos.
Um grupo de recursos do Azure é um grupo lógico, no qual os recursos do Azure são implementados e geridos. Quando cria um grupo de recursos, é-lhe pedido que especifique uma localização. Esse local é onde os metadados do grupo de recursos são armazenados e também é onde seus recursos são executados no Azure se você não especificar outra região durante a criação do recurso. Crie um grupo de recursos usando o comando az group create .
Nota
O Azure Red Hat OpenShift não está disponível em todas as regiões onde um grupo de recursos do Azure pode ser criado. Consulte Regiões disponíveis para obter informações sobre onde o Azure Red Hat OpenShift é suportado.
az group create \ --name $RESOURCEGROUP \ --location $LOCATION
A saída de exemplo a seguir mostra o grupo de recursos criado com êxito:
{ "id": "/subscriptions/<guid>/resourceGroups/aro-rg", "location": "eastus", "name": "aro-rg", "properties": { "provisioningState": "Succeeded" }, "type": "Microsoft.Resources/resourceGroups" }
Crie uma rede virtual.
Os clusters do Azure Red Hat OpenShift que executam o OpenShift 4 exigem uma rede virtual com duas sub-redes vazias, para os nós mestre e de trabalho. Você pode criar uma nova rede virtual para isso ou usar uma rede virtual existente.
Crie uma nova rede virtual no mesmo grupo de recursos criado anteriormente:
az network vnet create \ --resource-group $RESOURCEGROUP \ --name aro-vnet \ --address-prefixes 10.0.0.0/22
A saída de exemplo a seguir mostra a rede virtual criada com êxito:
{ "newVNet": { "addressSpace": { "addressPrefixes": [ "10.0.0.0/22" ] }, "dhcpOptions": { "dnsServers": [] }, "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" } }
Adicione uma sub-rede vazia para os nós mestres.
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --name master-subnet \ --address-prefixes 10.0.0.0/23
Adicione uma sub-rede vazia para os nós de trabalho.
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --name worker-subnet \ --address-prefixes 10.0.2.0/23
Criar o cluster
Execute o seguinte comando para criar um cluster. Se você optar por usar uma das seguintes opções, modifique o comando de acordo:
- Opcionalmente, você pode passar seu segredo de pull da Red Hat, o que permite que seu cluster acesse os registros de contêiner da Red Hat junto com outros conteúdos. Adicione o
--pull-secret @pull-secret.txt
argumento ao comando. - Opcionalmente, você pode usar um domínio personalizado. Adicione o
--domain foo.example.com
argumento ao seu comando, substituindofoo.example.com
pelo seu próprio domínio personalizado.
Nota
O número máximo de nós de trabalho definíveis no momento da criação é 50. Você pode expandir até 250 nós após a criação do cluster.
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet aro-vnet \
--master-subnet master-subnet \
--worker-subnet worker-subnet
Depois de executar o az aro create
comando, normalmente leva cerca de 45 minutos para criar um cluster.
Clusters ARO em grande escala
Se você deseja implantar um cluster do Azure Red Hat OpenShift com mais de 100 nós de trabalho, consulte Implantar um grande cluster do Azure Red Hat OpenShift
Seleção de uma versão ARO diferente
Você pode optar por usar uma versão específica do ARO ao criar seu cluster. Primeiro, use a CLI para consultar as versões disponíveis do ARO:
az aro get-versions --location <region>
Depois de escolher a versão, especifique-a az aro create
usando o --version
parâmetro no comando:
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet aro-vnet \
--master-subnet master-subnet \
--worker-subnet worker-subnet \
--version <x.y.z>