Ćwiczenie — rozwiązywanie problemów z usługą Azure Container Instances
Aby ułatwić zrozumienie podstawowych sposobów rozwiązywania problemów z wystąpieniami kontenerów, wykonaj kilka podstawowych operacji, takich jak:
- Pobieranie dzienników kontenera
- Wyświetlanie zdarzeń związanych z kontenerem
- Dołączanie do wystąpienia kontenera
Pobieranie dzienników z poprzedniego wdrożonego wystąpienia kontenera
Uruchom następujące az container logs
polecenie, aby wyświetlić dane wyjściowe z kontenera aplikacji do głosowania kotów i psów utworzonych w poprzednim ćwiczeniu:
az container logs \
--resource-group learn-deploy-aci-rg \
--name aci-demo
Dane wyjściowe są podobne do następujących:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
Running inside /app/prestart.sh, you could add migrations to this file, e.g.:
#! /usr/bin/env bash
# Let the DB start
sleep 10;
# Run migrations
alembic upgrade head
…
Pobieranie zdarzeń kontenera
Polecenie az container attach
udostępnia informacje diagnostyczne podczas uruchamiania kontenera. Po uruchomieniu kontenera zapisuje ono również standardowe dane wyjściowe i standardowe strumienie błędów w terminalu lokalnym.
Uruchom polecenie az container attach
, aby dołączyć do kontenera:
az container attach \
--resource-group learn-deploy-aci-rg \
--name aci-demo
Dane wyjściowe są podobne do następujących:
Container 'aci-demo' is in state 'Running'...
(count: 1) (last timestamp: 2021-09-21 23:48:14+00:00) pulling image "mcr.microsoft.com/azuredocs/azure-vote-front"
(count: 1) (last timestamp: 2021-09-21 23:49:09+00:00) Successfully pulled image "mcr.microsoft.com/azuredocs/azure-vote-front"
(count: 1) (last timestamp: 2021-09-21 23:49:12+00:00) Created container
(count: 1) (last timestamp: 2021-09-21 23:49:13+00:00) Started container
Start streaming logs:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
…
Napiwek
Naciśnij klawisze Ctrl+C, aby odłączyć się od dołączonego kontenera.
Wykonywanie polecenia w kontenerze
Podczas diagnozowania i rozwiązywania problemów może być konieczne uruchamianie poleceń bezpośrednio w działającym kontenerze.
Aby wyświetlić polecenia w kontenerze, uruchom następujące
az container exec
polecenie, aby uruchomić sesję interaktywną w kontenerze:az container exec \ --resource-group learn-deploy-aci-rg \ --name aci-demo \ --exec-command /bin/sh
W tym momencie efektywnie pracujesz wewnątrz kontenera.
Uruchom polecenie
ls
, aby wyświetlić zawartość katalogu roboczego.# ls __pycache__ config_file.cfg main.py prestart.sh static templates uwsgi.ini
Jeśli chcesz, możesz dalej eksplorować system. Gdy wszystko będzie gotowe, uruchom polecenie
exit
, aby zatrzymać sesję interaktywną.
Monitorowanie użycia procesora i pamięci na kontenerze
Zobacz, jak monitorować użycie procesora CPU i pamięci w kontenerze.
Uruchom następujące
az container show
polecenie, aby uzyskać identyfikator wystąpienia kontenera platformy Azure i zapisać identyfikator w zmiennej powłoki Bash:CONTAINER_ID=$(az container show \ --resource-group learn-deploy-aci-rg \ --name aci-demo \ --query id \ --output tsv)
Uruchom polecenie ,
az monitor metrics list
aby pobrać informacje o użyciu procesora CPU:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics CPUUsage \ --output table
Zanotuj argument
--metrics
. W tym miejscu element CPUUsage określa, że należy pobrać użycie procesora.Zostanie wyświetlony tekst podobny do następujących danych wyjściowych:
Timestamp Name Average ------------------- ------------ ----------- 2021-09-21 23:39:00 CPU Usage 2021-09-21 23:40:00 CPU Usage 2021-09-21 23:41:00 CPU Usage 2021-09-21 23:42:00 CPU Usage 2021-09-21 23:43:00 CPU Usage 0.375 2021-09-21 23:44:00 CPU Usage 0.875 2021-09-21 23:45:00 CPU Usage 1 2021-09-21 23:46:00 CPU Usage 3.625 2021-09-21 23:47:00 CPU Usage 1.5 2021-09-21 23:48:00 CPU Usage 2.75 2021-09-21 23:49:00 CPU Usage 1.625 2021-09-21 23:50:00 CPU Usage 0.625 2021-09-21 23:51:00 CPU Usage 0.5 2021-09-21 23:52:00 CPU Usage 0.5 2021-09-21 23:53:00 CPU Usage 0.5
Uruchom to
az monitor metrics list
polecenie, aby pobrać informacje o użyciu pamięci:az monitor metrics list \ --resource $CONTAINER_ID \ --metrics MemoryUsage \ --output table
W tym miejscu określono wartość MemoryUsage dla argumentu
--metrics
w celu pobrania informacji o użyciu pamięci.Zostanie wyświetlony tekst podobny do następujących danych wyjściowych:
Timestamp Name Average ------------------- ------------ ----------- 2021-09-21 23:43:00 Memory Usage 2021-09-21 23:44:00 Memory Usage 0.0 2021-09-21 23:45:00 Memory Usage 15917056.0 2021-09-21 23:46:00 Memory Usage 16744448.0 2021-09-21 23:47:00 Memory Usage 16842752.0 2021-09-21 23:48:00 Memory Usage 17190912.0 2021-09-21 23:49:00 Memory Usage 17506304.0 2021-09-21 23:50:00 Memory Usage 17702912.0 2021-09-21 23:51:00 Memory Usage 17965056.0 2021-09-21 23:52:00 Memory Usage 18509824.0 2021-09-21 23:53:00 Memory Usage 18649088.0 2021-09-21 23:54:00 Memory Usage 18845696.0 2021-09-21 23:55:00 Memory Usage 19181568.0
W witrynie Azure Portal informacje o użyciu procesora CPU i pamięci usługi Azure Container Instances wyglądają następująco:
Czyszczenie zasobów
W tym module zostały utworzone zasoby przy użyciu Twojej subskrypcji platformy Azure. Należy wyczyścić te zasoby, aby nie były naliczane opłaty za nie.
Na stronie głównej platformy Azure wybierz pozycję Wszystkie zasoby.
Znajdź grupę zasobów o nazwie learn-deploy-aci-rg (lub innej użytej przez Ciebie) i wybierz ją.
Na karcie Przegląd grupy zasobów wybierz pozycję Usuń grupę zasobów.
Zostanie otwarte nowe okno dialogowe. Ponownie wprowadź nazwę grupy zasobów i wybierz pozycję Usuń. Wszystkie zasoby utworzone w tym module zostaną usunięte.