Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Neste artigo, você prepara seu ambiente para criar clusters privados do Azure Red Hat OpenShift executando o OpenShift 4. Você aprende a:
- Configure os pré-requisitos e crie a rede virtual e as sub-redes necessárias
- Implantar um cluster com um ponto de extremidade de servidor de API privado e um controlador de entrada privado
Se você optar por instalar e usar a CLI localmente, este tutorial exigirá que você esteja executando a CLI do Azure versão 2.30.0 ou posterior. Para localizar a versão, execute o az --version
comando. Se precisar de instalar ou atualizar, consulte Install Azure CLI.
Antes de começar
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>
Registe o fornecedor de recursos
Microsoft.RedHatOpenShift
.az provider register -n Microsoft.RedHatOpenShift --wait
Registre o
Microsoft.Compute
provedor de recursos (se ainda não o fez):az provider register -n Microsoft.Compute --wait
Registre o
Microsoft.Network
provedor de recursos (se ainda não o fez):az provider register -n Microsoft.Network --wait
Registre o
Microsoft.Storage
provedor de recursos (se ainda não o fez):az provider register -n Microsoft.Storage --wait
Obtenha um segredo de pull da Red Hat (opcional)
Um segredo de pull da Red Hat permite que seu cluster acesse os registros de contêineres da Red Hat junto com outros conteúdos. Este passo é opcional, mas recomendado.
Acesse o portal do gerenciador de clusters do Red Hat OpenShift e faça login.
Faça login na sua conta Red Hat ou crie uma nova conta Red Hat com seu e-mail comercial e aceite os termos e condições.
Clique em Download pull secret.
Mantenha o arquivo salvo pull-secret.txt
em algum lugar seguro - ele é usado em cada criação de cluster.
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. Execute az aro create
a partir do diretório onde você armazenou seu pull-secret.txt
arquivo. Caso contrário, substitua @pull-secret.txt
por @<path-to-my-pull-secret-file
.
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.
Criar uma rede virtual contendo duas sub-redes vazias
Em seguida, crie uma rede virtual contendo duas sub-redes vazias.
Defina as seguintes variáveis.
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
Criar 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. Ao criar um grupo de recursos, você especifica um local. Esse local é onde os metadados do grupo de recursos são armazenados, é 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 .
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", "managedBy": null, "name": "aro-rg", "properties": { "provisioningState": "Succeeded" }, "tags": null }
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 de controle e de trabalho.
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" ] }, "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 \ --service-endpoints Microsoft.ContainerRegistry
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 \ --service-endpoints Microsoft.ContainerRegistry
Desative as políticas de ponto de extremidade privado da sub-rede na sub-rede principal. Isso é necessário para poder conectar e gerenciar o cluster.
az network vnet subnet update \ --name master-subnet \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --private-link-service-network-policies Disabled
Criar o cluster
Execute o seguinte comando para criar um cluster. Opcionalmente, você pode passar seu segredo de pull da Red Hat, o que permite que seu cluster acesse os registros de contêineres da Red Hat junto com outros conteúdos.
Observação
Se você estiver copiando/colando comandos e usando um dos parâmetros opcionais, exclua as hashtags iniciais e o texto do comentário à direita. Além disso, feche o argumento na linha anterior do comando com uma barra invertida à direita.
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]
O az aro create
comando normalmente leva cerca de 35 minutos para criar um cluster.
Observação
Ao tentar criar um cluster, se você receber uma mensagem de erro informando que sua cota de recursos foi excedida, consulte Adicionando cota à conta para saber como proceder.
Importante
Se você optar por especificar um domínio personalizado, por exemplo foo.example.com
, o console OpenShift estará disponível em uma URL como https://console-openshift-console.apps.foo.example.com
, em vez do domínio https://console-openshift-console.apps.<random>.<___location>.aroapp.io
interno.
Por padrão, o OpenShift usa certificados autoassinados para todas as rotas criadas no *.apps.<random>.<___location>.aroapp.io
. Se você escolher DNS personalizado, depois de se conectar ao cluster, precisará seguir a documentação do OpenShift para configurar um certificado personalizado para seu controlador de entrada e um certificado personalizado para seu servidor de API.
Criar um cluster privado sem um endereço IP público
Normalmente, os clusters privados são criados com um endereço IP público e um balanceador de carga, fornecendo um meio para conectividade de saída com outros serviços. No entanto, você pode criar um cluster privado sem um endereço IP público. Isso pode ser necessário em situações em que os requisitos de segurança ou de política proíbem o uso de endereços IP públicos.
Para criar um cluster privado sem um endereço IP público, siga o procedimento acima, adicionando o parâmetro --outbound-type UserDefinedRouting
ao aro create
comando, como no exemplo a seguir:
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 \
--outbound-type UserDefinedRouting
Observação
O sinalizador UserDefinedRouting só pode ser usado ao criar clusters com --apiserver-visibility Private
e --ingress-visibility Private
parâmetros. Certifique-se de que está a utilizar a CLI do Azure mais recente. Os clusters implantados com a CLI do Azure 2.52.0 e versões anteriores serão implantados com IPs públicos.
Essa opção de Roteamento Definido pelo Usuário impede que um endereço IP público seja provisionado. O Roteamento Definido pelo Usuário (UDR) permite que você crie rotas personalizadas no Azure para substituir as rotas padrão do sistema ou adicionar mais rotas à tabela de rotas de uma sub-rede. Consulte Roteamento de tráfego de rede virtual para saber mais.
Importante
Certifique-se de especificar a sub-rede correta com a tabela de roteamento configurada corretamente ao criar seu cluster privado.
Para saída, a opção Roteamento definido pelo usuário garante que o cluster recém-criado tenha o recurso de bloqueio de saída habilitado para permitir que você proteja o tráfego de saída do novo cluster privado. Consulte Controlar o tráfego de saída do cluster do Azure Red Hat OpenShift para saber mais.
Observação
Se você escolher o tipo de rede Roteamento Definido pelo Usuário, será totalmente responsável por gerenciar a saída do roteamento do cluster fora da rede virtual (por exemplo, obter acesso à Internet pública). O Azure Red Hat OpenShift não pode gerenciar isso para você.
Você pode configurar um ou mais endereços IP de saída para um namespace ou para pods específicos em um namespace de um cluster privado sem endereço IP público. Para fazer isso, siga o procedimento acima para criar um cluster privado sem um endereço IP público e, em seguida, configure o IP de saída de acordo com este documento do Red Hat OpenShift. Esses endereços IP de saída precisam ser das sub-redes associadas ao cluster.
A configuração de um IP de saída para um cluster privado só é suportada para clusters com o --outbound-type UserDefinedRouting
parâmetro. Não há suporte para clusters públicos que tenham o --outbound-type LoadBalancer
parâmetro.
Conectar-se ao cluster privado
Você pode fazer login no cluster usando o kubeadmin
usuário. Execute o seguinte comando para localizar a senha do kubeadmin
usuário.
az aro list-credentials \
--name $CLUSTER \
--resource-group $RESOURCEGROUP
O exemplo de saída a seguir mostra a senha em kubeadminPassword
.
{
"kubeadminPassword": "<generated password>",
"kubeadminUsername": "kubeadmin"
}
Você pode encontrar a URL do console do cluster executando o seguinte comando, que se parece com https://console-openshift-console.apps.<random>.<region>.aroapp.io/
az aro show \
--name $CLUSTER \
--resource-group $RESOURCEGROUP \
--query "consoleProfile.url" -o tsv
Importante
Para se conectar a um cluster privado do Azure Red Hat OpenShift, você precisa executar a etapa a seguir a partir de um host que esteja na Rede Virtual que você criou ou em uma Rede Virtual emparelhada com a Rede Virtual na qual o cluster foi implantado.
Inicie o URL do console em um navegador e entre usando as kubeadmin
credenciais.
Instalar a CLI do OpenShift
Depois de entrar no OpenShift Web Console, selecione o ?
no canto superior direito e, em seguida, em Ferramentas de linha de comando. Faça o download da versão apropriada para a sua máquina.
Você também pode baixar a versão mais recente da CLI apropriada para sua máquina.
Conectar-se usando a CLI do OpenShift
Recupere o endereço do servidor de API.
apiServer=$(az aro show --resource-group $RESOURCEGROUP --name $CLUSTER --query apiserverProfile.url --output tsv)
Importante
Para se conectar a um cluster privado do Azure Red Hat OpenShift, você precisará executar a etapa a seguir a partir de um host que esteja na Rede Virtual que você criou ou em uma Rede Virtual emparelhada com a Rede Virtual na qual o cluster foi implantado.
Entre no servidor de API do cluster OpenShift usando o seguinte comando. Substitua <kubeadmin password>
pela senha recuperada.
oc login $apiServer --username kubeadmin --password <kubeadmin password>
Próximos passos
Neste artigo, um cluster do Azure Red Hat OpenShift executando o OpenShift 4 foi implantado. Você aprendeu a:
- Configure os pré-requisitos e crie a rede virtual e as sub-redes necessárias
- Implantar um cluster
- Conectar-se ao cluster usando o
kubeadmin
usuário
Avance para o próximo artigo para saber como configurar o cluster para autenticação usando o Microsoft Entra ID.