Latihan - Memecahkan Masalah Azure Container Instances

Selesai

Untuk membantu Anda memahami cara dasar untuk memecahkan masalah instans kontainer, lakukan beberapa operasi dasar seperti:

  • Menarik log kontainer
  • Menampilkan kejadian kontainer
  • Melampirkan ke instans kontainer

Mendapatkan log dari instans kontainer Anda yang disebarkan sebelumnya

Jalankan perintah berikut az container logs untuk melihat output dari kontainer aplikasi voting kucing dan anjing yang Anda buat di latihan sebelumnya:

az container logs \
  --resource-group learn-deploy-aci-rg \
  --name aci-demo

Anda mendapatkan output yang mirip dengan:

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
…

Mendapatkan kejadian kontainer

Perintah az container attach menyediakan informasi diagnostik selama startup kontainer. Setelah kontainer dimulai, kontainer juga menulis output standar dan aliran kesalahan standar ke terminal lokal Anda.

Jalankan az container attach untuk melampirkan ke kontainer Anda:

az container attach \
  --resource-group learn-deploy-aci-rg \
  --name aci-demo

Anda mendapatkan output yang mirip dengan:

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
…

Tip

Masukkan Ctrl+C untuk memutuskan sambungan dari kontainer terlampir Anda.

Menjalankan perintah di kontainer Anda

Saat mendiagnosis dan memecahkan masalah, Anda mungkin perlu menjalankan perintah langsung di kontainer yang sedang berjalan.

  1. Untuk melihat perintah di kontainer Anda, jalankan perintah berikut az container exec untuk memulai sesi interaktif pada kontainer Anda:

    az container exec \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo \
      --exec-command /bin/sh
    

    Pada titik ini, Anda bekerja secara efektif di dalam kontainer.

  2. Jalankan perintah ls untuk menampilkan konten direktori yang bekerja.

    # ls
    __pycache__  config_file.cfg  main.py  prestart.sh  static  templates  uwsgi.ini
    
  3. Anda dapat menjelajahi sistem lebih lanjut jika mau. Ketika selesai, jalankan perintah exit untuk menghentikan sesi interaktif.

Memantau penggunaan CPU dan memori di kontainer Anda

Lihat cara memantau penggunaan CPU dan memori pada kontainer Anda.

  1. Jalankan perintah berikut az container show untuk mendapatkan ID instans kontainer Azure Anda dan simpan ID dalam variabel Bash:

    CONTAINER_ID=$(az container show \
      --resource-group learn-deploy-aci-rg \
      --name aci-demo \
      --query id \
      --output tsv)
    
  2. Jalankan az monitor metrics list perintah untuk mengambil informasi penggunaan CPU:

    az monitor metrics list \
      --resource $CONTAINER_ID \
      --metrics CPUUsage \
      --output table
    

    Perhatikan argumen --metrics. Di sini, CPUUsage menentukan untuk mengambil penggunaan CPU.

    Anda melihat teks yang mirip dengan output berikut:

    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
    
  3. Jalankan perintah ini az monitor metrics list untuk mengambil informasi penggunaan memori:

    az monitor metrics list \
      --resource $CONTAINER_ID \
      --metrics MemoryUsage \
      --output table
    

    Di sini, Anda menentukan MemoryUsage untuk --metrics argumen untuk mengambil informasi penggunaan memori.

    Anda melihat teks yang mirip dengan output berikut:

    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
    

Dalam portal Azure, CPU Azure Container Instances dan informasi penggunaan memori terlihat seperti ini:

Screenshot that shows the Azure portal view of Azure Container Instances CPU and memory usage information.

Membersihkan sumber daya

Dalam modul ini, Anda membuat sumber daya dengan menggunakan langganan Azure. Anda harus membersihkan sumber daya ini sehingga Anda tidak tetap dikenakan biaya untuk sumber daya tersebut.

  1. Di halaman beranda Azure, pilih Semua sumber daya.

  2. Temukan grup sumber daya learn-deploy-aci-rg, atau nama grup sumber daya lain yang Anda gunakan, dan pilih.

  3. Pada tab Ringkasan grup sumber daya, pilih Hapus grup sumber daya.

  4. Kotak dialog baru terbuka. Ketik nama grup sumber daya lagi, lalu pilih Hapus. Semua sumber daya yang kami buat dalam modul ini dihapus.