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.
Berlaku untuk: AKS di Windows Server
Tutorial ini menjelaskan cara menyebarkan aplikasi sampel ASP.NET dalam kontainer Windows Server ke kluster Azure Kubernetes Service (AKS) di AKS di Windows Server, lalu menguji dan menskalakan aplikasi Anda. Anda juga mempelajari cara menggabungkan simpul Windows ke domain Direktori Aktif.
Tutorial ini mengasumsikan pemahaman dasar tentang konsep Kubernetes. Untuk informasi selengkapnya, lihat Konsep inti Kubernetes untuk AKS di Windows Server.
Sebelum Anda mulai
Pastikan Anda memenuhi persyaratan berikut:
- Kluster Azure Kubernetes Service dengan setidaknya satu simpul pekerja Windows aktif dan berjalan.
- File kubeconfig untuk mengakses kluster.
- Modul PowerShell AksHci diinstal.
Saat Anda mengikuti prosedur:
- Jalankan perintah di jendela administrator PowerShell.
- Pastikan beban kerja khusus OS mendarat di host kontainer yang sesuai. Jika kluster Kubernetes memiliki campuran simpul pekerja Linux dan Windows, Anda dapat menggunakan node selectors atau taints and tolerations. Untuk informasi selengkapnya, lihat menggunakan pemilih simpul serta noda dan toleransi.
Menyebarkan aplikasi
File manifes Kubernetes mendefinisikan status yang diinginkan untuk kluster, seperti gambar kontainer mana yang akan dijalankan. Dalam prosedur ini, manifes digunakan untuk membuat semua objek yang diperlukan untuk menjalankan aplikasi sampel ASP.NET dalam kontainer Windows Server. Manifes ini mencakup penyebaran Kube untuk aplikasi contoh ASP.NET dan layanan Kube eksternal untuk mengakses aplikasi dari internet.
Aplikasi sampel ASP.NET disediakan sebagai bagian dari sampel .NET Framework dan berjalan dalam kontainer Windows Server. AKS mengharuskan kontainer Windows Server didasarkan pada gambar Server Windows 2019.
File manifes Kubernetes juga harus menentukan pemilih simpul untuk memberi tahu kluster Anda untuk menjalankan pod aplikasi sampel ASP.NET pada simpul yang dapat menjalankan kontainer Windows Server.
Buat file bernama sample.yaml, dan salin/tempel definisi YAML berikut:
apiVersion: apps/v1
kind: Deployment
metadata:
name: sample
labels:
app: sample
spec:
replicas: 1
template:
metadata:
name: sample
labels:
app: sample
spec:
nodeSelector:
"beta.kubernetes.io/os": windows
containers:
- name: sample
image: mcr.microsoft.com/dotnet/framework/samples:aspnetapp
resources:
limits:
cpu: 1
memory: 800M
requests:
cpu: .1
memory: 300M
ports:
- containerPort: 80
selector:
matchLabels:
app: sample
---
apiVersion: v1
kind: Service
metadata:
name: sample
spec:
type: LoadBalancer
ports:
- protocol: TCP
port: 80
selector:
app: sample
Sebarkan aplikasi menggunakan kubectl apply perintah , dan tentukan nama manifes YAML Anda:
kubectl apply -f sample.yaml
Contoh output berikut menunjukkan bahwa penyebaran dan layanan berhasil dibuat:
deployment.apps/sample created
service/sample created
Uji aplikasi
Ketika aplikasi berjalan, layanan Kubernetes mengekspos front end aplikasi ke internet. Diperlukan beberapa menit untuk menyelesaikan proses ini. Terkadang layanan ini memerlukan waktu lebih lama untuk disediakan. Izinkan hingga 10 menit dalam kasus ini.
Untuk memantau kemajuan, gunakan kubectl get service perintah dengan --watch argumen :
kubectl get service sample --watch
Awalnya, EXTERNAL-IP untuk layanan sampel ditampilkan sebagai tertunda:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sample LoadBalancer 10.0.37.27 <pending> 80:30572/TCP 6s
Ketika alamat EKSTERNAL-IP berubah dari tertunda ke alamat IP publik aktual, gunakan CTRL-C untuk menghentikan kubectl proses pengawasan. Output contoh di bawah ini menunjukkan alamat IP publik yang valid yang ditetapkan untuk layanan tersebut.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
sample LoadBalancer 10.0.37.27 52.179.23.131 80:30572/TCP 2m
Untuk melihat contoh aplikasi yang sedang berjalan, buka penelusur web ke alamat IP eksternal layanan Anda.
Jika waktu koneksi habis saat Anda mencoba memuat halaman, verifikasi apakah aplikasi sampel sudah siap dengan menjalankan kubectl get pods --watch perintah. Terkadang, alamat IP eksternal tersedia sebelum kontainer Windows dimulai.
Skala unit aplikasi
Kami membuat satu replika front end aplikasi. Untuk melihat jumlah dan status pod di kluster Anda, gunakan perintah kubectl get sebagai berikut:
kubectl get pods -n default
Untuk mengubah jumlah pod dalam penerapan contoh, gunakan perintah kubectl scale. Contoh berikut menambah jumlah pod front-end menjadi 3:
kubectl scale --replicas=3 deployment/sample
Jalankan kubectl get pods lagi untuk memverifikasi pod telah dibuat. Setelah sekitar satu menit, pod tambahan akan tersedia di kluster Anda:
kubectl get pods -n default