Menyiapkan lingkungan Azure Anda

Selesai

Di unit ini, Anda menggunakan Azure CLI untuk membuat sumber daya Azure yang diperlukan di unit selanjutnya. Sebelum Anda mulai memasukkan perintah, pastikan Docker Desktop atau Docker Engine di Linux diinstal dan berjalan.

Contoh dalam modul ini menggunakan sintaks Bash, termasuk export dan kelanjutan baris dengan backslash. Gunakan sesi Bash lokal untuk latihan. Pada Windows, gunakan distribusi Linux WSL 2 dengan integrasi Docker Desktop diaktifkan; instal dan gunakan Linux Azure CLI dan Git dalam distribusi tersebut. Di macOS atau Linux, gunakan sesi Bash lokal dengan akses ke daemon Docker Anda.

Azure Cloud Shell dapat menjalankan perintah manajemen Azure, tetapi tidak menjalankan daemon Docker dan bukan pengganti untuk langkah-langkah build image lokal dan menjalankan kontainer dalam modul ini. PowerShell asli dan Command Prompt memerlukan variabel dan sintaks kelanjutan baris yang berbeda.

Dari sesi Bash yang akan Anda gunakan untuk latihan, periksa alat Anda sebelum membuat sumber daya Azure:

git --version
az version
docker version

Konfirmasikan bahwa ketiga perintah berhasil dan bahwa docker version menunjukkan Server dan klien dapat dijangkau. Jika server tidak tersedia, perbaiki Docker Desktop, Docker Engine, atau integrasi WSL sebelum melanjutkan.

Untuk menghemat waktu, Anda dapat menginstruksikan Azure untuk memprovisikan sumber daya terlebih dahulu lalu melanjutkan ke unit berikutnya. Pembuatan kluster Azure Kubernetes Service (AKS) dapat memakan waktu hingga 10 menit. Proses ini dapat berjalan di latar belakang saat Anda melanjutkan melalui unit berikutnya.

Mengautentikasi dengan Azure Resource Manager

Gunakan perintah berikut untuk masuk:

az login

Pilih langganan Azure

Langganan Azure adalah kontainer logis yang digunakan untuk memprovisikan sumber daya di Azure. Gunakan perintah berikut untuk mencantumkan langganan Azure Anda, lalu temukan ID langganan - SubscriptionId nilai - yang Anda rencanakan untuk digunakan dalam modul ini.

az account list --output table

Gunakan perintah berikut untuk memastikan Anda menggunakan langganan Azure yang memungkinkan Anda membuat sumber daya untuk tujuan modul ini, menggantikan nilai pilihan Anda untuk placeholder SubscriptionId.

az account set --subscription "<your-subscription-ID>"

Menentukan variabel lokal

Untuk menyederhanakan perintah yang Anda gunakan nanti, siapkan variabel lingkungan berikut. Pastikan untuk mengganti placeholder berikut dengan nilai Anda sendiri.

  • Ganti <your-Azure-region> dengan wilayah pilihan Anda - misalnya, eastus.
  • Ganti <your-container-registry> dengan nilai unik. Nilai ini digunakan untuk menghasilkan nama domain unik yang sepenuhnya memenuhi syarat (FQDN) untuk registri kontainer Azure Anda saat dibuat.
  • Ganti <your-unique-DNS-prefix-to-access-your-AKS-cluster> dengan nilai unik. Nilai ini digunakan untuk menghasilkan FQDN unik untuk kluster AKS Anda saat dibuat.

Nota

Nama registri kontainer Azure harus unik secara global di seluruh Azure dan berisi 5-50 karakter alfanumerik (hanya huruf dan angka). Tanda hubung dan garis bawah tidak diizinkan. Ganti <your-container-registry> dengan nama yang sesuai dan tersedia sebelum mengatur AZ_CONTAINER_REGISTRY. Untuk informasi selengkapnya, lihat Persyaratan penamaan registri kontainer.

export AZ_RESOURCE_GROUP=java-containerization-demo-rg
export AZ_CONTAINER_REGISTRY=<your-container-registry>
export AZ_KUBERNETES_CLUSTER=java-containerization-demo-aks
export AZ_LOCATION=<your-Azure-region>
export AZ_KUBERNETES_CLUSTER_DNS_PREFIX=<your-unique-DNS-prefix-to-access-your-AKS-cluster>

Membuat Grup Sumber Daya Azure

Grup sumber daya Azure adalah kontainer Azure di langganan Azure untuk menyimpan sumber daya terkait untuk solusi Azure. Buat grup sumber daya dengan menggunakan perintah berikut:

az group create \
    --name $AZ_RESOURCE_GROUP \
    --location $AZ_LOCATION \
| jq

Nota

Modul ini menggunakan alat jq, yang diinstal secara default pada Azure Cloud Shell untuk menampilkan data JSON dan membuatnya lebih mudah dibaca.

Jika Anda tidak ingin menggunakan alat jq, Anda dapat dengan aman menghapus bagian | jq dari semua perintah dalam modul ini.

Membuat registri kontainer Azure

Azure Container Registry memungkinkan Anda membuat, menyimpan, dan mengelola gambar kontainer, termasuk gambar kontainer untuk aplikasi Java ini. Buat registri kontainer dengan menggunakan perintah berikut:

az acr create \
    --resource-group $AZ_RESOURCE_GROUP \
    --name $AZ_CONTAINER_REGISTRY \
    --sku Basic \
    --role-assignment-mode rbac \
| jq

Opsi --role-assignment-mode rbac ini secara eksplisit memilih izin hanya RBAC. Ini mempertahankan integrasi AcrPull dan --attach-acr yang digunakan dalam latihan ini.

Untuk registri baru atau yang digunakan kembali menggunakan Registri RBAC + Izin Repositori ABAC, yang mendukung kontrol akses berbasis atribut (ABAC), --attach-acr tidak didukung. Alur kerja integrasi yang diaktifkan ABAC sebagai gantinya memerlukan Container Registry Repository Reader untuk identitas kubelet dan izin repositori yang sesuai untuk identitas penerbitan. Ikuti alur kerja tersebut daripada menjalankan perintah integrasi latihan ini apa adanya. Microsoft merekomendasikan mode berkemampuan ABAC; pengaturan khusus RBAC pada latihan ini bukan rekomendasi untuk menurunkan versi registri yang sudah mengaktifkan ABAC.

Gunakan perintah berikut untuk mengonfigurasi Azure CLI untuk menggunakan registri kontainer Azure yang baru dibuat ini:

az configure --defaults acr=$AZ_CONTAINER_REGISTRY

Gunakan perintah berikut untuk mengautentikasi ke registri kontainer Azure yang baru dibuat:

Nota

Sebelum Anda menjalankan az acr login perintah, pastikan Docker Desktop atau Docker Engine di Linux berjalan dan daemonnya dapat dijangkau dari sesi Bash Anda. Jika tidak dapat dijangkau, Anda menerima pesan kesalahan yang mirip dengan Cannot connect to the Docker daemon at unix:///$HOME_DIR/.docker/run/docker.sock. Is the docker daemon running?

az acr login --name $AZ_CONTAINER_REGISTRY

Buat klaster Azure Kubernetes Service

Anda memerlukan kluster AKS untuk menyebarkan gambar kontainer aplikasi Java.

Important

Opsi --attach-acr menetapkan peran AcrPull ke identitas kubelet AKS. Selain izin untuk membuat sumber daya, akun Anda memerlukan Microsoft.Authorization/roleAssignments/write pada cakupan registri atau cakupan induk. Kontributor saja tidak serta merta memberikan izin ini. Jika perlu, minta administrator Azure Anda untuk melakukan integrasi atau memberikan akses penetapan peran yang dilingkup dengan tepat, seperti Role Based Access Control Administrator bersama izin manajemen sumber daya yang diperlukan.

Buat kluster AKS dengan menggunakan perintah berikut:

az aks create \
    --resource-group $AZ_RESOURCE_GROUP \
    --name $AZ_KUBERNETES_CLUSTER \
    --attach-acr $AZ_CONTAINER_REGISTRY \
    --dns-name-prefix=$AZ_KUBERNETES_CLUSTER_DNS_PREFIX \
    --generate-ssh-keys \
| jq

Nota

Membuat kluster AKS dapat memakan waktu hingga 10 menit. Setelah menjalankan perintah sebelumnya, Anda dapat membiarkannya berlanjut di tab Azure CLI Anda dan melanjutkan ke unit berikutnya.