ECI已支持操作系統為Windows的實例。如果您的容器需要運行在Windows環境,您可以在集群中添加Windows虛擬節點,并將Pod調度到該虛擬節點上,即可創建出操作系統為Windows的ECI Pod(即ECI實例)來運行容器。
重要
Windows實例正在邀測中,如需使用,請提交工單申請。
前提條件
集群中的VK(ACK Virtual Node組件)版本為v2.11.0-rc.0及以上版本。更多信息,請參見管理組件和ACK Virtual Node。
使用限制
創建操作系統為Windows的ECI實例時,vCPU和內存必須大于等于2 vCPU,4 GiB內存,并且不支持GPU、本地盤和ARM規格。
Windows容器鏡像的版本號需要滿足10.0.20348.*,即Windows Server 2022。
添加Windows虛擬節點
您可以通過以下步驟修改eci-profile,在集群中添加Windows虛擬節點。
修改eci-profile。
kubectl edit -n kube-system cm/eci-profile
在eci-profile的data中將enableWindowsAmd64Node配置為true,示例如下:
data: ...... enableWindowsAmd64Node: "true" #啟用Windows節點 ......
查看集群中是否已有Windows虛擬節點。
kubectl get nodes -l kubernetes.io/os=windows
預期返回如下,可以看到集群已自動生成Windows虛擬節點。
創建操作系統為Windows的Pod
由于Windows虛擬節點帶有"kubernetes.io/os": windows
的標簽,創建ECI Pod時,可以通過nodeSelector來指定Windows虛擬節點,將Pod調度到Windows虛擬節點上運行,即創建出操作系統為Windows的ECI Pod來運行容器。
nodeSelector:
kubernetes.io/os: windows
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" # 綁定EIP以便拉取公網鏡像
k8s.aliyun.com/eci-use-specs: "ecs.c6.4xlarge" # 指定規格
spec:
containers:
- name: test
image: mcr.microsoft.com/windows/nanoserver:ltsc2022 # 使用Windows容器鏡像
command: ["ping","-t","localhost" ]
nodeSelector:
kubernetes.io/os: windows # 調度到Windows虛擬節點
文檔內容是否對您有幫助?