All Products
Search
Document Center

Container Service for Kubernetes:Buat aplikasi Windows

Last Updated:Mar 26, 2026

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:

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.

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, temukan kluster yang ingin Anda kelola lalu klik namanya. Di panel navigasi kiri, pilih Workloads > Deployments.

  3. 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 tolerations dan nodeAffinity memastikan bahwa Pod hanya dijadwalkan pada node Windows dalam kluster campuran OS. Service memetakan Port eksternal 80 ke Port 8080 kontainer melalui targetPort.

    Ganti <cn-hangzhou> pada alamat image dengan ID wilayah kluster Anda, misalnya cn-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: TCP

    Setelah dikirimkan, Anda akan kembali ke halaman Deployments, tempat aplikasi web baru muncul dalam daftar.

  4. Verifikasi bahwa Pod sedang berjalan:

    kubectl get pods -l app=web-windows

    Output yang diharapkan mirip dengan:

    NAME                           READY   STATUS    RESTARTS   AGE
    web-windows-6d7f9d9b4c-xk2lp   1/1     Running   0          2m

Langkah 2: Akses aplikasi

  1. Dapatkan alamat IP eksternal yang ditetapkan untuk Service:

    kubectl get service web-windows

    Output 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   3m

    Bidang EXTERNAL-IP mungkin menampilkan <pending> selama satu atau dua menit saat instans Server Load Balancer sedang disiapkan. Jalankan perintah tersebut lagi hingga alamat IP muncul.

  2. Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel sisi kiri, pilih Network > Services.

  3. Klik nama Service target (web-windows). Di bagian Basic Information, klik External IP untuk mengakses aplikasi web.

    image