全部產品
Search
文件中心

Elastic Container Instance:(邀測)調度Pod到Windows虛擬節點

更新時間:Jul 06, 2024

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虛擬節點。

  1. 修改eci-profile。

    kubectl edit -n kube-system cm/eci-profile

    在eci-profile的data中將enableWindowsAmd64Node配置為true,樣本如下:

    data:
      ......
      enableWindowsAmd64Node: "true"   #啟用Windows節點
      ......
  2. 查看叢集中是否已有Windows虛擬節點。

    kubectl get nodes -l kubernetes.io/os=windows

    預期返回如下,可以看到叢集已自動產生Windows虛擬節點。

    windows.png

建立作業系統為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虛擬節點