Skapa ett Azure Red Hat OpenShift 4-kluster
Azure Red Hat OpenShift är en hanterad OpenShift-tjänst som gör att du snabbt kan distribuera och hantera kluster. Den här artikeln visar hur du distribuerar ett Azure Red Hat OpenShift-kluster med antingen Azure CLI eller Azure Portal.
Innan du börjar
Kontrollera att du använder Azure CLI version 2.67.0 eller senare. Använd az --version
för att hitta den version av Azure CLI som du har installerat. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.
Azure Red Hat OpenShift kräver minst 40 kärnor för att kunna skapa och köra ett OpenShift-kluster. Azure-resurskvoten av standardtyp för en ny Azure-prenumeration uppfyller inte det här kravet. Information om hur du begär en ökning av resursgränsen finns i Standardkvot: Öka gränserna per VM-serie.
Om du till exempel vill kontrollera den aktuella prenumerationskvoten för den minsta virtuella datorfamiljens SKU "Standard DSv3":
LOCATION=eastus az vm list-usage -l $LOCATION \ --query "[?contains(name.value, 'standardDSv3Family')]" \ -o table
Verifiera dina behörigheter
I den här artikeln skapar du en resursgrupp som innehåller det virtuella nätverket för klustret. För att göra detta behöver du behörigheter som deltagare och administratör för användaråtkomst eller ägarbehörigheter, antingen direkt i det virtuella nätverket eller i resursgruppen eller prenumerationen som innehåller den.
Du behöver också tillräckliga Microsoft Entra-behörigheter (antingen en medlem av klientorganisationen eller en gäst som tilldelats rollen Programadministratör) för att kunna skapa ett program och tjänstens huvudnamn åt dig för klustret. Mer information finns i Medlem och gäster och Tilldela administratörs- och icke-administratörsroller till användare med Microsoft Entra-ID .
Registrera resursprovidrar
Om du har flera Azure-prenumerationer anger du relevant prenumerations-ID:
az account set --subscription <SUBSCRIPTION ID>
Registrera resursprovidern
Microsoft.RedHatOpenShift
:az provider register -n Microsoft.RedHatOpenShift --wait
Registrera resursprovidern
Microsoft.Compute
:az provider register -n Microsoft.Compute --wait
Registrera resursprovidern
Microsoft.Storage
:az provider register -n Microsoft.Storage --wait
Registrera resursprovidern
Microsoft.Authorization
:az provider register -n Microsoft.Authorization --wait
Hämta en Red Hat-pullhemlighet (valfritt)
Kommentar
ARO-pullhemlighet ändrar inte kostnaden för RH OpenShift-licensen för ARO.
Med en Red Hat-pullhemlighet kan klustret komma åt Red Hat-containerregister, tillsammans med annat innehåll, till exempel operatorer från OperatorHub. Det här steget är valfritt men rekommenderas. Om du bestämmer dig för att lägga till pull-hemligheten senare följer du den här vägledningen. Fältet cloud.openshift.com
tas bort från din hemlighet även om pull-hemligheten innehåller det fältet. Det här fältet aktiverar en extra övervakningsfunktion som skickar data till RedHat och därför inaktiveras som standard. Information om hur du aktiverar den här funktionen finns i https://docs.openshift.com/container-platform/4.11/support/remote_health_monitoring/enabling-remote-health-reporting.html .
Gå till Red Hat OpenShift-klusterhanterarens portal och logga in.
Du måste logga in på ditt Red Hat-konto eller skapa ett nytt Red Hat-konto med din företags-e-post och godkänna villkoren.
Välj Hämta pull-hemlighet och ladda ned en pull-hemlighet som ska användas med ditt ARO-kluster.
Skydda den sparade
pull-secret.txt
filen. Filen används i varje kluster som skapas om du behöver skapa ett kluster som innehåller exempel eller operatorer för Red Hat eller certifierade partner.När du kör
az aro create
kommandot kan du referera till din pull-hemlighet med hjälp av parametern--pull-secret @pull-secret.txt
. Köraz aro create
från katalogen där du lagradepull-secret.txt
filen. Annars ersätter du@pull-secret.txt
med@/path/to/my/pull-secret.txt
.Om du kopierar din pull-hemlighet eller refererar till den i andra skript ska pull-hemligheten formateras som en giltig JSON-sträng.
Förbereda en anpassad domän för klustret (valfritt)
När du kör az aro create
kommandot kan du ange en anpassad domän för klustret med hjälp av parametern --domain foo.example.com
.
Kommentar
Även om det är valfritt att lägga till ett domännamn när du skapar ett kluster via Azure CLI, krävs ett domännamn (eller ett prefix som används som en del av det automatiskt genererade DNS-namnet för OpenShift-konsolen och API-servrarna) när du lägger till ett kluster via portalen. Mer information finns i Snabbstart: Distribuera ett Azure Red Hat OpenShift-kluster med hjälp av Azure Portal.
Observera följande om du anger en anpassad domän för klustret:
När du har skapat klustret måste du skapa två DNS A-poster på DNS-servern för den
--domain
angivna:- api – pekar på API-serverns IP-adress
- *.apps – pekar på den inkommande IP-adressen
- Hämta dessa värden genom att köra följande kommando när klustret har skapats:
az aro show -n -g --query '{api:apiserverProfile.ip, ingress:ingressProfiles[0].ip}'
.
OpenShift-konsolen kommer att vara tillgänglig på en URL, till exempel
https://console-openshift-console.apps.example.com
, i stället för den inbyggda domänenhttps://console-openshift-console.apps.<random>.<location>.aroapp.io
.Som standard använder OpenShift självsignerade certifikat för alla vägar som skapats på anpassade domäner
*.apps.example.com
. Om du väljer att använda anpassad DNS när du har anslutit till klustret måste du följa OpenShift-dokumentationen för att konfigurera en anpassad certifikatutfärdare för din ingresskontrollant och en anpassad CA för DIN API-server.
Skapa ett virtuellt nätverk som innehåller två tomma undernät
Därefter skapar du ett virtuellt nätverk som innehåller två tomma undernät. Om du har ett befintligt virtuellt nätverk som uppfyller dina behov kan du hoppa över det här steget.
Information om nätverk och krav finns i Nätverk för Azure Red Hat Openshift.
Ange följande variabler i gränssnittsmiljön där du ska köra kommandona
az
.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
Skapa en resursgrupp.
En Azure-resursgrupp är en logisk grupp där Azure-resurser distribueras och hanteras. När du skapar en resursgrupp uppmanas du att ange en plats. Den här platsen är platsen där resursgruppsmetadata lagras, och det är också där dina resurser körs i Azure om du inte anger en annan region när du skapar resurser. Skapa en resursgrupp med hjälp av kommandot az group create.
Kommentar
Azure Red Hat OpenShift är inte tillgängligt i alla regioner där en Azure-resursgrupp kan skapas. Se Tillgängliga regioner för information om var Azure Red Hat OpenShift stöds.
az group create \ --name $RESOURCEGROUP \ --location $LOCATION
Följande exempelutdata visar den resursgrupp som skapats:
{ "id": "/subscriptions/<guid>/resourceGroups/aro-rg", "location": "eastus", "name": "aro-rg", "properties": { "provisioningState": "Succeeded" }, "type": "Microsoft.Resources/resourceGroups" }
Skapa ett virtuellt nätverk.
Azure Red Hat OpenShift-kluster som kör OpenShift 4 kräver ett virtuellt nätverk med två tomma undernät för huvud- och arbetsnoderna. Du kan antingen skapa ett nytt virtuellt nätverk för detta eller använda ett befintligt virtuellt nätverk.
Skapa ett nytt virtuellt nätverk i samma resursgrupp som du skapade tidigare:
az network vnet create \ --resource-group $RESOURCEGROUP \ --name aro-vnet \ --address-prefixes 10.0.0.0/22
Följande exempelutdata visar det virtuella nätverket som har skapats:
{ "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" } }
Lägg till ett tomt undernät för huvudnoderna.
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --name master-subnet \ --address-prefixes 10.0.0.0/23
Lägg till ett tomt undernät för arbetsnoderna.
az network vnet subnet create \ --resource-group $RESOURCEGROUP \ --vnet-name aro-vnet \ --name worker-subnet \ --address-prefixes 10.0.2.0/23
Skapa klustret
Kör följande kommando för att skapa ett kluster. Om du väljer att använda något av följande alternativ ändrar du kommandot i enlighet med detta:
- Du kan också skicka din Red Hat-pullhemlighet, vilket gör att klustret kan komma åt Red Hat-containerregister tillsammans med annat innehåll. Lägg till argumentet i
--pull-secret @pull-secret.txt
kommandot. - Du kan också använda en anpassad domän. Lägg till argumentet i
--domain foo.example.com
kommandot ochfoo.example.com
ersätt med din egen anpassade domän.
Kommentar
Det maximala antalet arbetsnoder som kan definieras vid skapande är 50. Du kan skala ut upp till 250 noder när klustret har skapats.
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet aro-vnet \
--master-subnet master-subnet \
--worker-subnet worker-subnet
När kommandot har körts az aro create
tar det normalt cirka 45 minuter att skapa ett kluster.
Storskaliga ARO-kluster
Om du vill distribuera ett Azure Red Hat OpenShift-kluster med fler än 100 arbetsnoder kan du läsa distribuera ett stort Azure Red Hat OpenShift-kluster
Välja en annan ARO-version
Du kan välja att använda en specifik version av ARO när du skapar klustret. Använd först CLI för att fråga efter tillgängliga ARO-versioner:
az aro get-versions --location <region>
När du har valt versionen anger du den med hjälp av parametern --version
az aro create
i kommandot:
az aro create \
--resource-group $RESOURCEGROUP \
--name $CLUSTER \
--vnet aro-vnet \
--master-subnet master-subnet \
--worker-subnet worker-subnet \
--version <x.y.z>