Tutorial .NET - Menyebarkan layanan mikro ke Azure
Intro
Tujuan
Pelajari cara menyebarkan layanan mikro, yang dibuat dengan .NET dan Docker, ke Microsoft Azure.
Prasyarat
Wajib: Tutorial ini menggunakan aplikasi yang dibuat di tutorial Layanan Mikro Pertama Anda.
Diperlukan: Docker.
Waktu untuk Menyelesaikan
15-20 menit
Skenario
Ambil microservice yang dibuat sebelumnya dan sebarkan ke Azure, menggunakan DockerHub dan Azure Kubernetes Service (AKS).
Dorong ke Hub Docker
Docker Hub adalah tempat terpusat untuk mengunggah gambar Docker. Banyak produk, termasuk Microsoft Azure, dapat membuat kontainer berdasarkan gambar di Docker Hub.
Masuk ke Hub Docker
Di prompt perintah Anda, jalankan perintah berikut:
Di terminal Anda, jalankan perintah berikut:
docker login
Gunakan nama pengguna dan kata sandi yang dibuat saat Anda mengunduh Docker di tutorial sebelumnya. Anda dapat mengunjungi situs web Docker Hub untuk menyetel ulang sandi jika diperlukan.
Unggah gambar ke Docker Hub
Tag ulang (ganti nama) gambar Docker di bawah nama pengguna Anda dan dorong ke Docker Hub menggunakan perintah berikut:
docker tag mymicroservice [YOUR DOCKER USERNAME]/mymicroservice
docker push [YOUR DOCKER USERNAME]/mymicroservice
Perintah push akan mengunggah gambar Anda ke Docker Hub, yang mungkin memerlukan waktu beberapa saat.
Siapkan alat Azure
Buat akun Azure
Jika baru menggunakan Azure, Anda dapat membuat akun gratis. Jika memiliki akun yang sudah ada, Anda dapat melewati langkah ini.
Buat akun Azure gratisInstal Azure CLI
Azure CLI menyediakan alat untuk mengelola akun Azure Anda.
Masuk ke Azure
Setelah menginstal, buka prompt perintah baru dan masuk ke akun Azure Anda dengan menjalankan perintah berikut:
Setelah menginstal, buka terminal new dan masuk ke akun Azure Anda dengan menjalankan perintah berikut:
az login
Menginstal AKS CLI
Kubernetes adalah platform orkestrasi kontainer. Orkestrator bertanggung jawab untuk menjalankan, mendistribusikan, menskalakan, dan menyembuhkan aplikasi yang terdiri dari kumpulan kontainer. Azure Kubernetes Service (AKS) menyediakan Kubernetes sebagai layanan terkelola.
Jalankan perintah berikut untuk menginstal alat baris perintah untuk AKS:
az aks install-cli
Anda mungkin diberi tahu tentang rekomendasi untuk mengatur variabel PATH sistem. Ini tidak diperlukan untuk tutorial ini.
Buat sumber daya Azure
Pilih grup sumber daya
Grup sumber daya digunakan untuk mengatur sekumpulan sumber daya yang terkait dengan satu aplikasi.
Jalankan perintah berikut untuk membuat grup sumber daya di wilayah US Barat:
az group create --name MyMicroserviceResources --location westus
Jika Anda ingin menggunakan lokasi yang berbeda pada perintah sebelumnya, Anda dapat menjalankan perintah berikut untuk melihat wilayah mana yang tersedia di akun Anda dan memilih satu yang lebih dekat dengan Anda:
az account list-locations -o table
Jika Anda ingin menggunakan langganan yang berbeda untuk sesi tersebut, Anda bisa mendapatkan daftar semua langganan dengan menjalankan perintah berikut:
az account list --all
Kemudian, Anda dapat menjalankan perintah berikut untuk mengatur langganan tertentu untuk sesi tersebut:
az account set -s NAME_OR_ID
Buat kluster AKS
Jalankan perintah berikut untuk membuat kluster AKS di grup sumber daya:
Biasanya perintah ini memerlukan waktu beberapa menit untuk diselesaikan.
az aks create --resource-group MyMicroserviceResources --name MyMicroserviceCluster --node-count 1 --enable-addons http_application_routing --generate-ssh-keys
Jalankan perintah berikut untuk mengunduh kredensial yang akan disebarkan ke kluster AKS Anda:
az aks get-credentials --resource-group MyMicroserviceResources --name MyMicroserviceCluster
Sebarkan ke Azure
Kembali ke direktori aplikasi
Karena anda membuka prompt perintah baru di langkah sebelumnya, Anda harus kembali ke direktori tempat Anda membuat layanan.
Karena Anda membuka terminal baru di langkah sebelumnya, Anda harus kembali ke direktori tempat Anda membuat layanan.
cd MyMicroservice
Buat file penyebaran
Alat AKS menggunakan file .yaml
untuk menentukan cara menyebarkan kontainer Anda.
Buat file bernama deploy.yaml
dengan perintah ini:
touch deploy.yaml
fsutil file createnew deploy.yaml 0
Anda kemudian dapat membukanya di editor teks favorit Anda.
Anda kemudian dapat membukanya di editor teks favorit Anda secara manual atau dengan perintah ini:
open deploy.yaml
start deploy.yaml
Ganti isi deploy.yaml
dengan yang ada di editor teks berikut, pastikan untuk mengganti [YOUR DOCKER ID] dengan ID Docker Anda yang sebenarnya.
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mymicroservice
spec:
replicas: 1
template:
metadata:
labels:
app: mymicroservice
spec:
containers:
- name: mymicroservice
image: [YOUR DOCKER ID]/mymicroservice:latest
ports:
- containerPort: 80
env:
- name: ASPNETCORE_URLS
value: http://*:80
selector:
matchLabels:
app: mymicroservice
---
apiVersion: v1
kind: Service
metadata:
name: mymicroservice
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: mymicroservice
Jalankan penyebaran
Jalankan perintah berikut untuk menyebarkan layanan mikro Anda berdasarkan pengaturan di deploy.yaml
:
kubectl apply -f deploy.yaml
Uji layanan yang Anda sebarkan
Jalankan perintah berikut untuk melihat detail layanan yang Anda sebarkan:
kubectl get service mymicroservice --watch
Antara lain, perintah sebelumnya akan menampilkan alamat IP eksternal tempat layanan Anda tersedia (EXTERNAL-IP).
Menggunakan alamat IP eksternal, buka jendela browser baru dan navigasikan ke http://[ALAMAT IP EKSTERNAL]/weatherforecast
Jika EXTERNAL-IP ditandai sebagai<pending>
, baris baru akan muncul secara otomatis setelah IP eksternal dialokasikan.
Tekan CTRL+C pada prompt perintah Anda untuk mengakhiri perintah kubectl get service
.
Tekan CTRL+C di terminal Anda untuk mengakhiri perintah kubectl get service
Selamat! Anda telah menyebarkan layanan mikro ke Azure.
Skalakan layanan Anda
Manfaat menggunakan Kubernetes adalah Anda dapat dengan mudah meningkatkan penyebaran ke beberapa instans untuk menangani beban tambahan. Saat ini, hanya ada satu instans, jadi mari kita skalakan menjadi dua instans.
Jalankan perintah berikut untuk menskalakan layanan Anda hingga dua instans:
kubectl scale --replicas=2 deployment/mymicroservice
Bersihkan sumber daya
Setelah selesai menguji layanan mikro, Anda dapat menghapus semua sumber daya yang Anda buat dengan perintah berikut:
az group delete -n MyMicroserviceResources
Langkah berikutnya
Sumber daya berikut akan membantu Anda terus menjelajahi layanan mikro dengan .NET.
Layanan mikro untuk Pemula
Biarkan Nish membawa Anda melalui konsep layanan mikro dan mempelajari cara membangun titik akhir layanan mikro pertama Anda di .NET:
Anda mungkin juga tertarik dengan...