Tworzenie klastra prywatnego usługi Azure Red Hat OpenShift 4

W tym artykule przygotujesz środowisko do tworzenia prywatnych klastrów usługi Azure Red Hat OpenShift z systemem OpenShift 4. Omawiane tematy:

  • Konfigurowanie wymagań wstępnych i tworzenie wymaganej sieci wirtualnej i podsieci
  • Wdrażanie klastra z prywatnym punktem końcowym serwera interfejsu API i prywatnym kontrolerem ruchu przychodzącego

Jeśli zdecydujesz się zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten samouczek będzie wymagał interfejsu wiersza polecenia platformy Azure w wersji 2.30.0 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Zanim rozpoczniesz

Rejestrowanie dostawców zasobów

  1. Jeśli masz wiele subskrypcji platformy Azure, określ odpowiedni identyfikator subskrypcji:

    az account set --subscription <SUBSCRIPTION ID>
    
  2. Zarejestruj dostawcę Microsoft.RedHatOpenShift zasobów:

    az provider register -n Microsoft.RedHatOpenShift --wait
    
  3. Zarejestruj dostawcę Microsoft.Compute zasobów (jeśli jeszcze tego nie zrobiono):

    az provider register -n Microsoft.Compute --wait
    
  4. Zarejestruj dostawcę Microsoft.Network zasobów (jeśli jeszcze tego nie zrobiono):

    az provider register -n Microsoft.Network --wait
    
  5. Zarejestruj dostawcę Microsoft.Storage zasobów (jeśli jeszcze tego nie zrobiono):

    az provider register -n Microsoft.Storage --wait
    

Uzyskiwanie wpisu tajnego ściągania oprogramowania Red Hat (opcjonalnie)

Wpis tajny ściągania oprogramowania Red Hat umożliwia klastrowi dostęp do rejestrów kontenerów red hat wraz z dodatkową zawartością. Ten krok jest opcjonalny, ale zalecany.

  1. Przejdź do portalu menedżera klastra Red Hat OpenShift i zaloguj się.

    Musisz zalogować się do konta red hat lub utworzyć nowe konto red hat za pomocą służbowej poczty e-mail i zaakceptować warunki i postanowienia.

  2. Kliknij pozycję Pobierz wpis tajny ściągnięcia.

Zachowaj zapisany pull-secret.txt plik w bezpiecznym miejscu — będzie on używany w każdym tworzeniu klastra.

Podczas uruchamiania polecenia możesz odwołać się do wpisu tajnego az aro create ściągania przy użyciu parametru --pull-secret @pull-secret.txt . Wykonaj polecenie az aro create z katalogu, w którym został zapisany pull-secret.txt plik. W przeciwnym razie zastąp ciąg @pull-secret.txt .@<path-to-my-pull-secret-file

Jeśli kopiujesz klucz tajny ściągnięcia lub odwołujesz się do niego w innych skryptach, klucz tajny ściągania powinien być sformatowany jako prawidłowy ciąg JSON.

Tworzenie sieci wirtualnej zawierającej dwie puste podsieci

Następnie utworzysz sieć wirtualną zawierającą dwie puste podsieci.

  1. Ustaw następujące zmienne.

    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. Tworzenie grupy zasobów

    Grupa zasobów platformy Azure to logiczna grupa przeznaczona do wdrażania zasobów platformy Azure i zarządzania nimi. Podczas tworzenia grupy zasobów użytkownik jest proszony o określenie lokalizacji. W tej lokalizacji są przechowywane metadane grupy zasobów, a także miejsce uruchamiania zasobów na platformie Azure, jeśli nie określisz innego regionu podczas tworzenia zasobu. Utwórz grupę zasobów przy użyciu polecenia [az group create][az-group-create].

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

    Następujące przykładowe dane wyjściowe przedstawiają pomyślnie utworzoną grupę zasobów:

    {
    "id": "/subscriptions/<guid>/resourceGroups/aro-rg",
    "location": "eastus",
    "managedBy": null,
    "name": "aro-rg",
    "properties": {
        "provisioningState": "Succeeded"
    },
    "tags": null
    }
    
  3. Utwórz sieć wirtualną.

    Klastry usługi Azure Red Hat OpenShift z systemem OpenShift 4 wymagają sieci wirtualnej z dwiema pustymi podsieciami dla węzłów głównych i roboczych.

    Utwórz nową sieć wirtualną w tej samej utworzonej wcześniej grupie zasobów.

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

    Następujące przykładowe dane wyjściowe pokazują, że sieć wirtualna została pomyślnie utworzona:

    {
    "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. Dodaj pustą podsieć dla węzłów głównych.

    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. Dodaj pustą podsieć dla węzłów procesu roboczego.

    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. Wyłącz zasady prywatnego punktu końcowego podsieci w podsieci master. Jest to wymagane, aby można było nawiązać połączenie z klastrem i zarządzać nim.

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

Tworzenie klastra

Uruchom następujące polecenie, aby utworzyć klaster. Opcjonalnie możesz przekazać wpis tajny ściągania oprogramowania Red Hat , który umożliwia klastrowi dostęp do rejestrów kontenerów red hat wraz z dodatkową zawartością.

Uwaga

Jeśli używasz poleceń kopiowania/wklejania i używania jednego z parametrów opcjonalnych, usuń początkowe hasztagi i końcowy tekst komentarza. Ponadto zamknij argument w poprzednim wierszu polecenia za pomocą końcowego ukośnika odwrotnego.

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 wykonaniu az aro create polecenia zwykle tworzenie klastra trwa około 35 minut.

Uwaga

Podczas próby utworzenia klastra, jeśli zostanie wyświetlony komunikat o błędzie informujący o przekroczeniu limitu przydziału zasobów, zobacz Dodawanie przydziału do konta usługi ARO , aby dowiedzieć się, jak kontynuować.

Ważne

Jeśli zdecydujesz się określić domenę niestandardową, na przykład foo.example.com, konsola OpenShift będzie dostępna pod adresem URL, takim jak https://console-openshift-console.apps.foo.example.com, zamiast wbudowanej domeny https://console-openshift-console.apps.<random>.<location>.aroapp.io.

Domyślnie usługa OpenShift używa certyfikatów z podpisem własnym dla wszystkich tras utworzonych w usłudze *.apps.<random>.<location>.aroapp.io. W przypadku wybrania niestandardowej usługi DNS po nawiązaniu połączenia z klastrem należy postępować zgodnie z dokumentacją usługi OpenShift, aby skonfigurować certyfikat niestandardowy dla kontrolera ruchu przychodzącego i certyfikat niestandardowy dla serwera interfejsu API.

Tworzenie klastra prywatnego bez publicznego adresu IP (wersja zapoznawcza)

Zazwyczaj klastry prywatne są tworzone przy użyciu publicznego adresu IP i modułu równoważenia obciążenia, zapewniając sposób łączności wychodzącej z innymi usługami. Można jednak utworzyć klaster prywatny bez publicznego adresu IP. Może to być wymagane w sytuacjach, w których wymagania dotyczące zabezpieczeń lub zasad uniemożliwiają korzystanie z publicznych adresów IP.

Ważne

Obecnie ta funkcja usługi Azure Red Hat OpenShift jest oferowana tylko w wersji zapoznawczej. Funkcje w wersji zapoznawczej są dostępne na zasadzie samoobsługi. Wersje zapoznawcze są udostępniane w wersji "as is" i "as available" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi Azure Red Hat OpenShift są częściowo objęte pomocą techniczną w oparciu o najlepsze wysiłki. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego.

Aby utworzyć klaster prywatny bez publicznego adresu IP, zarejestruj się w celu flagi UserDefinedRouting funkcji przy użyciu następującej struktury poleceń:

az feature register --namespace Microsoft.RedHatOpenShift --name UserDefinedRouting

Po zarejestrowaniu flagi funkcji utwórz prywatny klaster ARO.

Włączenie tej opcji routingu zdefiniowanego przez użytkownika uniemożliwia aprowizację publicznego adresu IP. Routing zdefiniowany przez użytkownika (UDR) umożliwia tworzenie tras niestandardowych na platformie Azure w celu zastąpienia domyślnych tras systemowych lub dodania kolejnych tras do tabeli tras podsieci. Aby dowiedzieć się więcej, zobacz Routing ruchu w sieci wirtualnej .

Uwaga

Pamiętaj, aby podczas tworzenia klastra prywatnego określić poprawną podsieć z prawidłowo skonfigurowaną tabelą routingu.

W przypadku ruchu wychodzącego opcja Routing zdefiniowany przez użytkownika zapewnia, że nowo utworzony klaster ma włączoną funkcję blokady ruchu wychodzącego, aby umożliwić zabezpieczanie ruchu wychodzącego z nowego klastra prywatnego. Aby dowiedzieć się więcej, zobacz Kontrolowanie ruchu wychodzącego dla klastra usługi Azure Red Hat OpenShift (ARO) (wersja zapoznawcza).

Nawiązywanie połączenia z klastrem prywatnym

Możesz zalogować się do klastra kubeadmin przy użyciu użytkownika. Uruchom następujące polecenie, aby znaleźć hasło użytkownika kubeadmin .

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

Poniższe przykładowe dane wyjściowe pokazują, że hasło będzie znajdować się w pliku kubeadminPassword.

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

Adres URL konsoli klastra można znaleźć, uruchamiając następujące polecenie, które będzie wyglądać następująco https://console-openshift-console.apps.<random>.<region>.aroapp.io/

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

Ważne

Aby nawiązać połączenie z prywatnym klastrem usługi Azure Red Hat OpenShift, należy wykonać następujący krok z hosta, który znajduje się w utworzonej Virtual Network lub w Virtual Network równorzędnej z Virtual Network, w którym wdrożono klaster.

Uruchom adres URL konsoli w przeglądarce i zaloguj się przy użyciu kubeadmin poświadczeń.

Zrzut ekranu przedstawiający ekran logowania usługi Azure Red Hat OpenShift.

Instalowanie interfejsu wiersza polecenia platformy OpenShift

Po zalogowaniu się do konsoli sieci Web OpenShift kliknij ikonę ? w prawym górnym rogu, a następnie w obszarze Narzędzia wiersza polecenia. Pobierz wydanie odpowiednie dla swojej maszyny.

Obraz przedstawiający ekran logowania usługi Azure Red Hat OpenShift

Możesz również pobrać najnowszą wersję interfejsu wiersza polecenia odpowiedniego dla swojej maszyny.

Nawiązywanie połączenia przy użyciu interfejsu wiersza polecenia platformy OpenShift

Pobierz adres serwera interfejsu API.

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

Ważne

Aby nawiązać połączenie z prywatnym klastrem usługi Azure Red Hat OpenShift, należy wykonać następujący krok z hosta, który znajduje się w utworzonej Virtual Network lub w Virtual Network równorzędnej z Virtual Network, w którym wdrożono klaster.

Zaloguj się do serwera interfejsu API klastra OpenShift przy użyciu następującego polecenia. Zastąp <hasło> kubeadmin właśnie pobranym hasłem.

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

Następne kroki

W tym artykule wdrożono klaster usługi Azure Red Hat OpenShift z systemem OpenShift 4. W tym samouczku omówiono:

  • Konfigurowanie wymagań wstępnych i tworzenie wymaganej sieci wirtualnej i podsieci
  • Wdrażanie klastra
  • Nawiązywanie połączenia z klastrem kubeadmin przy użyciu użytkownika

Przejdź do następnego artykułu, aby dowiedzieć się, jak skonfigurować klaster do uwierzytelniania przy użyciu usługi Azure Active Directory.