Skapa ett privat Azure Red Hat OpenShift 4-kluster

I den här artikeln förbereder du din miljö för att skapa privata Azure Red Hat OpenShift-kluster som kör OpenShift 4. Du lär dig att:

  • Konfigurera förutsättningarna och skapa det nödvändiga virtuella nätverket och undernäten
  • Distribuera ett kluster med en privat API-serverslutpunkt och en privat ingresskontrollant

Om du väljer att installera och använda CLI lokalt kräver den här självstudien att du kör Azure CLI version 2.30.0 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Innan du börjar

Registrera resursprovidrar

  1. Om du har flera Azure-prenumerationer anger du relevant prenumerations-ID:

    az account set --subscription <SUBSCRIPTION ID>
    
  2. Registrera resursprovidern Microsoft.RedHatOpenShift :

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Registrera resursprovidern Microsoft.Compute (om du inte redan har gjort det):

    az provider register -n Microsoft.Compute --wait
    
  4. Registrera resursprovidern Microsoft.Network (om du inte redan har gjort det):

    az provider register -n Microsoft.Network --wait
    
  5. Registrera resursprovidern Microsoft.Storage (om du inte redan har gjort det):

    az provider register -n Microsoft.Storage --wait
    

Hämta en Red Hat-pullhemlighet (valfritt)

Med en Red Hat-pullhemlighet kan klustret komma åt Red Hat-containerregister tillsammans med ytterligare innehåll. Det här steget är valfritt men rekommenderas.

  1. 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.

  2. Klicka på Hämta pull-hemlighet.

Skydda den sparade pull-secret.txt filen – den används i varje klusterskapande.

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ör az aro create från katalogen där du lagrade pull-secret.txt filen. Annars ersätter du @pull-secret.txt med @<path-to-my-pull-secret-file.

Om du kopierar din pull-hemlighet eller refererar till den i andra skript ska pull-hemligheten formateras som en giltig JSON-sträng.

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.

  1. Ange följande variabler.

    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
    
  2. 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. På den här platsen lagras resursgruppsmetadata. Det är också där dina resurser körs i Azure om du inte anger någon annan region när du skapar resurser. Skapa en resursgrupp med kommandot [az group create][az-group-create] .

    az group create --name $RESOURCEGROUP --location $LOCATION
    

    Följande exempelutdata visar den resursgrupp som skapats:

    {
    "id": "/subscriptions/<guid>/resourceGroups/aro-rg",
    "location": "eastus",
    "managedBy": null,
    "name": "aro-rg",
    "properties": {
        "provisioningState": "Succeeded"
    },
    "tags": null
    }
    
  3. 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.

    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"
        ]
        },
        "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"
    }
    }
    
  4. 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 \
    --service-endpoints Microsoft.ContainerRegistry
    
  5. 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 \
    --service-endpoints Microsoft.ContainerRegistry
    
  6. Inaktivera principer för privata undernätsslutpunkter i huvudundernätet. Detta krävs för att kunna ansluta och hantera klustret.

    az network vnet subnet update \
    --name master-subnet \
    --resource-group $RESOURCEGROUP \
    --vnet-name aro-vnet \
    --disable-private-link-service-network-policies true
    

Skapa klustret

Kör följande kommando för att skapa ett kluster. Du kan också skicka din Red Hat-pullhemlighet som gör att klustret kan komma åt Red Hat-containerregister tillsammans med ytterligare innehåll.

Kommentar

Om du kopierar/klistrar in kommandon och använder någon av de valfria parametrarna ska du ta bort de första hashtaggarna och den avslutande kommentarstexten. Stäng även argumentet på föregående rad i kommandot med ett avslutande omvänt snedstreck.

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]

När kommandot har körts az aro create tar det normalt cirka 35 minuter att skapa ett kluster.

Kommentar

Om du får ett felmeddelande om att din resurskvot har överskridits när du försöker skapa ett kluster kan du läsa Lägga till kvot till ARO-konto för att lära dig hur du fortsätter.

Viktigt!

Om du väljer att ange en anpassad domän, till exempel foo.example.com, blir OpenShift-konsolen tillgänglig på en URL som https://console-openshift-console.apps.foo.example.com, i stället för den inbyggda domänen https://console-openshift-console.apps.<random>.<location>.aroapp.io.

Som standard använder OpenShift självsignerade certifikat för alla vägar som skapats på *.apps.<random>.<location>.aroapp.io. Om du väljer Anpassad DNS måste du följa OpenShift-dokumentationen när du har anslutit till klustret för att konfigurera ett anpassat certifikat för ingresskontrollanten och det anpassade certifikatet för API-servern.

Skapa ett privat kluster utan en offentlig IP-adress

Vanligtvis skapas privata kluster med en offentlig IP-adress och en lastbalanserare, vilket ger ett sätt att ansluta ut till andra tjänster. Du kan dock skapa ett privat kluster utan en offentlig IP-adress. Detta kan krävas i situationer där säkerhets- eller principkrav förbjuder användning av offentliga IP-adresser.

Om du vill skapa ett privat kluster utan en offentlig IP-adress följer du proceduren ovan och lägger till parametern --outbound-type UserDefinedRoutingaro create i kommandot, som i följande exempel:

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

Kommentar

Flaggan UserDefinedRouting kan bara användas när du skapar kluster med --apiserver-visibility Private och --ingress-visibility Private parametrar. Se till att du använder den senaste Azure CLI. Kluster som distribueras med Azure CLI 2.52.0 och äldre distribueras med offentliga IP-adresser.

Det här alternativet för användardefinierad routning förhindrar att en offentlig IP-adress etableras. Med användardefinierad routning (UDR) kan du skapa anpassade vägar i Azure för att åsidosätta standardsystemvägarna eller lägga till fler vägar i ett undernäts routningstabell. Mer information finns i Trafikdirigering för virtuella nätverk.

Viktigt!

Se till att ange rätt undernät med den korrekt konfigurerade routningstabellen när du skapar ditt privata kluster.

För utgående trafik ser alternativet Användardefinierad routning till att det nyligen skapade klustret har funktionen för utgående låsning aktiverad så att du kan skydda utgående trafik från ditt nya privata kluster. Mer information finns i Kontrollera utgående trafik för ditt Azure Red Hat OpenShift-kluster (ARO).

Kommentar

Om du väljer nätverkstypen Användardefinierad routning är du helt ansvarig för att hantera utgående av klustrets routning utanför det virtuella nätverket (till exempel att få åtkomst till offentligt Internet). Azure Red Hat OpenShift kan inte hantera detta åt dig.

Du kan konfigurera en eller flera utgående IP-adresser till ett namnområde eller till specifika poddar i ett namnområde i ett privat kluster utan offentlig IP-adress. För att göra det följer du proceduren ovan för att skapa ett privat kluster utan en offentlig IP-adress och konfigurerar sedan utgående IP enligt det här Red Hat OpenShift-dokumentet. Dessa utgående IP-adresser måste komma från de undernät som är associerade med ARO-klustret.

Konfiguration av en utgående IP-adress för ett privat ARO-kluster stöds endast för kluster med parametern --outbound-type UserDefinedRouting . Det stöds inte för offentliga ARO-kluster som har parametern --outbound-type LoadBalancer .

Anslut till det privata klustret

Du kan logga in på klustret med hjälp av kubeadmin användaren. Kör följande kommando för att hitta lösenordet för kubeadmin användaren.

az aro list-credentials \
  --name $CLUSTER \
  --resource-group $RESOURCEGROUP

I följande exempelutdata visas lösenordet i kubeadminPassword.

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

Du hittar klusterkonsolens URL genom att köra följande kommando, som ser ut så här https://console-openshift-console.apps.<random>.<region>.aroapp.io/

 az aro show \
    --name $CLUSTER \
    --resource-group $RESOURCEGROUP \
    --query "consoleProfile.url" -o tsv

Viktigt!

För att kunna ansluta till ett privat Azure Red Hat OpenShift-kluster måste du utföra följande steg från en värd som antingen finns i det virtuella nätverk som du skapade eller i ett virtuellt nätverk som är peer-kopplat till det virtuella nätverk som klustret distribuerades till.

Starta konsolens URL i en webbläsare och logga in med autentiseringsuppgifterna kubeadmin .

Screenshot that shows the Azure Red Hat OpenShift login screen.

Installera OpenShift CLI

När du har loggat in på OpenShift-webbkonsolen klickar du på ? längst upp till höger och sedan på Kommandoradsverktyg. Ladda ned den version som är lämplig för datorn.

Image shows Azure Red Hat OpenShift login screen

Du kan också ladda ned den senaste versionen av CLI som är lämplig för din dator.

Anslut med Hjälp av OpenShift CLI

Hämta API-serverns adress.

apiServer=$(az aro show -g $RESOURCEGROUP -n $CLUSTER --query apiserverProfile.url -o tsv)

Viktigt!

För att kunna ansluta till ett privat Azure Red Hat OpenShift-kluster måste du utföra följande steg från en värd som antingen finns i det virtuella nätverk som du skapade eller i ett virtuellt nätverk som är peer-kopplat till det virtuella nätverk som klustret distribuerades till.

Logga in på OpenShift-klustrets API-server med hjälp av följande kommando. Ersätt <kubeadmin-lösenordet> med det lösenord som du nyss hämtade.

oc login $apiServer -u kubeadmin -p <kubeadmin password>

Nästa steg

I den här artikeln distribuerades ett Azure Red Hat OpenShift-kluster som kör OpenShift 4. Du har lärt dig att:

  • Konfigurera förutsättningarna och skapa det nödvändiga virtuella nätverket och undernäten
  • Distribuera ett kluster
  • Anslut till klustret med hjälp av kubeadmin användaren

Gå vidare till nästa artikel för att lära dig hur du konfigurerar klustret för autentisering med hjälp av Microsoft Entra-ID.