Wdrożenia automatyczne dla Azure Kubernetes Service (AKS)

** Wdrożenia automatyczne usprawniają proces konfigurowania akcji GitHub lub potoku Azure DevOps, co ułatwia tworzenie potoku ciągłego wdrożenia aplikacji do Azure Kubernetes Service (AKS). Po nawiązaniu połączenia, każde nowe zatwierdzenie automatycznie uruchamia potok, co umożliwia bezproblemowe dostarczanie aktualizacji do Twojej aplikacji. Możesz przynieść własne pliki wdrożeniowe do szybkiego tworzenia potoku lub wygenerować Dockerfile oraz manifesty Kubernetes, aby utworzyć kontenery i wdrażać niekontenerowe aplikacje przy minimalnym nakładzie pracy.

Wymagania wstępne

Nawiązywanie połączenia z repozytorium kodu źródłowego

Utwórz zautomatyzowany przepływ pracy wdrażania i autoryzuj go w celu nawiązania połączenia z żądanym repozytorium kodu źródłowego.

  1. W portalu Azure przejdź do zasobu klastra AKS.
  2. Z menu usługi w obszarze Ustawienia wybierz pozycję Automatyczne wdrożenia>Utwórz.
  3. W obszarze Szczegóły repozytorium wprowadź nazwę przepływu pracy, a następnie wybierz GitHub lub ADO dla lokalizacji repozytorium.
  4. Wybierz pozycję Autoryzuj dostęp , aby nawiązać połączenie z żądanym repozytorium.
  5. Wybierz repozytorium i gałąź, a następnie wybierz pozycję Dalej.

Wybieranie konfiguracji obrazu kontenera

Aby przygotować aplikację dla platformy Kubernetes, należy ją skompilować w obraz kontenera i zapisać w rejestrze kontenerów. Plik Dockerfile służy do udostępniania instrukcji dotyczących sposobu kompilowania obrazu kontenera. Jeśli repozytorium kodu źródłowego nie ma jeszcze pliku Dockerfile, automatyczne wdrożenia mogą generować je dla Ciebie. W przeciwnym razie możesz użyć istniejącego pliku Dockerfile.

Użyj zautomatyzowanych wdrożeń, aby wygenerować plik Dockerfile dla wielu języków i struktur, takich jak Go, C#, Node.js, Python, Java, Gradle, Clojure, PHP, Ruby, Erlang, Swift i Rust. Obsługa języka jest oparta na tym, co jest dostępne w draft.sh.

  1. Wybierz Auto-konteneryzacja (generowanie pliku Docker) dla konfiguracji kontenera.
  2. Wybierz lokalizację miejsca zapisania wygenerowanego pliku Dockerfile w repozytorium.
  3. Wybierz środowisko aplikacji z listy obsługiwanych języków i struktur.
  4. Wprowadź port aplikacji.
  5. Podaj ścieżkę kontekstu kompilacji pliku Dockerfile .
  6. Wybierz istniejącą Azure Container Registry lub utwórz nową. Ten rejestr służy do przechowywania utworzonego obrazu aplikacji.

Wybieranie konfiguracji manifestu platformy Kubernetes

Uwaga / Notatka

Opcja Generuj manifesty obsługuje również zaawansowane funkcje, takie jak integracja łącznika usługi, automatycznie generowane zasoby Ingress i bardziej szczegółowe, konfigurowalne pliki manifestu Kubernetes.

Aplikacja działająca na platformie Kubernetes składa się z wielu podstawowych składników platformy Kubernetes. Te składniki opisują obraz kontenera do użycia, liczbę replik do uruchomienia, jeśli istnieje publiczny adres IP wymagany do uwidocznienia aplikacji itp. Aby uzyskać więcej informacji, zobacz oficjalną dokumentację platformy Kubernetes. Jeśli repozytorium kodu źródłowego nie ma jeszcze podstawowych manifestów platformy Kubernetes do wdrożenia, automatyczne wdrożenia mogą je wygenerować. W przeciwnym razie można użyć zestawu istniejących manifestów. Możesz również wybrać istniejący wykres helm.

Jeśli repozytorium kodu ma już plik Dockerfile, możesz go wybrać, aby użyć go do skompilowania obrazu aplikacji.

  1. Wybierz pozycję Użyj istniejących plików wdrożenia manifestu platformy Kubernetes dla opcji wdrażania.
  2. Wybierz plik manifestu Kubernetes lub folder z repozytorium.
  3. Wybierz Dalej.

Użyj (opcjonalnie) zarządzanego ingressu i/lub łącznika usługi

Podczas generowania manifestów platformy Kubernetes za pomocą wdrożeń automatycznych można opcjonalnie włączyć routing aplikacji w celu skonfigurowania kontrolera ruchu przychodzącego dla aplikacji. Możesz również użyć łącznika usługi, aby utworzyć nowe połączenie lub bezproblemowo zintegrować aplikację z istniejącym zapleczem usługi Azure.

Routing aplikacji zapewnia w pełni zarządzany kontroler ruchu przychodzącego opartego na protokole NGINX, wraz z wbudowanym szyfrowaniem SSL/TLS przy użyciu certyfikatów przechowywanych w Azure Key Vault i zarządzaniu strefami DNS za pośrednictwem Azure DNS. W przypadku korzystania z Automatycznych Wdrożeń polecenie expose ingress bezproblemowo integruje się z App Routing, co umożliwia łatwe udostępnienie aplikacji na ruch zewnętrzny pod bezpieczną, niestandardową nazwą DNS — przy minimalnej konfiguracji.

  1. Wybierz pole Uwidaczniaj ruch przychodzący .
  2. Wybierz między istniejącym kontrolerem ruchu przychodzącego lub nowym kontrolerem ruchu przychodzącego.
  3. Wybierz między użyciem włączonego protokołu SSL/TLS lub niezabezpieczonego kontrolera ruchu przychodzącego.
  4. (Opcjonalnie) Wprowadź szczegóły certyfikatu, jeśli wybierzesz kontroler wejściowy z włączoną obsługą SSL/TLS.
  5. Wybierz między użyciem Azure DNS lub dostawcy innej firmy.
  6. Wprowadź nazwę Azure DNS Zone i Nazwa poddomeny.

(Opcjonalnie) Dodawanie zmiennych środowiskowych

Zdefiniuj zmienne środowiskowe dla kontenera na platformie Kubernetes, określając pary name-value. Zmienne środowiskowe są ważne, ponieważ ułatwiają zarządzanie ustawieniami, bezpieczną obsługę poufnych informacji i elastyczność w środowiskach.

Przeglądanie konfiguracji i wdrażanie

Przejrzyj konfigurację aplikacji i manifestów platformy Kubernetes, a następnie wybierz pozycję Wdróż. Żądanie ściągnięcia (pull request, PR) zostanie wygenerowane względem wybranego repozytorium, więc nie opuszczaj strony wdrożenia.

Przeglądanie i scalanie żądania ściągnięcia

Gdy wdrożenie zakończy się pomyślnie, wybierz pozycję Wyświetl żądanie ściągnięcia , aby wyświetlić szczegóły wygenerowanego żądania ściągnięcia w repozytorium kodu.

Zrzut ekranu pull request na GitHub.

  1. Przejrzyj zmiany w obszarze Pliki zmienione i wprowadź żądane zmiany.
  2. Wybierz pozycję Scal pull request, aby połączyć zmiany w swoim repozytorium kodu.

Scalanie zmian uruchamia przepływ pracy GitHub Actions, który tworzy aplikację w formie obrazu kontenera, przechowuje go w Azure Container Registry i wdraża w ramach klastra.

Zrzut ekranu przedstawiający przepływ pracy GitHub Actions w trakcie.

Sprawdzanie wdrożonych zasobów

Po zakończeniu potoku możesz przejrzeć utworzone Service Kubernetes w portalu Azure, wybierając pozycję Usługi i Ingressy w sekcji zasobów Kubernetes menu usługi.

Zrzut ekranu przedstawiający okienko Usługi i Wejścia.

Wybranie zewnętrznego adresu IP powinno otworzyć nową stronę przeglądarki z uruchomioną aplikacją.

Zrzut ekranu przedstawiający uruchomioną aplikację Contoso Air.

Usuwanie zasobów

Po zakończeniu pracy z klastrem wykonaj następujące kroki, aby go usunąć, aby uniknąć naliczania opłat Azure:

  1. W portalu Azure przejdź do Automated deployments
  2. Wybierz pozycję ... w wybranym potoku.
  3. Wybierz Usuń.