Udostępnij przez


Szybki start: wdrażanie klastra usługi Azure Kubernetes Service (AKS) przy użyciu interfejsu wiersza polecenia dla deweloperów platformy Azure

Azure Kubernetes Service (AKS) to zarządzana usługa platformy Kubernetes, która umożliwia szybkie wdrażanie klastrów i zarządzanie nimi. Z tego przewodnika Szybki start dowiesz się, jak wykonywać następujące zadania:

  • Pobierz i zainstaluj interfejs wiersza polecenia dla deweloperów platformy Azure (azd).
  • Klonowanie aplikacji z szablonu interfejsu wiersza polecenia dewelopera platformy Azure (azd szablon).
  • Wdrażanie klastra usługi AKS przy użyciu interfejsu wiersza polecenia dla deweloperów platformy Azure (azd).
  • Uruchom przykładową aplikację z wieloma kontenerami z grupą mikrousług, która symuluje aplikację detaliczną.
  • Usuń i wyczyść kontenery utworzone z szablonu azd .

Uwaga

Aby rozpocząć szybkie aprowizowanie klastra usługi AKS, ten artykuł zawiera kroki wdrażania klastra z ustawieniami domyślnymi tylko do celów ewaluacyjnych. Przed wdrożeniem klastra gotowego do produkcji zalecamy zapoznanie się z naszą architekturą referencyjną punktu odniesienia, aby wziąć pod uwagę, jak jest ona zgodna z wymaganiami biznesowymi.

Zanim rozpoczniesz

Ten szybki start zakłada podstawową znajomość pojęć związanych z Kubernetes. Aby uzyskać więcej informacji, zobacz temat Kubernetes core concepts for Azure Kubernetes Service (AKS) (Kubernetes — podstawowe pojęcia dotyczące usługi Azure Kubernetes Service (AKS)).

Przeglądanie kodu aplikacji

Kod aplikacji można przejrzeć w repozytorium GitHub Azure-Samples/aks-store-demo.

Aplikacja Szybki start obejmuje następujące wdrożenia i usługi Kubernetes:

Diagram przedstawiający przykładową architekturę sklepu Azure Store.

  • Front sklepu: aplikacja internetowa dla klientów do wyświetlania produktów i składania zamówień.
  • Usługa produktu: wyświetla informacje o produkcie.
  • Usługa zamówień: składa zamówienia.
  • Rabbit MQ: kolejka komunikatów dla kolejki zamówień.

Uwaga

Nie zalecamy uruchamiania kontenerów stanowych, takich jak Rabbit MQ, bez trwałego magazynu do użytku produkcyjnego. Są one używane tutaj dla uproszczenia, ale zalecamy używanie usług zarządzanych, takich jak Azure Cosmos DB lub Azure Service Bus.

Klonowanie szablonu interfejsu wiersza polecenia dla deweloperów platformy Azure

  1. Sklonuj szablon demonstracyjny sklepu AKS z repozytorium Azure-Samples przy użyciu polecenia azd init z parametrem --template.

    azd init --template Azure-Samples/aks-store-demo
    
  2. Wprowadź nazwę środowiska dla projektu, która używa tylko znaków alfanumerycznych i łączników, takich jak aks-azdqs-1.

    Enter a new environment name: aks-azdqs-1
    

Zaloguj się do konta usługi Azure Cloud

Szablon azd zawiera cały kod potrzebny do utworzenia usług, ale musisz zalogować się do konta platformy Azure, aby hostować aplikację w usłudze AKS.

  1. Zaloguj się do swojego konta przy użyciu azd auth login polecenia .

    azd auth login
    
  2. Skopiuj kod urządzenia wyświetlany w danych wyjściowych i naciśnij Enter, aby się zalogować.

    Start by copying the next code: XXXXXXXXX
    Then press enter and continue to log in from your browser...
    

    Ważne

    Jeśli używasz maszyny wirtualnej spoza sieci lub GitHub Codespace, niektóre zasady zabezpieczeń Azure powodują konflikty podczas logowania się za pomocą azd auth login. Jeśli napotkasz problem, możesz skorzystać z poniższego obejścia uwierzytelniania azd, które polega na użyciu curl żądania do adresu URL lokalnego hosta, na który zostałeś przekierowany po wykonaniu [azd auth login][az-auth-login].

  3. Uwierzytelnij się za pomocą swoich poświadczeń na stronie logowania organizacji.

  4. Upewnij się, że próbujesz nawiązać połączenie z poziomu interfejsu wiersza polecenia platformy Azure.

  5. Sprawdź komunikat "Ukończono uwierzytelnianie kodu urządzenia. Zalogowano się na platformie Azure. Pojawi się w oryginalnym terminalu.

    Waiting for you to complete authentication in the browser...
    Device code authentication completed.
    Logged in to Azure.
    

obejście dla autoryzacji azd

To obejście wymaga zainstalowania Azure CLI.

  1. Otwórz okno terminalu i zaloguj się do Azure CLI, używając polecenia az login z parametrem --scope ustawionym na https://graph.microsoft.com/.default.

    az login --scope https://graph.microsoft.com/.default
    

    Należy przekierować do strony uwierzytelniania na nowej karcie, aby utworzyć token dostępu przeglądarki, jak pokazano w poniższym przykładzie:

    https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?clientid=<your_client_id>.
    
  2. Skopiuj adres URL hosta lokalnego odebranej strony internetowej po próbie zalogowania się przy użyciu polecenia azd auth login.

  3. W nowym oknie terminalu użyj następującego curl żądania, aby się zalogować. Upewnij się, że symbol zastępczy został zastąpiony <localhost> adresem URL hosta lokalnego skopiowany w poprzednim kroku.

    curl <localhost>
    

    Pomyślne zalogowanie zwraca stronę internetową HTML, jak pokazano w poniższym przykładzie:

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <meta http-equiv="refresh" content="60;url=https://docs.microsoft.com/cli/azure/">
        <title>Login successfully</title>
        <style>
            body {
                font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            }
    
            code {
                font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace;
                display: inline-block;
                background-color: rgb(242, 242, 242);
                padding: 12px 16px;
                margin: 8px 0px;
            }
        </style>
    </head>
    <body>
        <h3>You have logged into Microsoft Azure!</h3>
        <p>You can close this window, or we will redirect you to the <a href="https://docs.microsoft.com/cli/azure/">Azure CLI documentation</a> in 1 minute.</p>
        <h3>Announcements</h3>
        <p>[Windows only] Azure CLI is collecting feedback on using the <a href="https://learn.microsoft.com/windows/uwp/security/web-account-manager">Web Account Manager</a> (WAM) broker for the login experience.</p>
        <p>You may opt-in to use WAM by running the following commands:</p>
        <code>
            az config set core.allow_broker=true<br>
            az account clear<br>
            az login
        </code>
    </body>
    </html>
    
  4. Zamknij bieżący terminal i otwórz oryginalny terminal. Powinna zostać wyświetlona lista JSON subskrypcji.

  5. id Skopiuj pole subskrypcji, której chcesz użyć.

  6. Ustaw subskrypcję przy użyciu az account set polecenia .

    az account set --subscription <subscription_id>
    

Tworzenie i wdrażanie zasobów dla klastra

azd uruchamia wszystkie haki wewnątrz azd-hooks folderu , aby wstępnie wyrejestrować, aprowizować i wdrożyć usługi aplikacji.

Szablon azd dla tego przewodnika Szybki start tworzy nową grupę zasobów z klastrem usługi AKS i magazynem kluczy platformy Azure. Magazyn kluczy przechowuje wpisy tajne klienta i uruchamia usługi w pets przestrzeni nazw

  1. Utwórz wszystkie zasoby aplikacji przy użyciu azd up polecenia .

    azd up
    
  2. Wybierz subskrypcję platformy Azure na potrzeby użycia rozliczeń.

    ? Select an Azure Subscription to use:  [Use arrows to move, type to filter]
    > 1. My Azure Subscription (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
    
  3. Wybierz region, w którym chcesz wdrożyć aplikację.

    Select an Azure location to use:  [Use arrows to move, type to filter]
      1.  (South America) Brazil Southeast (brazilsoutheast)
      2.  (US) Central US (centralus)
      3.  (US) East US (eastus)
    > 43. (US) East US 2 (eastus2)
      4.  (US) East US STG (eastusstg)
      5.  (US) North Central US (northcentralus)
      6.  (US) South Central US (southcentralus)
    

    azd automatycznie uruchamia polecenia przedprowizowania i poprowizowania w celu utworzenia zasobów dla aplikacji. Ten proces może potrwać kilka minut. Po zakończeniu powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

    SUCCESS: Your workflow to provision and deploy to Azure completed in 9 minutes 40 seconds.
    

Testowanie aplikacji

Podczas uruchamiania aplikacji usługa Kubernetes uwidacznia fronton aplikacji w Internecie. Ten proces może potrwać kilka minut. Aby zarządzać klastrem Kubernetes, użyj klienta wiersza polecenia kubernetes kubectl. kubectl program jest już zainstalowany podczas programu azd up.

  1. Ustaw przestrzeń nazw pets jako demonstracyjną, używając polecenia kubectl set-context.

    kubectl config set-context --current --namespace=pets
    
  2. Sprawdź stan wdrożonych zasobników przy użyciu kubectl get pods polecenia . Przed kontynuowaniem upewnij się, że wszystkie zasobniki są Running gotowe.

    kubectl get pods
    
  3. Sprawdź publiczny adres IP aplikacji sklepu i monitoruj postęp przy użyciu polecenia kubectl get service z argumentem --watch.

    kubectl get service store-front --watch
    

    Dane wyjściowe EXTERNAL-IP dla store-front usługi początkowo są wyświetlane jako oczekujące:

    NAME          TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
    store-front   LoadBalancer   10.0.100.10   <pending>     80:30025/TCP   4h4m
    
  4. Gdy adres EXTERNAL-IP zmieni się z oczekiwanie na rzeczywisty publiczny adres IP, użyj CTRL-C , aby zatrzymać proces obserwacjikubectl.

    Następujące przykładowe dane wyjściowe pokazują prawidłowy publiczny adres IP przypisany do usługi:

    NAME          TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)        AGE
    store-front   LoadBalancer   10.0.100.10   20.62.159.19   80:30025/TCP   4h5m
    
  5. Otwórz przeglądarkę internetową na zewnętrzny adres IP usługi, aby zobaczyć działanie aplikacji ze Sklepu Azure.

    Zrzut ekranu przedstawiający przykładową aplikację sklepu AKS Store.

Usuwanie klastra

Po zakończeniu pracy z przewodnikiem Szybki start wyczyść niepotrzebne zasoby, aby uniknąć opłat za platformę Azure.

  1. Usuń wszystkie zasoby utworzone w krótkim przewodniku przy użyciu polecenia azd down.

    azd down
    
  2. Potwierdź decyzję o usunięciu wszystkich używanych zasobów z subskrypcji, wpisując y i naciskając Enter.

    ? Total resources to delete: 14, are you sure you want to continue? (y/N)
    
  3. Zezwól oczyszczaniu na ponowne użycie zmiennych szybkiego startu, jeśli ma to zastosowanie, wpisując y i naciskając Enter.

    [Warning]: These resources have soft delete enabled allowing them to be recovered for a period or time after deletion. During this period, their names may not be reused. In the future, you can use the argument --purge to skip this confirmation.
    
    ? Would you like to permanently delete these resources instead, allowing their names to be reused? (y/N)
    

    Po usunięciu zasobów powinny zostać wyświetlone dane wyjściowe podobne do następującego przykładu:

    SUCCESS: Your application was removed from Azure in 14 minutes 30 seconds.
    

Uwaga

Ta przykładowa aplikacja służy do celów demonstracyjnych i nie reprezentuje wszystkich najlepszych rozwiązań dla aplikacji Kubernetes. Aby uzyskać wskazówki dotyczące tworzenia pełnych rozwiązań za pomocą usługi AKS dla środowiska produkcyjnego, zobacz Wskazówki dotyczące rozwiązania AKS.

Następne kroki

W tym przewodniku Szybki start wdrożono klaster Kubernetes, a następnie wdrożono w nim prostą aplikację z wieloma kontenerami. Ta przykładowa aplikacja służy tylko do celów demonstracyjnych i nie reprezentuje wszystkich najlepszych rozwiązań dla aplikacji Kubernetes. Aby uzyskać wskazówki dotyczące tworzenia pełnych rozwiązań za pomocą usługi AKS dla środowiska produkcyjnego, zobacz Wskazówki dotyczące rozwiązania AKS.

Aby dowiedzieć się więcej na temat usługi AKS i zapoznać się z kompletnym przykładem kodu do wdrożenia, przejdź do samouczka dotyczącego klastra Kubernetes.