Vytvoření privátního clusteru Azure Red Hat OpenShift 4

V tomto článku připravíte své prostředí na vytvoření privátních clusterů Azure Red Hat OpenShift se systémem OpenShift 4. Získáte následující informace:

  • Nastavení požadavků a vytvoření požadované virtuální sítě a podsítí
  • Nasazení clusteru s koncovým bodem privátního serveru API a kontrolerem privátního příchozího přenosu dat

Pokud se rozhodnete nainstalovat a používat rozhraní příkazového řádku místně, musíte mít Azure CLI verze 2.30.0 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Než začnete

Registrace poskytovatelů prostředků

  1. Pokud máte více předplatných Azure, zadejte příslušné ID předplatného:

    az account set --subscription <SUBSCRIPTION ID>
    
  2. Zaregistrujte Microsoft.RedHatOpenShift poskytovatele prostředků:

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Microsoft.Compute Zaregistrujte poskytovatele prostředků (pokud jste to ještě neudělali):

    az provider register -n Microsoft.Compute --wait
    
  4. Microsoft.Network Zaregistrujte poskytovatele prostředků (pokud jste to ještě neudělali):

    az provider register -n Microsoft.Network --wait
    
  5. Microsoft.Storage Zaregistrujte poskytovatele prostředků (pokud jste to ještě neudělali):

    az provider register -n Microsoft.Storage --wait
    

Získání tajného kódu pro přijetí změn z Red Hatu (volitelné)

Tajný kód pro vyžádání obsahu Red Hat umožňuje clusteru přistupovat k registrům kontejnerů Red Hat spolu s dalším obsahem. Tento krok je volitelný, ale doporučuje se.

  1. Přejděte na portál správce clusteru Red Hat OpenShift a přihlaste se.

    Budete se muset přihlásit ke svému účtu Red Hat nebo vytvořit nový účet Red Hat pomocí firemního e-mailu a přijmout podmínky a ujednání.

  2. Klikněte na Stáhnout tajný kód pro přijetí změn.

Uchovávejte uložený pull-secret.txt soubor někde v bezpečí – použije se při každém vytvoření clusteru.

Při spuštění az aro create příkazu můžete pomocí parametru odkazovat na tajný kód vyžádané --pull-secret @pull-secret.txt replikace. Spusťte az aro create soubor z adresáře, do kterého jste soubor uložili pull-secret.txt . V opačném případě nahraďte @pull-secret.txt .@<path-to-my-pull-secret-file

Pokud kopírujete tajný kód pro přijetí změn nebo na něj odkazujete v jiných skriptech, měl by být tajný kód pro vyžádání naformátovaný jako platný řetězec JSON.

Vytvoření virtuální sítě obsahující dvě prázdné podsítě

Dále vytvoříte virtuální síť obsahující dvě prázdné podsítě.

  1. Nastavte následující proměnné.

    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. Vytvoření skupiny prostředků

    Skupina prostředků Azure je logická skupina, ve které se nasazují a spravují prostředky Azure. Když vytvoříte skupinu prostředků, zobrazí se výzva k zadání umístění. V tomto umístění jsou uložená metadata skupiny prostředků, a to i tam, kde se vaše prostředky spouštějí v Azure, pokud během vytváření prostředků nezadáte jinou oblast. Vytvořte skupinu prostředků pomocí příkazu [az group create][az-group-create].

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

    Následující příklad výstupu ukazuje, že skupina prostředků byla úspěšně vytvořena:

    {
    "id": "/subscriptions/<guid>/resourceGroups/aro-rg",
    "location": "eastus",
    "managedBy": null,
    "name": "aro-rg",
    "properties": {
        "provisioningState": "Succeeded"
    },
    "tags": null
    }
    
  3. Vytvořte virtuální síť.

    Clustery Azure Red Hat OpenShift se systémem OpenShift 4 vyžadují pro hlavní a pracovní uzly virtuální síť se dvěma prázdnými podsítěmi.

    Vytvořte novou virtuální síť ve stejné skupině prostředků, kterou jste vytvořili dříve.

    az network vnet create \
    --resource-group $RESOURCEGROUP \
    --name aro-vnet \
    --address-prefixes 10.0.0.0/22
    

    Následující příklad výstupu ukazuje úspěšné vytvoření virtuální sítě:

    {
    "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. Přidejte prázdnou podsíť pro hlavní uzly.

    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. Přidejte prázdnou podsíť pro pracovní uzly.

    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. Zakažte zásady privátního koncového bodu podsítě v hlavní podsíti. To je potřeba k tomu, aby bylo možné se připojit a spravovat cluster.

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

Vytvoření clusteru

Spuštěním následujícího příkazu vytvořte cluster. Volitelně můžete předat tajný kód pro vyžádání obsahu Red Hat, který clusteru umožňuje přístup k registrům kontejnerů Red Hat spolu s dalším obsahem.

Poznámka:

Pokud kopírujete nebo vkládáte příkazy a používáte některý z volitelných parametrů, nezapomeňte odstranit počáteční hashtagy a text koncového komentáře. Také zavřete argument na předchozím řádku příkazu pomocí koncového zpětného lomítka.

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]

Po spuštění az aro create příkazu obvykle trvá přibližně 35 minut vytvoření clusteru.

Poznámka:

Pokud se při pokusu o vytvoření clusteru zobrazí chybová zpráva s informací, že došlo k překročení kvóty prostředků, přečtěte si téma Přidání kvóty k účtu ARO, kde se dozvíte, jak pokračovat.

Důležité

Pokud se rozhodnete zadat vlastní doménu, například foo.example.com, bude konzola OpenShift k dispozici na adrese URL, například https://console-openshift-console.apps.foo.example.com, místo předdefinované domény https://console-openshift-console.apps.<random>.<location>.aroapp.io.

Ve výchozím nastavení OpenShift používá certifikáty podepsané svým držitelem pro všechny trasy vytvořené na *.apps.<random>.<location>.aroapp.io. Pokud po připojení ke clusteru zvolíte Vlastní DNS, budete muset postupovat podle dokumentace OpenShiftu a nakonfigurovat vlastní certifikát pro kontroler příchozího přenosu dat a vlastní certifikát pro váš server rozhraní API.

Vytvoření privátního clusteru bez veřejné IP adresy

Privátní clustery se obvykle vytvářejí s veřejnou IP adresou a nástrojem pro vyrovnávání zatížení a poskytují prostředky pro odchozí připojení k jiným službám. Privátní cluster ale můžete vytvořit bez veřejné IP adresy. To se může vyžadovat v situacích, kdy požadavky na zabezpečení nebo zásady zakazují používání veřejných IP adres.

Pokud chcete vytvořit privátní cluster bez veřejné IP adresy, postupujte podle výše uvedeného postupu a přidejte parametr --outbound-type UserDefinedRouting do příkazu, jak je znázorněno v následujícím příkladu aro create :

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

Poznámka:

Příznak UserDefinedRouting lze použít pouze při vytváření clusterů s --apiserver-visibility Private parametry.--ingress-visibility Private Ujistěte se, že používáte nejnovější Azure CLI. Clustery nasazené pomocí Azure CLI 2.52.0 a starší se nasadí s veřejnými IP adresami.

Tato možnost směrování definovaná uživatelem zabraňuje zřízení veřejné IP adresy. Uživatelem definované směrování (UDR) umožňuje vytvářet vlastní trasy v Azure k přepsání výchozích systémových tras nebo přidání dalších tras do směrovací tabulky podsítě. Další informace najdete v tématu Směrování provozu virtuální sítě.

Důležité

Při vytváření privátního clusteru nezapomeňte zadat správnou podsíť se správně nakonfigurovanou směrovací tabulkou.

U výchozích přenosů zajišťuje možnost směrování definované uživatelem, že nově vytvořený cluster má povolenou funkci uzamčení výchozího přenosu, která umožňuje zabezpečit odchozí provoz z nového privátního clusteru. Další informace najdete v tématu Řízení výchozího přenosu dat pro cluster Azure Red Hat OpenShift (ARO).

Poznámka:

Pokud zvolíte typ sítě Definované uživatelem, zodpovídáte za správu výchozího přenosu dat směrování vašeho clusteru mimo vaši virtuální síť (například získání přístupu k veřejnému internetu). Azure Red Hat OpenShift to za vás nemůže spravovat.

Můžete nakonfigurovat jednu nebo více IP adres výchozího přenosu dat do oboru názvů nebo konkrétní pody v oboru názvů privátního clusteru bez veřejné IP adresy. Postupujte podle výše uvedeného postupu a vytvořte privátní cluster bez veřejné IP adresy a pak nakonfigurujte výstupní IP adresu podle tohoto dokumentu Red Hat OpenShift. Tyto výchozí IP adresy musí být z podsítí přidružených ke clusteru ARO.

Konfigurace výchozí IP adresy privátního clusteru ARO je podporována pouze pro clustery s parametrem --outbound-type UserDefinedRouting . Nepodporuje se u veřejných clusterů ARO, které mají --outbound-type LoadBalancer parametr.

Připojení k privátnímu clusteru

Ke clusteru se můžete přihlásit pomocí kubeadmin uživatele. Spuštěním následujícího příkazu vyhledejte heslo uživatele kubeadmin .

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

Následující příklad výstupu ukazuje, že heslo bude v kubeadminPassword.

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

Adresu URL konzoly clusteru najdete spuštěním následujícího příkazu, který bude vypadat takto: https://console-openshift-console.apps.<random>.<region>.aroapp.io/

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

Důležité

Pokud se chcete připojit k privátnímu clusteru Azure Red Hat OpenShift, musíte provést následující krok z hostitele, který je ve virtuální síti, kterou jste vytvořili, nebo ve virtuální síti, která je v partnerském vztahu s virtuální sítí, do které byl cluster nasazený.

Spusťte adresu URL konzoly v prohlížeči a přihlaste se pomocí přihlašovacích kubeadmin údajů.

Screenshot that shows the Azure Red Hat OpenShift login screen.

Instalace rozhraní příkazového řádku OpenShift

Po přihlášení do webové konzoly OpenShift klikněte na tlačítko ? v pravém horním rohu a pak na Nástroje příkazového řádku. Stáhněte si verzi odpovídající vašemu počítači.

Image shows Azure Red Hat OpenShift login screen

Můžete si také stáhnout nejnovější verzi rozhraní příkazového řádku odpovídající vašemu počítači.

Připojení pomocí Rozhraní příkazového řádku OpenShift

Načtěte adresu serveru rozhraní API.

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

Důležité

Pokud se chcete připojit k privátnímu clusteru Azure Red Hat OpenShift, musíte provést následující krok z hostitele, který je ve virtuální síti, kterou jste vytvořili, nebo ve virtuální síti, která je v partnerském vztahu s virtuální sítí, do které byl cluster nasazený.

Pomocí následujícího příkazu se přihlaste k serveru rozhraní API clusteru OpenShift. Nahraďte <heslo> kubeadmin heslem, které jste právě získali.

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

Další kroky

V tomto článku byl nasazen cluster Azure Red Hat OpenShift se systémem OpenShift 4. Naučili jste se:

  • Nastavení požadavků a vytvoření požadované virtuální sítě a podsítí
  • Nasazení clusteru
  • Připojení ke clusteru pomocí kubeadmin uživatele

V dalším článku se dozvíte, jak nakonfigurovat cluster pro ověřování pomocí ID Microsoft Entra.