Menyebarkan aplikasi
Artikel ini menjelaskan cara menyebarkan aplikasi dalam kontainer pada kluster Kubernetes Anda.
Prasyarat
Untuk memulai, siapkan satu komputer Kubernetes atau kluster Kubernetes penuh .
Menyebarkan contoh aplikasi Linux
Langkah 1: perbarui file manifes
Artikel ini menggunakan aplikasi sampel yang merupakan aplikasi pemungutan suara sederhana yang terdiri dari ujung depan dan belakang, yang didasarkan pada gambar azure-vote-front Microsoft. Gambar kontainer untuk aplikasi ini dihosting di Azure Container Registry (ACR). Lihat linux-sample.yaml dalam paket repositori GitHub untuk manifes penyebaran. Di YAML, kami menentukan nodeSelector
tag sebagai Linux.
Langkah 2: sebarkan aplikasi
Untuk menyebarkan aplikasi, gunakan perintah kubectl apply. Perintah ini menguraikan file manifes dan membuat objek Kubernetes yang ditentukan. Tentukan file manifes YAML, seperti yang ditunjukkan dalam contoh berikut:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Langkah 3: verifikasi pod
Tunggu beberapa menit hingga pod berada dalam status berjalan :
kubectl get pods -o wide
Langkah 4: verifikasi layanan
Untuk memantau kemajuan, gunakan perintah layanan kubectl get dengan --watch
parameter :
kubectl get services
Awalnya, EXTERNAL-IP
untuk azure-vote-front
layanan ditampilkan sebagai pending
.
EXTERNAL-IP
Ketika alamat berubah dari pending
ke alamat IP publik aktual, Anda dapat menggunakan alamat IP yang ditetapkan ke layanan.
Penting
Pada kluster komputer tunggal, jika Anda menyebarkan kluster Kubernetes tanpa menentukan -ServiceIPRangeSize
, Anda tidak akan mengalokasikan IP untuk layanan beban kerja Dan Anda tidak akan memiliki alamat IP eksternal. Dalam hal ini, temukan alamat IP VM Linux Anda (Get-AksEdgeNodeAddr
):
Get-AksEdgeNodeAddr -NodeType Linux
Anda sekarang dapat menambahkan port eksternal ke alamat IP VM (misalnya, 192.168.1.12:30432).
Langkah 5: uji aplikasi Anda
Untuk melihat aplikasi yang sedang berjalan, buka browser web ke alamat IP eksternal layanan Anda:
Jika aplikasi tidak dimuat, mungkin karena masalah otorisasi dengan registri gambar Anda. Untuk melihat status kontainer Anda, gunakan perintah kubectl get pods
. Jika gambar kontainer tidak dapat diambil, lihat Mengautentikasi dengan Azure Container Registry dari Azure Kubernetes Service.
Langkah 6: hapus aplikasi
Untuk membersihkan, hapus semua sumber daya menggunakan perintah berikut:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml
Menyebarkan contoh aplikasi Windows ke kluster Anda
Contoh ini menjalankan sampel aplikasi ASP.NET berdasarkan gambar sampel Microsoft. Lihat win-sample.yaml. YAML menentukan nodeSelector
tag sebagai Windows.
Langkah 1: sebarkan aplikasi dengan menentukan nama manifes YAML Anda
Pastikan Anda berada di direktori YAML di jendela PowerShell, lalu jalankan perintah berikut:
kubectl apply -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Langkah 2: verifikasi bahwa pod sampel sedang berjalan
Mungkin perlu waktu beberapa saat bagi Pod untuk mencapai status berjalan, tergantung pada koneksi internet Anda. Gambar ASP.NET besar:
kubectl get pods -o wide
Langkah 3: verifikasi bahwa layanan sampel sedang berjalan
kubectl get services
Karena sampel ini disebarkan sebagai layanan jenis NodePort, Anda dapat mengambil alamat IP simpul Kubernetes tempat aplikasi berjalan, lalu menambahkan port NodePort. Dapatkan IP simpul Kubernetes menggunakan perintah berikut Get-AksEdgeNodeAddr
:
Get-AksEdgeNodeAddr -NodeType Windows
Langkah 4: verifikasi sampel Windows yang sedang berjalan
Buka browser web dan temukan NodePort untuk mengakses layanan Anda:
Langkah 5: bersihkan
Untuk membersihkan, hapus semua sumber daya menggunakan perintah berikut:
kubectl delete -f https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/win-sample.yaml
Menyebarkan aplikasi Anda sendiri
Langkah-langkah sebelumnya menunjukkan bagaimana Anda dapat menyebarkan aplikasi sampel kami. Untuk menyebarkan aplikasi Anda sendiri, lakukan hal berikut:
Kemas aplikasi Anda ke dalam gambar kontainer, lalu unggah gambar ke Azure Container Registry atau dalam registri kontainer pilihan Anda. Tinjau langkah-langkah ini untuk membuat gambar kontainer aplikasi Anda.
AKS Edge Essentials memungkinkan kluster mixed-OS. Pastikan pod Anda dijadwalkan pada simpul dengan OS yang sesuai. Tambahkan
nodeSelector
ke file penyebaran Anda. Opsi ini memberi tahu Kubernetes untuk menjalankan pod Anda pada simpul sistem operasi (OS) tertentu. Jika kluster Anda adalah OS tunggal, maka Anda dapat melewati langkah ini; tetapi untuk praktik terbaik, beri label setiap file penyebaran dengan pemilih simpul:nodeSelector: "kubernetes.io/os": linux
nodeSelector: "kubernetes.io/os": windows