Menyiapkan lingkungan Azure Anda
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.