Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa guida introduttiva ci si connette a un Azure Red Hat OpenShift con un cluster HCP (Hosted Control Planes) richiedendo una credenziale amministrativa temporanea.
La credenziale genera un kubeconfig file usato con l'interfaccia della riga di comando di OpenShift (oc) per accedere al cluster.
Prerequisiti
- interfaccia della riga di comando di Azure versione 2.67.0 o successiva. Per trovare la versione, eseguire
az --version. Se è necessario installare o aggiornare, vedere Installare interfaccia della riga di comando di Azure. - Un cluster Azure Red Hat OpenShift distribuito con piani di controllo ospitati. Se non ne è disponibile uno, vedere Creare un Azure Red Hat OpenShift con cluster di piani di controllo ospitati.
- La CLI di OpenShift (
oc). Per l'installazione, vedere la documentazione dell'interfaccia della riga di comando di OpenShift.
Importante
Se il cluster dispone di un server API privato, è necessario eseguire tutti i comandi di questo articolo da un host con connettività di rete privata alla rete virtuale del cluster. È possibile stabilire la connettività tramite Azure VNet peering, Gateway VPN di Azure, o Azure ExpressRoute. Per testare rapidamente la connettività, consulta Connettersi da una VM jump box.
Creare una macchina virtuale jumpbox (solo cluster privati)
Se il cluster dispone di un server API privato e non si ha una connessione di rete privata esistente, è possibile creare una macchina virtuale jump box in una subnet dedicata con un proprio NSG. Usa una VM jump box per la configurazione iniziale del cluster, i test o le attività amministrative una tantum. Per l'accesso continuo all'ambiente di produzione da reti locali o pipeline CI/CD, usare invece Gateway VPN di Azure o Azure ExpressRoute.
Prepara il tuo ambiente
Impostare le variabili di ambiente. Sostituire i valori segnaposto con i propri valori.
LOCATION="<location>" CUSTOMER_RG_NAME="<resource-group-name>" JUMPBOX_SUBNET_NAME="<subnet-name>" JUMPBOX_NSG_NAME="<nsg-name>" JUMPBOX_NAME="<jumpbox-vm-name>"Creare un gruppo di sicurezza di rete dedicato per la macchina virtuale jump box.
az network nsg create \ --name "${JUMPBOX_NSG_NAME}" \ --resource-group "${CUSTOMER_RG_NAME}" \ --location "${LOCATION}"Aggiungere una regola SSH in ingresso limitata all'intervallo IP o CIDR desiderato.
az network nsg rule create \ --resource-group "${CUSTOMER_RG_NAME}" \ --nsg-name "${JUMPBOX_NSG_NAME}" \ --name "AllowSSH" \ --priority 1000 \ --protocol Tcp \ --destination-port-ranges 22 \ --source-address-prefixes "<source-ip-address>" \ --access Allow \ --direction InboundSostituire
<source-ip-address>con l'origine desiderata.Creare una subnet dedicata per la VM jump box.
az network vnet subnet create \ --name "${JUMPBOX_SUBNET_NAME}" \ --vnet-name "${CUSTOMER_VNET_NAME}" \ --resource-group "${CUSTOMER_RG_NAME}" \ --address-prefixes 10.0.2.0/28 \ --network-security-group "${JUMPBOX_NSG_NAME}"
Creare la macchina virtuale jump box
Creare la macchina virtuale jump box.
az vm create \ --resource-group "${CUSTOMER_RG_NAME}" \ --name "${JUMPBOX_NAME}" \ --image Ubuntu2204 \ --admin-username azureuser \ --vnet-name "${CUSTOMER_VNET_NAME}" \ --subnet "${JUMPBOX_SUBNET_NAME}" \ --size Standard_B2s \ --generate-ssh-keysRecupera l'indirizzo IP pubblico della VM jump box.
JUMPBOX_IP=$(az vm show \ --resource-group "${CUSTOMER_RG_NAME}" \ --name "${JUMPBOX_NAME}" \ --show-details \ --query publicIps \ --output tsv) echo "Jump box VM IP: ${JUMPBOX_IP}"Connettersi alla macchina virtuale jump box tramite SSH.
ssh azureuser@"${JUMPBOX_IP}"
Configurare l'ambiente della macchina virtuale jump box
Poiché il server API del cluster privato non ha alcun endpoint pubblico, è necessario eseguire oc comandi dall'interno della rete virtuale.
Scaricare e installare il interfaccia della riga di comando di Azure nella macchina virtuale jump box.
Questo esempio scarica e installa il interfaccia della riga di comando di Azure per Ubuntu. Se hai creato la jump box con un sistema operativo diverso, segui le istruzioni di installazione di interfaccia della riga di comando di Azure per il tuo sistema operativo.
curl -fsSL 'https://azurecliprod.blob.core.windows.net/$root/deb_install.sh' | sudo bashVerificare che il interfaccia della riga di comando di Azure sia installato.
az versionAccedere ad Azure.
az loginQuesto comando restituisce un codice e un URL del dispositivo.
Aprire l'URL in un browser nel computer locale, immettere il codice ed eseguire l'autenticazione.
Scarica l'estensione CLI di ARO HCP.
curl -sL https://aka.ms/aro-hcp-cli -o aro_hcp-1.0.0b3-py3-none-any.whlAggiungere l'estensione CLI di ARO HCP.
az extension add --source aro_hcp-1.0.0b3-py3-none-any.whlVerificare che l'estensione dell'interfaccia della riga di comando di ARO HCP sia installata.
az aro hcp -hInstallare la CLI di OpenShift.
curl -sL https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable/openshift-client-linux.tar.gz \ | sudo tar -C /usr/local/bin -xz oc kubectlVerificare che la CLI di OpenShift sia installata.
oc version --client
Connettersi al cluster
Le credenziali amministrative scadono dopo 24 ore.
Impostare le variabili di ambiente seguenti se non sono già state impostate. Sostituire i valori segnaposto con i valori per il cluster.
CUSTOMER_RG_NAME="<resource-group-name>" CLUSTER_NAME="<cluster-name>"Richiedere una credenziale amministrativa temporanea per il cluster e salvarla
kubeconfigin un file.az aro hcp cluster request-credential --admin \ --name "${CLUSTER_NAME}" \ --resource-group "${CUSTOMER_RG_NAME}" \ --file kubeconfigImpostare la
KUBECONFIGvariabile di ambiente sul percorso delkubeconfigfile salvato.export KUBECONFIG=kubeconfigVerificare che sia possibile connettersi al cluster.
oc auth whoamiL'output di esempio seguente mostra una connessione riuscita.
ATTRIBUTE VALUE Username system:customer-break-glass:<user-id> Groups [system:masters system:authenticated] Extra: authentication.kubernetes.io/credential-id <credential-id>
Pulizia
Revocare le credenziali amministrative
Se si desidera revocare tutte le credenziali amministrative per il cluster, eseguire il comando seguente.
az aro hcp cluster revoke-credential \
--name "${CLUSTER_NAME}" \
--resource-group "${CUSTOMER_RG_NAME}"
Eliminare la macchina virtuale jump box
Se è stata creata una macchina virtuale jump box per connettersi a un cluster privato, eliminare la macchina virtuale per evitare addebiti in corso.
az vm delete \
--resource-group "${CUSTOMER_RG_NAME}" \
--name "${JUMPBOX_NAME}" \
--yes