Wdrażanie aplikacji
W tym artykule opisano sposób wdrażania konteneryzowanej aplikacji w klastrze Kubernetes.
Wymagania wstępne
Aby rozpocząć pracę, skonfiguruj pojedynczą maszynę Kubernetes lub pełny klaster Kubernetes .
Wdrażanie przykładowej aplikacji systemu Linux
Krok 1. Aktualizowanie pliku manifestu
W tym artykule użyto przykładowej aplikacji, która jest prostą aplikacją do głosowania składającą się z frontonu i zaplecza, która jest oparta na obrazie platformy Azure-vote-front firmy Microsoft. Obraz kontenera dla tej aplikacji jest hostowany na Azure Container Registry (ACR). Zobacz linux-sample.yaml w pakiecie repozytorium GitHub dla manifestu wdrożenia. W języku YAML określiliśmy nodeSelector
tag jako Linux.
Krok 2. Wdrażanie aplikacji
Aby wdrożyć aplikację, użyj polecenia kubectl apply. To polecenie analizuje plik manifestu i tworzy zdefiniowane obiekty usługi Kubernetes. Określ plik manifestu YAML, jak pokazano w poniższym przykładzie:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Krok 3. Weryfikowanie zasobników
Poczekaj kilka minut, aż zasobniki będą w stanie uruchomienia :
kubectl get pods -o wide
Krok 4. Weryfikowanie usług
Aby monitorować postęp, użyj polecenia kubectl get services z parametrem --watch
:
kubectl get services
EXTERNAL-IP
Początkowo element dla azure-vote-front
usługi jest wyświetlany jako pending
.
EXTERNAL-IP
Gdy adres zmieni się z pending
rzeczywistego publicznego adresu IP, możesz użyć adresu IP przypisanego do usługi.
Ważne
W przypadku klastrów pojedynczej maszyny, jeśli klaster Kubernetes został wdrożony bez określenia parametru -ServiceIPRangeSize
, nie będziesz mieć przydzielonych adresów IP dla usług obciążeń i nie będziesz mieć zewnętrznego adresu IP. W takim przypadku znajdź adres IP maszyny wirtualnej z systemem Linux (Get-AksEdgeNodeAddr
):
Get-AksEdgeNodeAddr -NodeType Linux
Teraz możesz dołączyć port zewnętrzny do adresu IP maszyny wirtualnej (na przykład 192.168.1.12:30432).
Krok 5. Testowanie aplikacji
Aby wyświetlić działającą aplikację, otwórz zewnętrzny adres IP usługi w przeglądarce internetowej:
Jeśli aplikacja nie zostanie załadowana, może to być spowodowane problemem z autoryzacją w rejestrze obrazów. Aby wyświetlić stan kontenerów, użyj polecenia kubectl get pods
. Jeśli nie można pobrać obrazów kontenera, zobacz Uwierzytelnianie przy użyciu Azure Container Registry z Azure Kubernetes Service.
Krok 6. Usuwanie aplikacji
Aby wyczyścić, usuń wszystkie zasoby przy użyciu następującego polecenia:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Wdrażanie przykładowej aplikacji systemu Windows w klastrze
W tym przykładzie jest uruchamiana przykładowa aplikacja ASP.NET oparta na przykładowym obrazie firmy Microsoft. Zobacz win-sample.yaml. YaML określa nodeSelector
tag jako system Windows.
Krok 1. Wdrożenie aplikacji przez określenie nazwy manifestu YAML
Upewnij się, że jesteś w katalogu YAML w oknie programu PowerShell, a następnie uruchom następujące polecenie:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Krok 2. Sprawdź, czy przykładowy zasobnik jest uruchomiony
Może upłynąć trochę czasu, aby zasobnik osiągnął stan działania, w zależności od połączenia internetowego. Obraz ASP.NET jest duży:
kubectl get pods -o wide
Krok 3. Sprawdzenie, czy przykładowa usługa jest uruchomiona
kubectl get services
Ponieważ ten przykład jest wdrażany jako usługa typu NodePort, możesz pobrać adres IP węzła Kubernetes, na którym działa aplikacja, a następnie dołączyć port węzła NodePort. Pobierz adres IP węzła Kubernetes przy użyciu następującego Get-AksEdgeNodeAddr
polecenia:
Get-AksEdgeNodeAddr -NodeType Windows
Krok 4. Weryfikowanie uruchomionego przykładu systemu Windows
Otwórz przeglądarkę internetową i znajdź węzeł NodePort , aby uzyskać dostęp do usługi:
Krok 5. Czyszczenie
Aby wyczyścić, usuń wszystkie zasoby przy użyciu następującego polecenia:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Wdrażanie własnych aplikacji
W poprzednich krokach pokazano, jak można wdrożyć nasze przykładowe aplikacje. Aby wdrożyć własną aplikację, wykonaj następujące czynności:
Spakuj aplikację do obrazu kontenera, a następnie przekaż obraz do Azure Container Registry lub w wybranym rejestrze kontenerów. Zapoznaj się z tymi krokami, aby utworzyć obraz kontenera aplikacji.
Usługa AKS Edge Essentials umożliwia klastry mieszane systemu operacyjnego. Upewnij się, że zasobniki są zaplanowane na węzłach przy użyciu odpowiedniego systemu operacyjnego. Dodaj
nodeSelector
do plików wdrożenia. Ta opcja informuje platformę Kubernetes o uruchomieniu zasobników w węzłach określonego systemu operacyjnego. Jeśli klaster jest pojedynczym systemem operacyjnym, możesz pominąć ten krok; ale w celu uzyskania najlepszych rozwiązań oznacz każdy plik wdrożenia selektorami węzłów:nodeSelector: "kubernetes.io/os": linux
nodeSelector: "kubernetes.io/os": windows