Contoh ini menunjukkan cara menggunakan template orkestrasi untuk menyebarkan aplikasi web ASP.NET ke node Windows dalam kluster ACK. Aplikasi ini terdiri dari Deployment dan Service bertipe LoadBalancer sehingga dapat diakses dari Internet melalui Port 80.
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki kluster dengan setidaknya satu node Windows. Untuk informasi lebih lanjut, lihat Buat dan kelola pool node Windows.
Langkah 1: Sebarkan aplikasi contoh
Sebarkan aplikasi ASP.NET contoh ke node Windows. Service secara otomatis membuat instans Server Load Balancer dan membuka Port 80 aplikasi ke Internet.
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, temukan kluster yang ingin Anda kelola lalu klik namanya. Di panel navigasi kiri, pilih Workloads > Deployments.
Klik Create From YAML dan atur Sample Template ke Custom. Masukkan konten YAML berikut, lalu klik Submit.
YAML berikut mendefinisikan aplikasi web ASP.NET. Bidang
tolerationsdannodeAffinitymemastikan bahwa Pod hanya dijadwalkan pada node Windows dalam kluster campuran OS. Service memetakan Port eksternal 80 ke Port 8080 kontainer melaluitargetPort.Ganti
<cn-hangzhou>pada alamat image dengan ID wilayah kluster Anda, misalnyacn-beijing.apiVersion: v1 kind: Service metadata: labels: app: web-windows name: web-windows spec: type: LoadBalancer ports: - port: 80 protocol: TCP targetPort: 8080 selector: app: web-windows --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: web-windows name: web-windows spec: selector: matchLabels: app: web-windows template: metadata: labels: app: web-windows spec: restartPolicy: Always terminationGracePeriodSeconds: 30 tolerations: - key: os value: windows affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/os operator: In values: - windows containers: # Ganti <cn-hangzhou> pada alamat image dengan wilayah aktual kluster Anda. - image: registry-cn-hangzhou-vpc.ack.aliyuncs.com/acs/dotnet-samples:aspnetapp name: windows ports: - containerPort: 8080 protocol: TCPSetelah dikirimkan, Anda akan kembali ke halaman Deployments, tempat aplikasi web baru muncul dalam daftar.
Verifikasi bahwa Pod sedang berjalan:
kubectl get pods -l app=web-windowsOutput yang diharapkan mirip dengan:
NAME READY STATUS RESTARTS AGE web-windows-6d7f9d9b4c-xk2lp 1/1 Running 0 2m
Langkah 2: Akses aplikasi
Dapatkan alamat IP eksternal yang ditetapkan untuk Service:
kubectl get service web-windowsOutput yang diharapkan mirip dengan:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE web-windows LoadBalancer 172.16.3.210 47.xxx.xxx.xxx 80:32001/TCP 3mBidang
EXTERNAL-IPmungkin menampilkan<pending>selama satu atau dua menit saat instans Server Load Balancer sedang disiapkan. Jalankan perintah tersebut lagi hingga alamat IP muncul.Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel sisi kiri, pilih Network > Services.
Klik nama Service target (web-windows). Di bagian Basic Information, klik External IP untuk mengakses aplikasi web.
