Bagikan melalui


Tutorial: Menyebarkan grup multi-kontainer menggunakan file YAML

Azure Container Instances mendukung penyebaran beberapa kontainer ke satu host menggunakan grup kontainer. Grup kontainer berguna saat membuat sidecar aplikasi untuk pengelogan, pemantauan, atau konfigurasi lainnya di mana layanan memerlukan proses terpasang kedua.

Dalam tutorial ini, Anda mengikuti langkah-langkah untuk menjalankan konfigurasi sidecar dua kontainer dengan menyebarkan file YAML menggunakan Azure CLI. File YAML menyediakan format ringkas untuk menentukan pengaturan instans. Anda akan mempelajari cara untuk:

  • Mengonfigurasi file YAML
  • Menyebarkan grup kontainer
  • Menampilkan log kontainer

Catatan

Grup multi-kontainer saat ini dibatasi untuk kontainer Linux.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Mengonfigurasi file YAML

Untuk menyebarkan grup multi-kontainer dengan perintah az container create di Azure CLI, Anda harus menentukan konfigurasi grup kontainer dalam file YAML. Kemudian loloskan file YAML sebagai parameter ke perintah.

Mulailah dengan menyalin YAML berikut ke dalam file baru bernama deploy-aci.yaml. Di Azure Cloud Shell, Anda bisa menggunakan Visual Studio Code untuk membuat file di direktori kerja:

code deploy-aci.yaml

File YAML ini mendefinisikan grup kontainer bernama "myContainerGroup" dengan dua kontainer, alamat IP publik, dan dua port yang terbuka. Kontainer disebarkan dari gambar Microsoft publik. Kontainer pertama dalam grup menjalankan aplikasi web yang tersambung ke internet. Kontainer kedua, sidecar, secara berkala membuat permintaan HTTP ke aplikasi web yang berjalan di kontainer pertama melalui jaringan lokal grup kontainer.

apiVersion: 2019-12-01
location: eastus
name: myContainerGroup
properties:
  containers:
  - name: aci-tutorial-app
    properties:
      image: mcr.microsoft.com/azuredocs/aci-helloworld:latest
      resources:
        requests:
          cpu: 1
          memoryInGb: 1.5
      ports:
      - port: 80
      - port: 8080
  - name: aci-tutorial-sidecar
    properties:
      image: mcr.microsoft.com/azuredocs/aci-tutorial-sidecar
      resources:
        requests:
          cpu: 1
          memoryInGb: 1.5
  osType: Linux
  ipAddress:
    type: Public
    ports:
    - protocol: tcp
      port: 80
    - protocol: tcp
      port: 8080
tags: {exampleTag: tutorial}
type: Microsoft.ContainerInstance/containerGroups

Untuk menggunakan registri gambar kontainer pribadi, tambahkan properti imageRegistryCredentials ke grup kontainer, dengan nilai yang dimodifikasi untuk lingkungan Anda:

  imageRegistryCredentials:
  - server: imageRegistryLoginServer
    username: imageRegistryUsername
    password: imageRegistryPassword

Menyebarkan grup kontainer

Buat grup sumber daya dengan perintah az group create:

az group create --name myResourceGroup --location eastus

Sebarkan grup kontainer dengan perintah az container create, dengan meneruskan file YAML sebagai argumen:

az container create --resource-group myResourceGroup --file deploy-aci.yaml

Dalam beberapa detik, Anda seharusnya menerima respons awal dari Azure.

Menampilkan status penyebaran

Untuk menampilkan status penyebaran, gunakan perintah az container show berikut:

az container show --resource-group myResourceGroup --name myContainerGroup --output table

Jika Anda ingin menampilkan aplikasi yang sedang berjalan, navigasikan ke alamat IP-nya di browser Anda. Misalnya, IP-nya adalah 52.168.26.124 dalam contoh output ini:

Name              ResourceGroup    Status    Image                                                                                               IP:ports              Network    CPU/Memory       OsType    Location
----------------  ---------------  --------  --------------------------------------------------------------------------------------------------  --------------------  ---------  ---------------  --------  ----------
myContainerGroup  danlep0318r      Running   mcr.microsoft.com/azuredocs/aci-tutorial-sidecar,mcr.microsoft.com/azuredocs/aci-helloworld:latest  20.42.26.114:80,8080  Public     1.0 core/1.5 gb  Linux     eastus

Menampilkan log kontainer

Lihat output log kontainer menggunakan perintah az container logs. Argumen --container-name menentukan kontainer untuk menarik log. Dalam contoh ini, kontainer aci-tutorial-app ditentukan.

az container logs --resource-group myResourceGroup --name myContainerGroup --container-name aci-tutorial-app

Output:

listening on port 80
::1 - - [02/Jul/2020:23:17:48 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"
::1 - - [02/Jul/2020:23:17:51 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"
::1 - - [02/Jul/2020:23:17:54 +0000] "HEAD / HTTP/1.1" 200 1663 "-" "curl/7.54.0"

Untuk melihat log untuk kontainer sidecar, jalankan perintah serupa yang menentukan kontainer aci-tutorial-sidecar.

az container logs --resource-group myResourceGroup --name myContainerGroup --container-name aci-tutorial-sidecar

Output:

Every 3s: curl -I http://localhost                          2020-07-02 20:36:41

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0  1663    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
HTTP/1.1 200 OK
X-Powered-By: Express
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Last-Modified: Wed, 29 Nov 2017 06:40:40 GMT
ETag: W/"67f-16006818640"
Content-Type: text/html; charset=UTF-8
Content-Length: 1663
Date: Thu, 02 Jul 2020 20:36:41 GMT
Connection: keep-alive

Seperti yang Anda lihat, sidecar secara berkala membuat permintaan HTTP ke aplikasi web utama melalui jaringan lokal grup untuk memastikannya berjalan. Contoh sidecar ini dapat diperluas untuk memicu peringatan jika menerima kode respons HTTP selain 200 OK.

Langkah berikutnya

Dalam tutorial ini, Anda menggunakan file YAML untuk menyebarkan grup multi-kontainer di Azure Container Instances. Anda mempelajari cara untuk:

  • Mengonfigurasi file YAML untuk grup multi-kontainer
  • Menyebarkan grup kontainer
  • Menampilkan log kontainer

Anda juga dapat menentukan grup multi-kontainer menggunakan templat Resource Manager. Templat Resource Manager dapat dengan mudah diadaptasi untuk skenario saat Anda perlu menyebarkan lebih banyak sumber daya layanan Azure dengan grup kontainer.