Mulai cepat: Membuat registri yang terhubung menggunakan Azure CLI

Dalam panduan mulai cepat ini, Anda menggunakan Azure CLI untuk membuat sumber daya registri yang terhubung di Azure. Fitur registri yang terhubung dari Azure Container Registry memungkinkan Anda menyebarkan registri dari jarak jauh atau lokal dan menyinkronkan citra serta artefak lainnya dengan registri cloud.

Di sini Anda membuat dua sumber daya registri yang terhubung untuk registri cloud: satu registri yang terhubung memungkinkan fungsi baca dan tulis (tarik dan dorong artefak) dan lainnya memungkinkan fungsi baca saja.

Setelah membuat registri yang terhubung, Anda dapat mengikuti panduan lain untuk menyebarkan dan menggunakannya secara lokal atau infrastruktur jarak jauh Anda.

Prasyarat

  • Gunakan lingkungan Bash di Azure Cloud Shell.

    Luncurkan Cloud Shell di jendela baru

  • Jika mau, instal Azure CLI untuk menjalankan perintah referensi CLI.

    • Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk tambahan, lihat Masuk dengan Azure CLI.

    • Saat diminta, instal ekstensi saat pertama kali menggunakan Azure CLI. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.

    • Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk memutakhirkan ke versi terbaru, jalankan pemutakhiran az.

  • Azure Container Registry - Jika Anda tidak memiliki registri kontainer, buat satu (Tingkat premium diperlukan) dalam wilayah yang mendukung registri terhubung.

Mengaktifkan titik akhir data khusus untuk registri cloud

Mengaktifkan titik akhir data khusus untuk registri kontainer Azure di cloud dengan menggunakan perintah az acr update. Langkah ini diperlukan untuk registri yang terhubung untuk berkomunikasi dengan registri cloud.

# Set the REGISTRY_NAME environment variable to identify the existing cloud registry
REGISTRY_NAME=<container-registry-name>

az acr update --name $REGISTRY_NAME \
  --data-endpoint-enabled

Mengimpor gambar ke registri cloud Anda

Impor gambar kontainer berikut ke registri cloud Anda menggunakan perintah impor az acr. Lewati langkah ini jika Anda sudah mengimpor gambar-gambar ini.

Gambar registri tersambung

Untuk mendukung skenario IoT Edge yang bersarang, gambar kontainer untuk runtime registri yang terhubung harus tersedia di registri kontainer Azure pribadi Anda. Gunakan perintah impor az acr untuk mengimpor gambar registri yang terhubung ke registri pribadi Anda.

# Use the REGISTRY_NAME variable in the following Azure CLI commands to identify the registry
REGISTRY_NAME=<container-registry-name>

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/acr/connected-registry:0.5.0

Gambar proksi IoT Edge dan API

Untuk mendukung registri yang terhubung di IoT Edge bertumpuk, Anda perlu menerapkan modul untuk proksi IoT Edge dan API. Impor gambar-gambar ini ke dalam registri pribadi Anda.

Modul proksi IoT Edge API memungkinkan perangkat IoT Edge untuk mengekspos beberapa layanan menggunakan protokol HTTPS pada port yang sama seperti 443.

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/azureiotedge-agent:1.2.4

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/azureiotedge-hub:1.2.4

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/azureiotedge-api-proxy:1.1.2

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/azureiotedge-diagnostics:1.2.4

Gambar hello-world

Untuk menguji registri yang terhubung, impor gambar hello-world. Repositori ini akan disinkronkan ke registri yang terhubung dan ditarik oleh klien registri yang terhubung.

az acr import \
  --name $REGISTRY_NAME \
  --source mcr.microsoft.com/hello-world:1.1.2

Membuat sumber daya registri yang terhubung untuk fungsi baca dan tulis

Membuat registri yang terhubung menggunakan perintah az acr connected-registry create. Nama registri yang terhubung harus dimulai dengan huruf dan hanya berisi karakter alfanumerik. Nama harus terdiri dari 5 hingga 40 karakter dan bersifat unik dalam hierarki untuk registri kontainer Azure ini.

# Set the CONNECTED_REGISTRY_RW environment variable to provide a name for the connected registry with read/write functionality
CONNECTED_REGISTRY_RW=<connnected-registry-name>

az acr connected-registry create --registry $REGISTRY_NAME \
  --name $CONNECTED_REGISTRY_RW \
  --repository "hello-world" "acr/connected-registry" "azureiotedge-agent" "azureiotedge-hub" "azureiotedge-api-proxy"

Perintah ini membuat sumber daya registri yang terhubung bernama nilai \ $CONNECTED_REGISTRY_RW dan menautkannya ke registri cloud yang bernama nilai $REGISTRY_NAME. Dalam panduan pemula selanjutnya, Anda akan mempelajari opsi untuk menyebarkan registri yang terhubung.

  • Repositori yang ditentukan akan disinkronkan antara registri cloud dan registri yang terhubung setelah disebarkan.

  • Karena tidak ada opsi --mode yang ditentukan untuk registri yang terhubung, opsi tersebut dibuat dalam mode ReadWrite.

  • Karena tidak ada jadwal sinkronisasi yang ditentukan untuk registri yang terhubung ini, repositori akan disinkronkan antara registri cloud dan registri yang terhubung tanpa gangguan.

    Penting

    Untuk mendukung skenario berlapis ketika lapisan bawah tidak memiliki akses Internet, Anda harus selalu mengizinkan sinkronisasi dari repositori acr/connected-registry. Repositori ini berisi citra untuk runtime registri yang terhubung.

Membuat sumber daya registri yang terhubung untuk fungsi baca saja

Anda juga dapat menggunakan perintah az acr connected-registry create untuk membuat registri yang terhubung dengan fungsi baca-saja.

# Set the CONNECTED_REGISTRY_READ environment variable to provide a name for the connected registry with read-only functionality
CONNECTED_REGISTRY_RO=<connnected-registry-name>
az acr connected-registry create --registry $REGISTRY_NAME \
  --parent $CONNECTED_REGISTRY_RW \
  --name $CONNECTED_REGISTRY_RO \
  --repository "hello-world" "acr/connected-registry" "azureiotedge-agent" "azureiotedge-hub" "azureiotedge-api-proxy" \
  --mode ReadOnly

Perintah ini membuat sumber daya registri yang terhubung bernama nilai \ $CONNECTED_REGISTRY_RO dan menautkannya ke registri cloud yang dinamai dengan nilai $REGISTRY_NAME.

  • Repositori yang ditentukan akan disinkronkan antara registri induk yang dinamakan dengan nilai $CONNECTED_REGISTRY_RW dan registri yang terhubung setelah disebarkan.
  • Sumber daya ini dibuat dalam mode ReadOnly, yang memungkinkan fungsi baca-saja (tarik artefak) setelah disebarkan.
  • Karena tidak ada jadwal sinkronisasi yang ditentukan untuk registri yang terhubung ini, repositori akan disinkronkan antara registri induk dan registri yang terhubung tanpa gangguan.

Pastikan sumber daya dibuat

Anda dapat menggunakan perintah az acr connected-registry list untuk memverifikasi bahwa sumber daya dibuat.

az acr connected-registry list \
  --registry $REGISTRY_NAME \
  --output table

Anda akan melihat respons seperti berikut. Karena registri yang terhubung belum disebarkan, status koneksi "Offline" menunjukkan bahwa registri tersebut saat ini terputus dari cloud.

NAME                 MODE        CONNECTION STATE    PARENT               LOGIN SERVER    LAST SYNC (UTC)
-------------------  --------    ------------------  -------------------  --------------  -----------------
myconnectedregrw    ReadWrite    Offline
myconnectedregro    ReadOnly     Offline             myconnectedregrw

Langkah berikutnya

Dalam panduan mulai cepat ini, Anda menggunakan Azure CLI untuk membuat dua sumber daya registri yang terhubung di Azure. Sumber daya registri baru yang terhubung tersebut dikaitkan dengan registri cloud Anda dan memungkinkan sinkronisasi artefak dengan registri cloud.

Lanjutkan ke panduan penyebaran registri yang terhubung untuk mempelajari cara menyebarkan dan menggunakan registri yang terhubung pada infrastruktur IoT Edge Anda.