Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Helm adalah alat pengemasan sumber terbuka yang membantu Anda memasang dan mengelola siklus hidup aplikasi Kubernetes. Mirip dengan manajer paket Linux seperti APT dan Yum, Helm mengelola bagan Kubernetes, yang merupakan paket sumber daya Kubernetes yang telah dikonfigurasi sebelumnya.
Dalam panduan cepat ini, Anda menggunakan Helm untuk mengemas dan menjalankan aplikasi di AKS. Untuk informasi tentang menginstal aplikasi yang ada menggunakan Helm, lihat Menginstal aplikasi yang ada dengan Helm di AKS.
Prasyarat
- Langganan Azure. Jika Anda tidak memiliki langganan Azure, Anda dapat membuat akun gratis.
- Azure CLI atau Azure PowerShell diinstal.
- Helm v3 terpasang.
Membuat Azure Container Registry
Anda perlu menyimpan gambar kontainer Anda di Azure Container Registry (ACR) untuk menjalankan aplikasi Anda di kluster AKS menggunakan Helm. Nama registri Anda harus unik dalam Azure dan berisi 5-50 karakter alfanumerik. Hanya karakter huruf kecil yang diizinkan. SKU Dasar adalah titik masuk yang dioptimalkan untuk biaya untuk tujuan pengembangan yang menyediakan keseimbangan antara penyimpanan dan pemrosesan.
Buat grup sumber daya Azure menggunakan perintah az group create . Contoh berikut ini menampilkan cara membuat grup sumber daya bernama myResourceGroup di lokasi eastus.
az group create --name myResourceGroup --location eastusBuat Azure Container Registry dengan nama unik dengan memanggil perintah az acr create . Contoh berikut membuat ACR bernama myhelmacr dengan SKU Dasar .
az acr create --resource-group myResourceGroup --name myhelmacr --sku BasicOutput Anda akan terlihat mirip dengan contoh output ringkas berikut. Catat nilai loginServer Anda untuk ACR Anda gunakan di langkah selanjutnya.
{ "adminUserEnabled": false, "creationDate": "2023-12-26T22:36:23.998425+00:00", "id": "/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myhelmacr", "location": "eastus", "loginServer": "myhelmacr.azurecr.io", "name": "myhelmacr", "networkRuleSet": null, "provisioningState": "Succeeded", "resourceGroup": "myResourceGroup", "sku": { "name": "Basic", "tier": "Basic" }, "status": null, "storageAccount": null, "tags": {}, "type": "Microsoft.ContainerRegistry/registries" }
Membuat kluster AKS
Kluster AKS baru Anda memerlukan akses ke ACR untuk mengambil citra kontainer dan menjalankannya.
Buat kluster AKS menggunakan perintah az aks create dengan
--attach-acrparameter untuk memberikan akses kluster ke ACR Anda. Contoh berikut membuat kluster AKS bernama myAKSCluster dan memberinya akses ke myhelmacr ACR. Pastikan Anda menggantimyhelmacrdengan nama ACR Anda.az aks create --resource-group myResourceGroup --name myAKSCluster --location eastus --attach-acr myhelmacr --generate-ssh-keys
Hubungkan ke kluster AKS Anda
Untuk menyambungkan kluster Kubernetes secara lokal, Anda menggunakan klien baris perintah Kubernetes, kubectl.
kubectl sudah diinstal jika Anda menggunakan Azure Cloud Shell.
Pasang
kubectlsecara lokal menggunakan perintah az aks install-cli.az aks install-cliKonfigurasikan
kubectluntuk terhubung ke kluster Kubernetes menggunakan perintah az aks get-credentials. Perintah berikut mendapatkan kredensial untuk kluster AKS bernama myAKSCluster di myResourceGroup.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Mengunduh aplikasi contoh
Panduan cepat ini menggunakan Aplikasi Azure Vote.
Kloning aplikasi dari GitHub menggunakan
git cloneperintah .git clone https://github.com/Azure-Samples/azure-voting-app-redis.gitArahkan ke direktori
azure-votemenggunakan perintahcd.cd azure-voting-app-redis/azure-vote/
Membangun dan mengunggah aplikasi sampel ke ACR
Buat dan dorong gambar ke ACR Anda menggunakan perintah az acr build . Contoh berikut membuat citra bernama azure-vote-front:v1 dan mengunggahnya ke myhelmacr ACR. Pastikan Anda mengganti
myhelmacrdengan nama ACR Anda.az acr build --image azure-vote-front:v1 --registry myhelmacr --file Dockerfile .
Catatan
Anda juga dapat mengimpor bagan Helm ke ACR Anda. Untuk informasi selengkapnya, lihat Dorong dan tarik bagan Helm ke registri kontainer Azure.
Membuat bagan Helm Anda
Hasilkan bagan Helm Anda menggunakan perintah
helm create.helm create azure-vote-frontPerbarui azure-vote-front/Chart.yaml dengan menambahkan dependensi pada chart redis dari repositori
https://charts.bitnami.com/bitnamichart dan memperbaruiappVersionkev1, seperti yang ditunjukkan dalam contoh berikut:Catatan
Versi gambar kontainer yang ditampilkan dalam panduan ini telah diuji untuk bekerja dengan contoh ini tetapi mungkin bukan versi terbaru yang tersedia.
apiVersion: v2 name: azure-vote-front description: A Helm chart for Kubernetes dependencies: - name: redis version: 17.3.17 repository: https://charts.bitnami.com/bitnami ... # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. appVersion: v1Perbarui dependensi Helm chart Anda menggunakan perintah
helm dependency update.helm dependency update azure-vote-frontPerbarui azure-vote-front/values.yaml dengan perubahan berikut.
- Tambahkan bagian redis untuk mengatur detail gambar, port kontainer, dan nama penyebaran.
- Tambahkan backendName untuk menyambungkan bagian frontend ke penerapan redis.
- Ubah image.repository ke
<loginServer>/azure-vote-front. - Ubah image.tag ke
v1. - Ubah service.type ke LoadBalancer.
Contohnya:
replicaCount: 1 backendName: azure-vote-backend-master redis: image: registry: mcr.microsoft.com repository: oss/bitnami/redis tag: 6.0.8 fullnameOverride: azure-vote-backend auth: enabled: false image: repository: myhelmacr.azurecr.io/azure-vote-front pullPolicy: IfNotPresent tag: "v1" ... service: type: LoadBalancer port: 80 ...Tambahkan bagian
envke azure-vote-front/templates/deployment.yaml untuk meneruskan nama penyebaran Redis.... containers: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} env: - name: REDIS value: {{ .Values.backendName }} ...
Jalankan grafik Helm Anda
Pasang aplikasi Anda menggunakan bagan Helm Anda dengan perintah
helm install.helm install azure-vote-front azure-vote-front/Perlu beberapa menit agar layanan mengembalikan alamat IP publik. Pantau kemajuan menggunakan perintah
kubectl get servicedengan argumen--watch.kubectl get service azure-vote-front --watchKetika layanan siap, nilai
EXTERNAL-IPberubah dari<pending>menjadi alamat IP. TekanCTRL+Cuntuk menghentikankubectlproses menonton.NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-vote-front LoadBalancer 10.0.18.228 <pending> 80:32021/TCP 6s ... azure-vote-front LoadBalancer 10.0.18.228 52.188.140.81 80:32021/TCP 2m6sArahkan ke penyeimbang muatan aplikasi Anda di browser menggunakan
<EXTERNAL-IP>untuk melihat aplikasi contoh.
Menghapus kluster
Hapus grup sumber daya Anda, kluster AKS, registri kontainer Azure, gambar kontainer yang disimpan di ACR, dan semua sumber daya terkait menggunakan perintah az group delete dengan
--yesparameter untuk mengonfirmasi penghapusan dan--no-waitparameter untuk kembali ke prompt perintah tanpa menunggu operasi selesai.az group delete --name myResourceGroup --yes --no-wait
Catatan
Jika Anda membuat kluster AKS dengan identitas terkelola yang ditugaskan sistem (opsi identitas default dalam panduan cepat ini), identitas tersebut dikelola oleh platform dan tidak memerlukan penghapusan.
Jika Anda membuat kluster AKS dengan perwakilan layanan, perwakilan layanan tidak akan dihapus saat Anda menghapus kluster. Untuk menghapus perwakilan layanan, lihat Pertimbangan dan penghapusan perwakilan layanan AKS.
Langkah berikutnya
Untuk informasi selengkapnya tentang menggunakan Helm, lihat dokumentasi Helm.