Ćwiczenie — rozwiązywanie problemów z usługą Azure Container Instances
Aby lepiej zrozumieć podstawowe sposoby rozwiązywania problemów z wystąpieniami kontenerów, w tym miejscu wykonasz kilka podstawowych operacji, takich jak:
- Pobieranie dzienników kontenera
- Wyświetlanie zdarzeń związanych z kontenerem
- Dołączanie do wystąpienia kontenera
Tworzenie kontenera
Uruchom następujące polecenie az container create
, aby utworzyć podstawowy kontener.
az container create \
--resource-group learn-deploy-aci-rg \
--name mycontainer \
--image microsoft/sample-aks-helloworld \
--ports 80 \
--ip-address Public \
--location eastus
Obraz microsoft/sample-aks-helloworld uruchamia serwer internetowy, który wyświetla podstawową stronę internetową.
Pobieranie dzienników z wystąpienia kontenera
Uruchom następujące polecenie az container logs
, aby wyświetlić dane wyjściowe z aplikacji uruchamianej w kontenerze.
az container logs \
--resource-group learn-deploy-aci-rg \
--name mycontainer
Zostaną wyświetlone dane wyjściowe podobne do poniższych.
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
w celu dołączenia do kontenera.
az container attach \
--resource-group learn-deploy-aci-rg \
--name mycontainer
Zostaną wyświetlone dane wyjściowe podobne do poniższych.
Container 'mycontainer' is in state 'Running'...
(count: 1) (last timestamp: 2018-09-21 23:48:14+00:00) pulling image "microsoft/sample-aks-helloworld"
(count: 1) (last timestamp: 2018-09-21 23:49:09+00:00) Successfully pulled image "microsoft/sample-aks-helloworld"
(count: 1) (last timestamp: 2018-09-21 23:49:12+00:00) Created container
(count: 1) (last timestamp: 2018-09-21 23:49:13+00:00) Started container
Start streaming logs:
Checking for script in /app/prestart.sh
Running script /app/prestart.sh
Porada
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 zobaczyć, jak to działa, uruchom następujące polecenie
az container exec
w celu uruchomienia interaktywnej sesji na kontenerze.az container exec \ --resource-group learn-deploy-aci-rg \ --name mycontainer \ --exec-command /bin/sh
Na tym etapie w rzeczywistości pracujesz wewnątrz kontenera.
Uruchom polecenie
ls
, aby wyświetlić zawartość katalogu roboczego.# ls __pycache__ 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
Poniżej pokazano, jak monitorować użycie procesora i pamięci na kontenerze.
Uruchom następujące polecenie
az container show
, aby uzyskać identyfikator wystąpienia kontenera platformy Azure i przechowywać go w zmiennej powłoki Bash.CONTAINER_ID=$(az container show \ --resource-group learn-deploy-aci-rg \ --name mycontainer \ --query id \ --output tsv)
Uruchom polecenie
az monitor metrics list
, aby pobrać informacje o użyciu procesora.az monitor metrics list \ --resource $CONTAINER_ID \ --metric CPUUsage \ --output table
Zanotuj argument
--metric
. W tym miejscu element CPUUsage określa, że należy pobrać użycie procesora.Zobaczysz dane wyjściowe podobne do poniższych.
Timestamp Name Average ------------------- ------------ ----------- 2018-08-20 21:39:00 CPU Usage 2018-08-20 21:40:00 CPU Usage 2018-08-20 21:41:00 CPU Usage 2018-08-20 21:42:00 CPU Usage 2018-08-20 21:43:00 CPU Usage 0.375 2018-08-20 21:44:00 CPU Usage 0.875 2018-08-20 21:45:00 CPU Usage 1 2018-08-20 21:46:00 CPU Usage 3.625 2018-08-20 21:47:00 CPU Usage 1.5 2018-08-20 21:48:00 CPU Usage 2.75 2018-08-20 21:49:00 CPU Usage 1.625 2018-08-20 21:50:00 CPU Usage 0.625 2018-08-20 21:51:00 CPU Usage 0.5 2018-08-20 21:52:00 CPU Usage 0.5 2018-08-20 21:53:00 CPU Usage 0.5
Uruchom to polecenie
az monitor metrics list
, aby pobrać informacje dotyczące użycia pamięci.az monitor metrics list \ --resource $CONTAINER_ID \ --metric MemoryUsage \ --output table
W tym miejscu możesz określić element MemoryUsage dla argumentu
--metric
, aby pobrać informacje o użyciu pamięci.Zobaczysz dane wyjściowe podobne do poniższych.
Timestamp Name Average ------------------- ------------ ----------- 2018-08-20 21:43:00 Memory Usage 2018-08-20 21:44:00 Memory Usage 0.0 2018-08-20 21:45:00 Memory Usage 15917056.0 2018-08-20 21:46:00 Memory Usage 16744448.0 2018-08-20 21:47:00 Memory Usage 16842752.0 2018-08-20 21:48:00 Memory Usage 17190912.0 2018-08-20 21:49:00 Memory Usage 17506304.0 2018-08-20 21:50:00 Memory Usage 17702912.0 2018-08-20 21:51:00 Memory Usage 17965056.0 2018-08-20 21:52:00 Memory Usage 18509824.0 2018-08-20 21:53:00 Memory Usage 18649088.0 2018-08-20 21:54:00 Memory Usage 18845696.0 2018-08-20 21:55:00 Memory Usage 19181568.0
Czyszczenie zasobów
W tym module zostały utworzone zasoby przy użyciu Twojej subskrypcji platformy Azure. Chcesz wyczyścić te zasoby, aby nie ponosić dłużej za nie opłat.
Na platformie Azure wybierz pozycję Grupy zasobów po lewej stronie.
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.
Spowoduje to otwarcie nowego okna dialogowego. Ponownie wpisz nazwę grupy zasobów i wybierz pozycję Usuń. Spowoduje to usunięcie wszystkich zasobów utworzonych w tym module.
Potrzebujesz pomocy? Zobacz nasz przewodnik po rozwiązywaniu problemów lub prześlij szczegółową opinię, zgłaszając problem.