Etykiety wdrożeniowe w Azure Container Apps

Etykiety wdrożenia ułatwiają przypisywanie znaczących nazw, takich jak dev, etap testowy lub produkcja, do konkretnych wersji kontenera. Po zastosowaniu tych nazw usprawniasz obsługę złożonych scenariuszy wdrażania i zarządzania środowiskiem.

Za pomocą etykiet wdrożenia można wykonywać następujące czynności:

  • Przypisz jasne, opisowe etykiety do poprawek.
  • Automatycznie przypisz nowe poprawki do etykiet na potrzeby routingu i zarządzania ruchem.
  • Routowanie ruchu w oparciu o etykiety zamiast zmieniania nazw wersji.
  • Awansowanie lub degradacja poprawek poprzez przypisywanie nowych etykiet.
  • Wycofaj poprzednie poprawki przy użyciu historii etykiet.

Ważne

Przed rozpoczęciem korzystania z etykiet wdrożenia należy wykonać kroki, aby najpierw włączyć etykiety wdrożenia w portalu dla aplikacji kontenera.

Kluczowe funkcje

Etykiety wdrażania umożliwiają tworzenie zaawansowanych strategii wdrażania przy zachowaniu kontroli nad cyklem życia aplikacji przy użyciu następujących funkcji:

  • Przypisywanie etykiet: tworzenie i przypisywanie znaczących etykiet do wersji kontenerów, co ułatwia zarządzanie środowiskami, takimi jak dev, staging i produkcja.

  • Testowanie podziału ruchu i A/B: obsługa podziału ruchu, wycofywania ślepego i testowania A/B umożliwia stopniowe wdrażanie i testowanie nowych funkcji.

  • Przejściowe wersje i zamiana automatyczna: automatyczna aktywacja poprawek umożliwia bezproblemowe tworzenie nowych poprawek i przypisywanie ich do nowych lub istniejących etykiet w celu odbierania ruchu. Wszystkie wersje, do których nie odwołuje się etykieta, są zamykane automatycznie.

Użyj etykiet wdrożenia

Domyślnie etykiety wdrożenia nie są dostępne dla aplikacji kontenerowych. Aby włączyć etykiety wdrożenia, wykonaj następujące kroki w witrynie Azure Portal:

  1. Otwórz aplikację kontenera w witrynie Azure Portal.

  2. Z menu w sekcji Aplikacja wybierz pozycję Poprawki i repliki.

  3. Wybierz Tryb wdrażania.

  4. Wybierz kolumnę Etykiety wdrożenia .

  5. Wybierz i zastosuj.

Tworzenie nowej etykiety

Utwórz nowe etykiety w portalu na podstawie istniejących etykiet. Domyślnie usługa Container Apps tworzy pierwszą etykietę o nazwie label-1. Podczas tworzenia etykiet za pomocą interfejsu wiersza polecenia lub Bicep można je skojarzyć z dowolną istniejącą poprawką lub nową poprawką.

  1. Otwórz aplikację kontenera w witrynie Azure Portal.

  2. Z menu w sekcji Aplikacja wybierz pozycję Etykiety.

  3. Wybierz pozycję Nowa etykieta.

  4. Wybierz istniejącą etykietę, na bazie której chcesz stworzyć nową etykietę.

  5. Wprowadź nową nazwę etykiety w polu tekstowym.

  6. Wybierz pozycję Duplikuj.

Historia etykiet i wycofywanie

Pełną historię etykiety można wyświetlić, wykonując następujące kroki:

  1. Otwórz aplikację kontenera w witrynie Azure Portal.

  2. Z menu w obszarze Aplikacja wybierz pozycję Etykiety.

  3. Wybierz pozycję Pokaż historię dla interesującej Cię etykiety.

Użyj opcji Pokaż historię dla dowolnej etykiety, aby:

  • Przejrzyj historię poprawek etykiety.
  • Cofnij do poprzedniej wersji, wskazując etykietę na inną rewizję kontenera.

Użyj etykiet wdrożenia

Aby włączyć etykiety wdrożenia, wykonaj następujące kroki w interfejsie wiersza polecenia platformy Azure:

  1. Otwórz terminal.

  2. Utwórz następujące zmienne środowiskowe.

     CONTAINER_APP_NAME="my-container-app"
     CONTAINER_APP_IMAGE="mcr.microsoft.com/k8se/quickstart:latest"
     LOCATION="centralus"
     RESOURCE_GROUP="my-container-apps-rg"
     ENVIRONMENT_NAME="my-container-apps-env"
     TARGET_LABEL="stage"
    
  3. Użyj następującego polecenia, aby utworzyć nową aplikację i poprawkę z etykietą:

    az containerapp create \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --image $CONTAINER_APP_IMAGE \
    --environment $ENVIRONMENT_NAME \
    --location $LOCATION \
    --ingress external \
    --target-port 0 \
    --revisions-mode labels \
    --target-label $TARGET_LABEL
    
  4. Aby utworzyć nową poprawkę z nową lub istniejącą etykietą, użyj następującego polecenia:

    az containerapp update \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --image $CONTAINER_APP_IMAGE \
    --target-label $TARGET_LABEL
    
  5. Aby wyświetlić historię etykiet, użyj następującego polecenia:

    az containerapp label-history show \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --label $TARGET_LABEL
    
  6. Aby wyświetlić ruch aplikacji etykiet, użyj następującego polecenia:

    az containerapp ingress traffic show \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    
  7. Aby dodać etykietę do poprawki, użyj następujących poleceń:

    az containerapp revision label add \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --revision $REVISION_NAME \
    --label $TARGET_LABEL
    
  8. Aby usunąć etykietę z poprawki, użyj następujących poleceń:

    az containerapp revision label remove \
    --name $CONTAINER_APP_NAME \
    --resource-group $RESOURCE_GROUP \
    --label $TARGET_LABEL
    

Obsługiwane scenariusze

  • Wdrożenia niebiesko-zielone: Łatwe zarządzanie wdrożeniami niebiesko-zielonymi przez etykietowanie i przełączanie między wersjami. Takie podejście zapewnia prosty sposób obsługi pełnych zamian środowiska.

  • Testowanie A/B: Przekierowanie procentu ruchu do różnych wariantów w celu testowania funkcji. Ta praktyka umożliwia zweryfikowanie nowych funkcji z podzbiorem użytkowników przed pełnym wdrożeniem.

  • Etapowe wprowadzanie: Stopniowo zwiększaj ruch do nowej wersji, dostosowując procenty ruchu.

  • Izolacja środowiska: używaj etykiet do utrzymania oddzielnych środowisk deweloperskich, testowych i produkcyjnych. Każde środowisko można aktualizować niezależnie przy zachowaniu jasnej ścieżki podwyższania poziomu.

Przykład przepływu pracy

Oto typowy przepływ pracy z wykorzystaniem etykiet wdrożeniowych:

  1. Tworzenie etykiet początkowych: utwórz etykiety, takie jak "stage" i "production", wskazujące początkowo tę samą poprawkę.

  2. Zaktualizuj etykietę: wybierz etykietę (na przykład "etap"), aby zaktualizować ją przy użyciu nowych kontenerów, skalowania lub ustawień woluminu.

  3. Przetestuj zmiany: po wdrożeniu nowej poprawki należy skierować część ruchu do zaktualizowanej etykiety.

  4. Wprowadź zmiany: Jeśli jesteś pewien/a wprowadzonych zmian, zaktualizuj etykietę produkcyjną, aby wskazywała tę samą rewizję.

  5. Monitorowanie i wycofywanie w razie potrzeby: jeśli wystąpią problemy, użyj historii etykiet, aby przywrócić poprzednią wersję.

Etykiety poprawek