Creare un cluster privato di Azure Red Hat OpenShift 4
Questo articolo descrive come preparare l'ambiente per creare cluster privati di Azure Red Hat OpenShift che eseguono OpenShift 4. Nello specifico:
- Configurare i prerequisiti e creare la rete virtuale e la subnet obbligatorie
- Distribuire un cluster con un endpoint server API privato e un controller di ingresso privato
Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questa esercitazione è necessario eseguire l'interfaccia della riga di comando di Azure versione 2.30.0 o successiva. Eseguire az --version
per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
Operazioni preliminari
Registrare i provider di risorse
Se sono presenti più sottoscrizioni di Azure, specificare l'ID sottoscrizione pertinente:
az account set --subscription <SUBSCRIPTION ID>
Registrare il provider di risorse
Microsoft.RedHatOpenShift
:az provider register -n Microsoft.RedHatOpenShift --wait
Registrare il
Microsoft.Compute
provider di risorse (se non è già stato fatto):az provider register -n Microsoft.Compute --wait
Registrare il
Microsoft.Network
provider di risorse (se non è già stato fatto):az provider register -n Microsoft.Network --wait
Registrare il
Microsoft.Storage
provider di risorse (se non è già stato fatto):az provider register -n Microsoft.Storage --wait
Ottenere un segreto pull di Red Hat (facoltativo)
Un segreto pull di Red Hat consente al cluster di accedere ai registri contenitori di Red Hat unitamente a contenuto aggiuntivo. Questo passaggio è facoltativo ma consigliato.
Passare al portale di gestione cluster di Red Hat OpenShift ed eseguire l'accesso.
Dovrai accedere al tuo account Red Hat o creare un nuovo account Red Hat con il tuo indirizzo di posta elettronica aziendale e accettare i termini e le condizioni.
Fare clic su Download pull secret (Scarica segreto pull).
Conservare il file pull-secret.txt
salvato in una posizione sicura perché verrà usato ogni volta che si crea un cluster.
Quando si esegue il comando az aro create
, è possibile fare riferimento al segreto di pull usando il parametro --pull-secret @pull-secret.txt
. Eseguire az aro create
dalla directory in cui è stato archiviato il file pull-secret.txt
. In caso contrario, sostituire @pull-secret.txt
con @<path-to-my-pull-secret-file
.
Se si copia il segreto pull o lo si fa riferimento in altri script, il segreto pull deve essere formattato come stringa JSON valida.
Creare una rete virtuale contenente due subnet vuote
Si creerà quindi una rete virtuale contenente due subnet vuote.
Impostare le variabili seguenti.
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
Creare un gruppo di risorse
Un gruppo di risorse di Azure è un gruppo logico in cui le risorse di Azure vengono distribuite e gestite. Quando si crea un gruppo di risorse, viene chiesto di specificare una posizione. Questa posizione è la posizione in cui vengono archiviati i metadati del gruppo di risorse, ma è anche la posizione in cui le risorse vengono eseguite in Azure se non si specifica un'altra area durante la creazione delle risorse. Creare un gruppo di risorse con il comando [az group create][az-group-create].
az group create --name $RESOURCEGROUP --location $LOCATION
L'output di esempio seguente mostra il gruppo di risorse creato correttamente:
{ "id": "/subscriptions/<guid>/resourceGroups/aro-rg", "location": "eastus", "managedBy": null, "name": "aro-rg", "properties": { "provisioningState": "Succeeded" }, "tags": null }
Creare una rete virtuale.
I cluster di Azure Red Hat OpenShift che eseguono OpenShift 4 richiedono una rete virtuale con due subnet vuote, per i nodi master e di lavoro.
Creare una nuova rete virtuale nello stesso gruppo di risorse creato in precedenza.
az network vnet create \ --resource-group $RESOURCEGROUP \ --name aro-vnet \ --address-prefixes 10.0.0.0/22
L'output di esempio seguente mostra la rete virtuale creata correttamente:
{ "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" } }
Aggiungere una subnet vuota per i nodi master.
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
Aggiungere una subnet vuota per i nodi di lavoro.
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
Disabilitare i criteri dell'endpoint privato della subnet nella subnet master. Questa operazione è necessaria per potersi connettere e gestire il cluster.
az network vnet subnet update \ --name master-subnet \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --disable-private-link-service-network-policies true
Creare il cluster
Eseguire il comando seguente per creare un cluster. Facoltativamente, è possibile passare il segreto pull di Red Hat che consente al cluster di accedere ai registri contenitori di Red Hat unitamente a contenuto aggiuntivo.
Nota
Se si copiano/incollano comandi e si usa uno dei parametri facoltativi, assicurarsi di eliminare gli hashtag iniziali e il testo del commento finale. Chiudere anche l'argomento nella riga precedente del comando con una barra rovesciata finale.
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]
Dopo l'esecuzione di az aro create
, la creazione di un cluster richiede in genere circa 35 minuti.
Nota
Quando si tenta di creare un cluster, se viene visualizzato un messaggio di errore che informa che la quota di risorse è stata superata, vedere Aggiunta di quota all'account ARO per informazioni su come procedere.
Importante
Se si sceglie di specificare un dominio personalizzato, ad esempio foo.example.com, la console di OpenShift sarà disponibile tramite un URL, ad esempio https://console-openshift-console.apps.foo.example.com
, invece del dominio predefinito https://console-openshift-console.apps.<random>.<location>.aroapp.io
.
Per impostazione predefinita, OpenShift usa certificati autofirmati per tutte le route create in *.apps.<random>.<location>.aroapp.io
. Se si sceglie DNS personalizzato, dopo la connessione al cluster, sarà necessario seguire la documentazione di OpenShift per configurare un certificato personalizzato per il controller di ingresso e il certificato personalizzato per il server API.
Creare un cluster privato senza un indirizzo IP pubblico
In genere, i cluster privati vengono creati con un indirizzo IP pubblico e un servizio di bilanciamento del carico, fornendo un mezzo per la connettività in uscita ad altri servizi. Tuttavia, è possibile creare un cluster privato senza un indirizzo IP pubblico. Ciò può essere necessario in situazioni in cui i requisiti di sicurezza o criteri impediscono l'uso di indirizzi IP pubblici.
Per creare un cluster privato senza un indirizzo IP pubblico, seguire la procedura precedente, aggiungendo il aro create
parametro --outbound-type UserDefinedRouting
al comando , come nell'esempio seguente:
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
Nota
Il flag UserDefinedRouting può essere usato solo durante la creazione di cluster con --apiserver-visibility Private
parametri e --ingress-visibility Private
. Assicurarsi di usare l'interfaccia della riga di comando di Azure più recente. I cluster distribuiti con l'interfaccia della riga di comando di Azure 2.52.0 e versioni precedenti verranno distribuiti con indirizzi IP pubblici.
Questa opzione di routing definito dall'utente impedisce il provisioning di un indirizzo IP pubblico. Il routing definito dall'utente consente di creare route personalizzate in Azure per eseguire l'override delle route di sistema predefinite o per aggiungere altre route alla tabella di route di una subnet. Per altre informazioni, vedere Routing del traffico di rete virtuale.
Importante
Assicurarsi di specificare la subnet corretta con la tabella di routing configurata correttamente durante la creazione del cluster privato.
Per l'uscita, l'opzione Routing definito dall'utente garantisce che il cluster appena creato disponga della funzionalità di blocco in uscita abilitata per consentire di proteggere il traffico in uscita dal nuovo cluster privato. Per altre informazioni, vedere Controllare il traffico in uscita per il cluster Azure Red Hat OpenShift (ARO).
Nota
Se si sceglie il tipo di rete Routing definito dall'utente, si è completamente responsabili della gestione del routing in uscita del cluster all'esterno della rete virtuale( ad esempio, ottenere l'accesso a Internet pubblico). Azure Red Hat OpenShift non può gestirlo.
È possibile configurare uno o più indirizzi IP in uscita a uno spazio dei nomi o a pod specifici in uno spazio dei nomi di un cluster privato senza indirizzo IP pubblico. A tale scopo, seguire la procedura precedente per creare un cluster privato senza un indirizzo IP pubblico e quindi configurare l'indirizzo IP in uscita in base a questo documento di Red Hat OpenShift. Questi indirizzi IP in uscita dovranno trovarsi dalle subnet associate al cluster ARO.
La configurazione di un indirizzo IP in uscita per un cluster privato ARO è supportata solo per i cluster con il --outbound-type UserDefinedRouting
parametro . Non è supportato per i cluster ARO pubblici con il --outbound-type LoadBalancer
parametro .
Connettersi al cluster privato
È possibile accedere al cluster tramite l'utente kubeadmin
. Eseguire il comando seguente per trovare la password per l'utente kubeadmin
.
az aro list-credentials \
--name $CLUSTER \
--resource-group $RESOURCEGROUP
L'output di esempio seguente mostra che la password sarà in kubeadminPassword
.
{
"kubeadminPassword": "<generated password>",
"kubeadminUsername": "kubeadmin"
}
È possibile trovare l'URL della console del cluster eseguendo il comando seguente, simile al seguente: https://console-openshift-console.apps.<random>.<region>.aroapp.io/
az aro show \
--name $CLUSTER \
--resource-group $RESOURCEGROUP \
--query "consoleProfile.url" -o tsv
Importante
Per connettersi a un cluster Azure Red Hat OpenShift privato, è necessario eseguire il passaggio seguente da un host che si trova nel Rete virtuale creato o in un Rete virtuale con peering con il Rete virtuale in cui è stato distribuito il cluster.
Avviare l'URL della console in un browser e accedere usando le credenziali kubeadmin
.
Installare l'interfaccia della riga di comando di OpenShift
Dopo aver eseguito l'accesso alla console Web OpenShift, fare clic su ? in alto a destra e quindi su Strumenti da riga di comando. Scaricare la versione appropriata per il computer.
È anche possibile scaricare la versione più recente dell'interfaccia della riga di comando appropriata per il computer.
Connettersi usando l'interfaccia della riga di comando di OpenShift
Recuperare l'indirizzo del server API.
apiServer=$(az aro show -g $RESOURCEGROUP -n $CLUSTER --query apiserverProfile.url -o tsv)
Importante
Per connettersi a un cluster Azure Red Hat OpenShift privato, è necessario eseguire il passaggio seguente da un host che si trova nel Rete virtuale creato o in un Rete virtuale con peering con il Rete virtuale in cui è stato distribuito il cluster.
Accedere al server API del cluster OpenShift usando il comando seguente. Sostituire <kubeadmin password> con la password appena recuperata.
oc login $apiServer -u kubeadmin -p <kubeadmin password>
Passaggi successivi
In questo articolo è stato distribuito un cluster di Azure Red Hat OpenShift che esegue OpenShift 4. Contenuto del modulo:
- Configurare i prerequisiti e creare la rete virtuale e la subnet obbligatorie
- Distribuire un cluster
- Connettersi al cluster tramite l'utente
kubeadmin
Passare all'articolo successivo per informazioni su come configurare il cluster per l'autenticazione usando Microsoft Entra ID.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per