Elastic Container Instance mendukung instans berbasis Windows. Jika Anda ingin menjalankan kontainer dalam lingkungan Windows, Anda dapat menambahkan node virtual Windows ke kluster dan menjadwalkan pod untuk berjalan pada node tersebut. Dengan cara ini, Anda dapat membuat pod berbasis Windows (instans kontainer elastis) untuk menjalankan kontainer.
Instans berbasis Windows sedang dalam pratinjau undangan. Untuk menggunakan instans berbasis Windows, ajukan tiket.
Prasyarat
Versi Komponen Virtual Kubelet di kluster adalah v2.11.0-rc.0 atau lebih baru. Komponen Virtual Kubelet adalah komponen Node Virtual dari Container Service for Kubernetes (ACK). Untuk informasi lebih lanjut, lihat Kelola Komponen dan ACK Virtual Node.
Batasan
Saat membuat instans kontainer elastis berbasis Windows, spesifikasi vCPU dan memori instans harus minimal 2 vCPU dan 4 GiB memori. Instans tersebut tidak dapat berupa instans yang dipercepat GPU, instans dengan disk lokal, atau instans berbasis ARM.
Versi gambar kontainer Windows harus 10.0.20348.*. Ini berarti gambar kontainer harus berupa gambar Windows Server 2022.
Tambahkan node virtual Windows
Anda dapat memodifikasi eci-profile untuk menambahkan node virtual Windows ke kluster. Prosedur:
Modifikasi eci-profile.
kubectl edit -n kube-system cm/eci-profileAtur enableWindowsAmd64Node menjadi true di bagian data eci-profile. Contoh:
data: ...... enableWindowsAmd64Node: "true" # Aktifkan node virtual Windows. ......Periksa apakah node virtual Windows ada di kluster.
kubectl get nodes -l kubernetes.io/os=windowsHasil berikut diharapkan muncul. Node virtual Windows secara otomatis dibuat di kluster.

Buat pod berbasis Windows
Node virtual Windows memiliki label "kubernetes.io/os": windows. Saat membuat pod berbasis Elastic Container Instance, Anda dapat menggunakan nodeSelector untuk menentukan node virtual Windows dan menjadwalkan pod untuk berjalan pada node tersebut. Dengan cara ini, Anda dapat membuat pod berbasis Windows untuk menjalankan kontainer.
nodeSelector:
kubernetes.io/os: windows Contoh file 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 alamat IP elastis (EIP) dengan pod untuk menarik gambar melalui Internet.
k8s.aliyun.com/eci-use-specs: "ecs.c6.4xlarge" # Tentukan tipe instans ECS untuk membuat pod.
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 untuk berjalan pada node virtual Windows.