Elastic Container Instance (ECI) mendukung instans berbasis Windows. Jika kontainer Anda memerlukan lingkungan Windows, Anda dapat menambahkan node virtual Windows ke kluster dan menjadwalkan Pod ke node tersebut. Tindakan ini akan membuat Pod ECI berbasis Windows (instans ECI) untuk menjalankan kontainer Anda.
Instans Windows sedang dalam pratinjau undangan. Untuk menggunakan fitur ini, kirimkan Tiket.
Prasyarat
Versi Virtual Kubelet (komponen ACK Virtual Node) di kluster Anda harus v2.11.0-rc.0 atau lebih baru. Untuk informasi selengkapnya, lihat Kelola komponen dan ACK Virtual Node.
Batasan
-
Saat membuat instans ECI berbasis Windows, tipe instans harus memiliki minimal 2 vCPU dan memori 4 GiB. Tipe instans GPU-accelerated, tipe instans dengan disk lokal, dan tipe instans berbasis ARM tidak didukung.
-
Versi gambar kontainer Windows harus 10.0.20348.* (Windows Server 2022).
Tambahkan node virtual Windows
Untuk menambahkan node virtual Windows ke kluster Anda, ubah eci-profile.
-
Ubah eci-profile.
kubectl edit -n kube-system cm/eci-profilePada bagian data dari eci-profile, atur enableWindowsAmd64Node ke "true". Contoh konfigurasi berikut menunjukkan pengaturannya:
data: ...... enableWindowsAmd64Node: "true" # Aktifkan node Windows. ...... -
Verifikasi bahwa node virtual Windows telah dibuat.
kubectl get nodes -l kubernetes.io/os=windowsOutput tersebut mengonfirmasi bahwa node virtual Windows telah dibuat secara otomatis di kluster.
kubectl get nodes -l kubernetes.io/os=windows NAME STATUS ROLES AGE VERSION virtual-kubelet-cn-beijing-g-windows-amd64 Ready agent 34s v1.28.3-aliyun.1 virtual-kubelet-cn-beijing-h-windows-amd64 Ready agent 34s v1.28.3-aliyun.1
Buat Pod Windows
Node virtual Windows memiliki label "kubernetes.io/os": windows. Gunakan nodeSelector untuk menjadwalkan Pod ke node virtual Windows. Tindakan ini akan membuat Pod ECI berbasis Windows untuk menjalankan kontainer Anda.
nodeSelector:
kubernetes.io/os: windows
Contoh YAML:
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-windows
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
name: nginx-test
labels:
app: nginx
alibabacloud.com/eci: "true"
annotations:
k8s.aliyun.com/eci-with-eip: "true" # Asosiasikan Elastic IP Address (EIP) untuk menarik gambar publik.
k8s.aliyun.com/eci-use-specs: "ecs.c6.4xlarge" # Tentukan tipe instans.
spec:
containers:
- name: test
image: mcr.microsoft.com/windows/nanoserver:ltsc2022 # Gunakan gambar kontainer Windows.
command: ["ping","-t","localhost" ]
nodeSelector:
kubernetes.io/os: windows # Jadwalkan Pod ke node virtual Windows.