Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Kubernetes zapewnia rozproszoną platformę dla konteneryzowanych aplikacji. Tworzenie i wdrażanie własnych aplikacji i usług w klastrze Kubernetes pozwala klastrowi zarządzać dostępnością i łącznością.
W tym samouczku wdrożysz przykładową aplikację w klastrze Kubernetes. Dowiesz się, jak:
- Zaktualizuj plik manifestu platformy Kubernetes.
- Uruchamianie aplikacji na platformie Kubernetes.
- Przetestuj aplikację.
Napiwek
Za pomocą usługi AKS można użyć następujących metod zarządzania konfiguracją:
GitOps: umożliwia automatyczne stosowanie deklaracji stanu klastra do klastra. Aby dowiedzieć się, jak używać metodyki GitOps do wdrażania aplikacji z klastrem usługi AKS, zobacz wymagania wstępne dotyczące klastrów usługi Azure Kubernetes Service w samouczku GitOps z rozwiązaniem Flux w wersji 2 .
Metodyka DevOps: umożliwia tworzenie, testowanie i wdrażanie za pomocą ciągłej integracji i ciągłego dostarczania (CD). Aby zapoznać się z przykładami użycia metodyki DevOps do wdrażania aplikacji z klastrem usługi AKS, zobacz Kompilowanie i wdrażanie w usłudze AKS za pomocą usługi Azure Pipelines lub GitHub Actions na potrzeby wdrażania na platformie Kubernetes.
Zanim rozpoczniesz
W poprzednich samouczkach spakowałeś aplikację do obrazu kontenera, przekazałeś obraz do usługi Azure Container Registry i utworzyłeś klaster Kubernetes. Do ukończenia tego samouczka potrzebny jest wstępnie utworzony aks-store-quickstart.yaml
plik manifestu kubernetes. Ten plik został pobrany z kodu źródłowego aplikacji z Samouczka 1 — Przygotowywanie Aplikacji dla Usługi AKS.
Ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.0.53 lub nowszej. Sprawdź swoją wersję z pomocą az --version
. Aby zainstalować lub uaktualnić, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Aktualizowanie pliku manifestu
W tych samouczkach instancja Azure Container Registry (ACR) przechowuje obrazy kontenerów dla przykładowej aplikacji. Aby wdrożyć aplikację, należy zaktualizować nazwy obrazów w pliku manifestu Kubernetes, aby uwzględnić nazwę serwera logowania ACR.
- Interfejs wiersza polecenia platformy Azure
- Azure PowerShell
- Interfejs wiersza polecenia dla deweloperów platformy Azure
Pobierz adres serwera logowania przy użyciu
az acr list
polecenia i wykonaj zapytanie dotyczące serwera logowania.az acr list --resource-group myResourceGroup --query "[].{acrLoginServer:loginServer}" --output table
Upewnij się, że jesteś w sklonowanym katalogu aks-store-demo , a następnie otwórz plik manifestu
aks-store-quickstart.yaml
za pomocą edytora tekstów.image
Zaktualizuj właściwość kontenerów, zastępując ghcr.io/azure-samples nazwą serwera logowania usługi ACR.containers: ... - name: order-service image: <acrName>.azurecr.io/aks-store-demo/order-service:latest ... - name: product-service image: <acrName>.azurecr.io/aks-store-demo/product-service:latest ... - name: store-front image: <acrName>.azurecr.io/aks-store-demo/store-front:latest ...
Zapisz i zamknij plik.
Uruchamianie aplikacji
Wdróż aplikację przy użyciu
kubectl apply
polecenia , które analizuje plik manifestu i tworzy zdefiniowane obiekty Kubernetes.kubectl apply -f aks-store-quickstart.yaml
Następujące przykładowe dane wyjściowe przedstawiają pomyślnie utworzone zasoby w klastrze usługi AKS:
statefulset.apps/rabbitmq created configmap/rabbitmq-enabled-plugins created service/rabbitmq created deployment.apps/order-service created service/order-service created deployment.apps/product-service created service/product-service created deployment.apps/store-front created service/store-front created
Sprawdź, czy wdrożenie zakończyło się pomyślnie, wyświetlając zasobniki poleceniem
kubectl get pods
.kubectl get pods
Testowanie aplikacji
Podczas uruchamiania aplikacji usługa Kubernetes uwidacznia fronton aplikacji w Internecie. Ten proces może potrwać kilka minut.
Wiersz polecenia
Monitoruj postęp za pomocą
kubectl get service
polecenia z argumentem--watch
.kubectl get service store-front --watch
EXTERNAL-IP
Początkowo dlastore-front
usługi jest wyświetlana wartość<pending>
:store-front LoadBalancer 10.0.34.242 <pending> 80:30676/TCP 5s
EXTERNAL-IP
Gdy adres zmieni się z<pending>
na adres publiczny IP, użyj poleceniaCTRL-C
, aby zatrzymać proces monitorowaniakubectl
.Następujące przykładowe dane wyjściowe przedstawiają prawidłowy publiczny adres IP przypisany do usługi:
store-front LoadBalancer 10.0.34.242 52.179.23.131 80:30676/TCP 67s
Wyświetl aplikację w akcji, otwierając przeglądarkę internetową i przechodząc do zewnętrznego adresu IP usługi:
http://<external-ip>
.
Jeśli aplikacja nie jest ładowana, może to być problem z autoryzacją rejestru obrazów. Aby wyświetlić stan kontenerów, użyj polecenia kubectl get pods
. Jeśli nie możesz ściągnąć obrazów kontenerów, zobacz Uwierzytelnianie za pomocą usługi Azure Container Registry z usługi Azure Kubernetes Service.
Azure Portal
Przejdź do witryny Azure Portal, aby znaleźć informacje o wdrożeniu.
Przejdź do zasobu klastra AKS.
Z menu usługi w obszarze Zasoby Kubernetes wybierz pozycję Usługi i Ingresy.
Skopiuj zewnętrzny adres IP widoczny w kolumnie dla
store-front
usługi.Wklej adres IP w przeglądarce, aby odwiedzić stronę sklepu.
Czyszczenie zasobów
Ponieważ sprawdzono funkcjonalność aplikacji, możesz teraz usunąć klaster z aplikacji. Ponownie wdrożymy aplikację w następnym samouczku.
Zatrzymaj i usuń wystąpienia kontenera oraz zasoby przy użyciu polecenia
kubectl delete
.kubectl delete -f aks-store-quickstart.yaml
Sprawdź, czy wszystkie zasobniki aplikacji zostały usunięte przy użyciu polecenia
kubectl get pods
.kubectl get pods
Następne kroki
W tym samouczku wdrożono przykładową aplikację platformy Azure w klastrze Kubernetes w usłudze AKS. Nauczyłeś się, jak:
- Zaktualizuj plik manifestu platformy Kubernetes.
- Uruchamianie aplikacji na platformie Kubernetes.
- Przetestuj aplikację.
W następnym samouczku dowiesz się, jak korzystać z usług PaaS dla obciążeń stanowych w Kubernetes.
Azure Kubernetes Service