使用啟動範本自訂受管節點 - Amazon EKS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用啟動範本自訂受管節點

若要取得最高層級的自訂,您可以使用自己的啟動範本來部署受管節點。使用啟動範本可提供下列功能:

  • 在部署節點時提供啟動程序引數,例如額外的 kubelet 引數。

  • 將 IP 地址指派給來自不同於將 IP 地址指派給節點之 CIDR 區塊的 Pods。

  • 將自己的自訂 AMI 部署至節點。

  • 將您自己的自訂 CNI 部署至節點。

如果您在第一次建立受管節點群組期間提供自己的啟動範本,稍後也會得到更出色的靈活性。只要使用自己的啟動範本部署受管節點群組,您就可以使用不同版本的相同啟動範本來反覆更新。將節點群組更新為不同版本的啟動範本時,群組中的所有節點都會回收,以符合指定啟動範本版本的新組態。

一律使用 Amazon EC2 Auto Scaling 群組所使用的啟動範本部署受管節點群組。如果未提供啟動範本,Amazon EKS API 會使用帳戶中的預設值自動建立此啟動範本。然而,我們不建議您修改自動產生的啟動範本。此外,未使用自訂啟動範本的現有節點群組無法直接更新。相反,您必須建立具有自訂啟動範本的新節點群組,才能執行此動作。

啟動範本組態基礎知識

您可以使用 AWS Management Console、 AWS CLI或開發 AWS 套件建立 Amazon EC2 自動擴展啟動範本。如需詳細資訊,請參閱《Amazon EC2 Auto Scaling 使用者指南》中的建立 Auto Scaling 群組的啟動範本。啟動範本中的某些設定與用於受管理節點組態的設定類似。使用啟動範本部署或更新節點群組時,必須在節點群組組態或啟動範本其中一個位置中指定某些設定。請勿同時在兩個位置指定同一設定。如果設定存在於不應該的地方,則建立或更新節點群組之類的動作會失敗。

下表會列出啟動範本中禁止的設定。該表也會列出受管節點群組組態中需要的類似設定 (如果有)。列出的設定是顯示在主控台中的設定。它們在 AWS CLI 和 SDK 中可能具有相似但不同的名稱。

啟動範本:禁止 Amazon EKS 節點群組組態
Network interfaces (網路介面) (Add network interface (新增網路介面)) 下的 Subnet (子網) Specify networking (指定聯網) 頁面上 Node Group network configuration (節點群組網路組態) 下的 Subnets (子網)
Advanced details (進階詳細資訊) 下的 IAM instance profile (IAM 執行個體描述檔) Configure Node Group (設定節點群組) 頁面上 Node Group configuration (節點群組組態) 下的 Node IAM Role (節點 IAM 角色)
Advanced details (進階詳細資訊) 下的 Shutdown behavior (關機行為) 和 Stop - Hibernate behavior (停用 – 休眠行為)。為兩種設定在啟動範本中保留預設 Don't include in launch template setting (請勿包含在啟動範本設定中)。 無同等。Amazon EKS 必須控制執行個體生命週期,而非 Auto Scaling 群組。

下表會列出受管節點群組組態中禁止的設定。該表也會列出類似的設定 (如果有),這些設定在啟動範本中是必要設定。列出的設定是顯示在主控台中的設定。它們可能在 AWS CLI 和 SDK 中具有類似的名稱。

Amazon EKS 節點群組組態設定:禁止 啟動範本

(僅當您在啟動模板中指定了自訂 AMI 時) 在 Set compute and scaling configuration (設定運算和擴展組態) 頁面上 Node Group compute configuration (節點群組運算組態) 下的 AMI type (AMI 類型) – 主控台顯示 Specified in launch template (在啟動範本中指定) 以及指定的 AMI ID。

如果未在啟動範本中指定 Application and OS Images (Amazon Machine Image) (應用程式和作業系統映像 (Amazon Machine Image)),您可在節點群組組態中選取 AMI。

Launch template contents (啟動範本內容) 下的 Application and OS Images (Amazon Machine Image) (應用程式和作業系統映像 (Amazon Machine Image)):如果您有下列任一要求,則必須指定 ID:

  • 使用自訂 AMI。如果您指定的 AMI 不符合 指定 AMI 中所列要求,則節點群組部署將會失敗。

  • 想要提供使用者資料將引數提供給 bootstrap.sh 檔案,其中包含在 Amazon EKS 最佳化 AMI。您可以讓執行個體指派大量的 IP 位址給Pods、Pods從不同的 CIDR 區塊指派 IP 位址給執行個體,或是部署沒有輸出網際網路存取權的私人叢集。如需詳細資訊,請參閱下列主題:

Set compute and scaling configuration (設定運算和擴展組態) 頁面上 Node Group compute configuration (節點群組運算組態) 下的 Disk size (磁碟大小):主控台顯示 Specified in launch template (在啟動範本中指定)。 Storage (Volumes) (儲存 (磁碟區)) (Add new volume (新增磁碟區)) 下的 Size (大小)。您必須在啟動範本中指定此選項。
Specify Networking (指定聯網) 頁面上 Node Group configuration (節點群組組態) 下的 SSH key pair (SSH 金鑰對) – 主控台會顯示在啟動範本中指定的金鑰,或顯示 Not specified in launch template (未在啟動範本中指定)。 Key pair (login) (金鑰對 (登入)) 下的 Key pair name (金鑰對名稱)。
使用啟動範本時,您無法指定允許遠端存取的來源安全群組。 針對執行個體的 Network settings (網路設定) 下的 Security groups (安全群組) 或 Network interfaces (網路介面) 下的 Security groups (安全群組) (Add network interface (新增網路介面)),但不能兩者同時選擇。如需詳細資訊,請參閱 使用自訂安全群組
注意
  • 如果使用啟動範本部署節點群組,請在啟動範本的 Launch template contents (啟動範本內容) 中指定零或一個 Instance type (執行個體類型)。您也可以在主控台上的 Set compute and scaling configuration (設定運算和擴展組態) 頁面中,為 Instance types (執行個體類型) 指定 0 到 20 個執行個體類型。您還可以使用其他使用 Amazon EKS API 的工具來執行這項操作。如果在啟動範本中指定執行個體類型,並使用該啟動範本來部署節點群組,則無法在主控台中指定任何執行個體類型,或使用其他使用 Amazon EKS API 的工具。如果未在啟動範本、主控台中或使用其他使用 Amazon EKS API 的工具指定執行個體類型,請使用 t3.medium 執行個體類型。如果您的節點群組正在使用 Spot 容量類型,則建議使用主控台指定多個執行個體類型。如需詳細資訊,請參閱 受管節點群組容量類型

  • 如果您部署到節點群組的任何容器使用執行個體中繼資料服務版本 2,請確定在啟動範本中將 Metadata response hop limit (中繼資料回應躍點限制) 設定為 2。如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的執行個體中繼資料和使用者資料。如果在未使用自訂啟動範本的情況下部署受管節點群組,則會自動為預設啟動範本中的節點群組設定此值。

標記 Amazon EC2 執行個體

您可以使用啟動範本的 TagSpecification 參數,以指定要將哪些標籤套用至節點群組中的 Amazon EC2 執行個體。IAM 實體呼叫 CreateNodegroupUpdateNodegroupVersion API 必須擁有 ec2:RunInstancesec2:CreateTags 許可,而且標籤必須新增至啟動範本。

使用自訂安全群組

您可以使用啟動範本來指定自訂 Amazon EC2 安全群組以套用至節點群組中的執行個體。這可以是在執行個體層級安全群組參數中,也可以是網路介面組態參數的一部分。不過,您無法建立同時指定執行個體層級和網路介面安全群組的啟動範本。請考慮下列適用於搭配受管節點群組使用之自訂安全群組的條件:

  • Amazon EKS 僅允許使用單一網路介面規格的啟動範本。

  • 預設情況下,Amazon EKS 將叢集安全群組套用至節點群組中的執行個體,以促進節點與控制平面之間的通訊。如果使用先前提到的任一選項在啟動範本中指定自訂安全群組,則 Amazon EKS 不會新增叢集安全群組。因此,您必須確保安全群組的傳入和傳出規則可啟用與叢集端點的通訊。如果安全群組規則不正確,工作節點便無法加入叢集。如需安全群組規則的詳細資訊,請參閱 Amazon EKS 安全群組與考量

  • 如需 SSH 存取節點群組中的執行個體,請包含允許該存取的安全群組。

Amazon EC2 使用者資料

啟動範本包含自訂使用者資料的區段。您可以在此區段中指定節點群組的組態設定,無需手動建立個別自訂 AMI。如需有關 Bottlerocket 可用設定的詳細資訊,請參閱 GitHub 上的 Using user data (使用使用者資料)。

您可以在啟動執行個體時使用 cloud-init 提供啟動範本中的 Amazon EC2 使用者資料。如需詳細資訊,請參閱 cloud-init 文件。您的使用者資料可用來執行一般組態操作。這包含下列操作:

與受管節點群組搭配使用的啟動範本中的 Amazon EC2 使用者資料,必須為 Amazon Linux AMI 的 MIME 分段封存格式和 Bottlerocket AMI 的 TOML 格式。這是因為您的使用者資料與節點加入叢集所需的 Amazon EKS 使用者資料合併。請勿在啟動或修改 kubelet 的使用者資料中指定任何命令。這會作為 Amazon EKS 合併使用者資料的一部分執行。某些 kubelet 參數 (例如在節點上設定標籤) 可以透過受管節點群組 API 直接設定。

注意

如果有關進階 kubelet 自訂 (包括手動啟動或傳入自訂組態參數) 的詳細資訊,請參閱 指定 AMI。如果啟動範本中指定自訂 AMI ID 時,Amazon EKS 不會合併使用者資料。

下列詳細資訊提供有關使用者資料區段的詳細資訊。

Amazon Linux 2 user data

您可以將多個使用者資料區塊組合在一起成為單一 MIME 分段檔案。例如,您可以將設定 Docker 常駐程式的雲端 Boothook 與安裝自訂套件的使用者資料 Shell 指令碼合併。MIME 分段檔案包含下列元件:

  • 內容類型和部分邊界宣告:Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

  • MIME 版本宣告:MIME-Version: 1.0

  • 包含以下元件的一或多個使用者資料區塊:

    • 開啟邊界,表示使用者資料區塊的開始 – --==MYBOUNDARY==

    • 區塊的內容類型宣告:Content-Type: text/cloud-config; charset="us-ascii"。如需內容類型的詳細資訊,請參閱 cloud-init 文件。

    • 使用者資料的內容 (例如,Shell 命令或 cloud-init 指令的清單)。

    • 結束邊界,表示 MIME 分段檔案的結束:--==MYBOUNDARY==--

    以下是您可以用來建立自己的 MIME 分段檔案的範例。

    MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash echo "Running custom user data script" --==MYBOUNDARY==--
Amazon Linux 2023 user data

Amazon 2023 (AL2023) 引入了使用 YAML 組態結構描述nodeadm的新節點初始化程序。如果您使用自我管理的節點群組或 AMI 搭配啟動範本,您現在需要在建立新節點群組時明確提供額外的叢集中繼資料。最小必要參數的範例如下,其中apiServerEndpointcertificateAuthority、和服務現cidr在需要:

--- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-cluster apiServerEndpoint: https://example.com certificateAuthority: Y2VydGlmaWNhdGVBdXRob3JpdHk= cidr: 10.100.0.0/16

您通常會在用戶數據中設置此配置,無論是按原樣還是嵌入在 MIME 多部分文檔中:

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" --BOUNDARY Content-Type: application/node.eks.aws --- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: [...] --BOUNDARY--

在 AL2 中,這些參數的中繼資料是從 Amazon EKS DescribeCluster API 呼叫中探索到的。使用 AL2023 時,自大型節點擴展期間額外 API 呼叫風險限制以來,此行為已發生變更。如果您使用的是沒有啟動範本的受管節點群組,或您正在使用,則此變更不會影響您Karpenter。如需有關certificateAuthority和服務的詳細資訊cidr,請參閱 Amazon EKS API 參考DescribeCluster中的。

Bottlerocket user data

Bottlerocket 會以 TOML 格式建構使用者資料。您可以提供要與 Amazon EKS 提供的使用者資料合併的使用者資料。例如,您可以提供額外的 kubelet 設定。

[settings.kubernetes.system-reserved] cpu = "10m" memory = "100Mi" ephemeral-storage= "1Gi"

如需有關受支援設定的詳細資訊,請參閱 Bottlerocket 文件。您可以在使用者資料中設定節點標籤和污點。不過,建議您改為在節點群組內設定。在執行這項操作時,Amazon EKS 會套用這些組態。

合併使用者資料時,不會保留格式設定,但內容保持不變。您在使用者資料中提供的組態會覆寫 Amazon EKS 所設定的任何設定。所以,如果您設定 settings.kubernetes.max-pods 或者 settings.kubernetes.cluster-dns-ip,則使用者資料中的值會套用至節點。

Amazon EKS 不支援所有有效的 TOML。以下是已知不支援格式的清單:

  • 引號鍵內的引號:'quoted "value"' = "value"

  • 值中的溢出引號:str = "I'm a string. \"You can quote me\""

  • 混合浮點數和正整數:numbers = [ 0.1, 0.2, 0.5, 1, 2, 5 ]

  • 陣列中的混合類型:contributors = ["foo@example.com", { name = "Baz", email = "baz@example.com" }]

  • 帶引號鍵的括號標題:[foo."bar.baz"]

Windows user data

Windows 使用者資料會使用 PowerShell 命令。建立受管節點群組時,您的自訂使用者資料會與 Amazon EKS 受管使用者資料結合。您的 PowerShell 命令為優先,然後是受管的使用者資料命令,所有這些命令都在一個 <powershell></powershell> 標籤中。

注意

如果啟動範本中未指定任何 AMI ID,請勿在使用者資料中使用 Windows Amazon EKS 引導指令碼來設定 Amazon EKS。

範例使用者資料如下。

<powershell> Write-Host "Running custom user data script" </powershell>

指定 AMI

如果有下列其中一項要求,請在啟動範本 ImageId 欄位中指定 AMI ID。選取您對其他資訊的要求。

引導是一個術語,用於描述新增在執行個體啟動時可以執行的命令。例如,引導允許使用額外的 kubelet 引數。您可以使用 eksctl 將引數傳遞給 bootstrap.sh 而不指定啟動範本。您也可以在啟動範本的使用者資料區段中指定資訊來執行此動作。

eksctl without specifying a launch template

使用下列內容建立名為 my-nodegroup.yaml 的檔案。使用您自己的值取代每一個 example value--apiserver-endpoint--b64-cluster-ca,和 --dns-cluster-ip 引數為選用。但是,定義引述會允許 bootstrap.sh 指令碼避免進行 describeCluster 呼叫。這在經常縮減和擴增節點的私有叢集設定或叢集中非常有用。如需 bootstrap.sh 指令碼的詳細資訊,請參閱 GitHub 上的 bootstrap.sh 檔案。

  • 唯一需要的引數是叢集名稱 (my-cluster)。

  • 若要擷取 ami-1234567890abcdef0 的最佳畫 AMI ID,您可以使用以下各節中的表格:

  • 若要擷取您的叢集的 certificate-authority,請執行以下命令。

    aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code
  • 若要擷取您的叢集的 api-server-endpoint,請執行以下命令。

    aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code
  • --dns-cluster-ip 的值是結尾處為 .10 的服務 CIDR。若要擷取您的叢集的 service-cidr,請執行以下命令。例如,如果傳回的值是 ipv4 10.100.0.0/16,則您的值是 10.100.0.10

    aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code
  • 此範例使用其中包含 Amazon EKS 最佳化 AMI 的 bootstrap.sh 指令碼提供 kubelet 引數來設定自訂 max-pods 值。節點群組名稱不可超過 63 個字元。它必須以字母或數字開頭,但剩餘字元也可以包含連字符和底線。如需選取 my-max-pods-value 的協助,請參閱 Amazon EKS 為每種 Amazon EC2 執行個體類型建議 Pods 數量上限

--- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code managedNodeGroups: - name: my-nodegroup ami: ami-1234567890abcdef0 instanceType: m5.large privateNetworking: true disableIMDSv1: true labels: { x86-al2-specified-mng } overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.sh my-cluster \ --b64-cluster-ca certificate-authority \ --apiserver-endpoint api-server-endpoint \ --dns-cluster-ip service-cidr.10 \ --kubelet-extra-args '--max-pods=my-max-pods-value' \ --use-max-pods false

針對每一個可用的 eksctl config 檔案選項,請參閱 eksctl 文件中的 Config file schema (組態檔案結構描述)。此 eksctl 公用程式仍會為您建立啟動範本,並使用在 config 檔案提供的資料來填入其使用者資料。

使用下列命令來建立節點群組。

eksctl create nodegroup --config-file=my-nodegroup.yaml
User data in a launch template

在啟動範本的使用者資料區段中指定下列資訊。使用您自己的值取代每一個 ‭example value‬。--apiserver-endpoint--b64-cluster-ca,和 --dns-cluster-ip 引數為選用。但是,定義引述會允許 bootstrap.sh 指令碼避免進行 describeCluster 呼叫。這在經常縮減和擴增節點的私有叢集設定或叢集中非常有用。如需 bootstrap.sh 指令碼的詳細資訊,請參閱 GitHub 上的 bootstrap.sh 檔案。

  • 唯一需要的引數是叢集名稱 (my-cluster)。

  • 若要擷取您的叢集的 certificate-authority,請執行以下命令。

    aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code
  • 若要擷取您的叢集的 api-server-endpoint,請執行以下命令。

    aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code
  • --dns-cluster-ip 的值是結尾處為 .10 的服務 CIDR。若要擷取您的叢集的 service-cidr,請執行以下命令。例如,如果傳回的值是 ipv4 10.100.0.0/16,則您的值是 10.100.0.10

    aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code
  • 此範例使用其中包含 Amazon EKS 最佳化 AMI 的 bootstrap.sh 指令碼提供 kubelet 引數來設定自訂 max-pods 值。如需選取 my-max-pods-value 的協助,請參閱 Amazon EKS 為每種 Amazon EC2 執行個體類型建議 Pods 數量上限

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash set -ex /etc/eks/bootstrap.sh my-cluster \ --b64-cluster-ca certificate-authority \ --apiserver-endpoint api-server-endpoint \ --dns-cluster-ip service-cidr.10 \ --kubelet-extra-args '--max-pods=my-max-pods-value' \ --use-max-pods false --==MYBOUNDARY==--

引導是一個術語,用於描述新增在執行個體啟動時可以執行的命令。您可以使用 eksctl 將引數傳遞給 Start-EKSBootstrap.ps1 而不指定啟動範本。您也可以在啟動範本的使用者資料區段中指定資訊來執行此動作。

如果您想指定自訂 Windows AMI ID,請注意下列考量事項:

  • 您必須使用啟動範本,並在使用者資料區段中提供所需引導命令。若要擷取所需 Windows ID,您可以使用 Amazon EKS 最佳化 Windows AMI 中的資料表。

  • 您需滿足幾個限制和條件。例如,您必須新增eks:kube-proxy-windows至 AWS IAM 驗證器設定對應。如需詳細資訊,請參閱 指定 AMI ID 時的限制和條件

在啟動範本的使用者資料區段中指定下列資訊。使用您自己的值取代每一個 ‭example value‬。-APIServerEndpoint-Base64ClusterCA,和 -DNSClusterIP 引數為選用。但是,定義引述會允許 Start-EKSBootstrap.ps1 指令碼避免進行 describeCluster 呼叫。

  • 唯一需要的引數是叢集名稱 (my-cluster)。

  • 若要擷取您的叢集的 certificate-authority,請執行以下命令。

    aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code
  • 若要擷取您的叢集的 api-server-endpoint,請執行以下命令。

    aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code
  • --dns-cluster-ip 的值是結尾處為 .10 的服務 CIDR。若要擷取您的叢集的 service-cidr,請執行以下命令。例如,如果傳回的值是 ipv4 10.100.0.0/16,則您的值是 10.100.0.10

    aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code
  • 如需其他引數,請參閱 引導指令碼組態參數

    注意

    如果您使用的是自訂服務 CIDR,則需要使用 -ServiceCIDR 參數來對其進行指定。否則,叢集中 Pods 的 DNS 解析將會失敗。

<powershell> [string]$EKSBootstrapScriptFile = "$env:ProgramFiles\Amazon\EKS\Start-EKSBootstrap.ps1" & $EKSBootstrapScriptFile -EKSClusterName my-cluster ` -Base64ClusterCA certificate-authority ` -APIServerEndpoint api-server-endpoint ` -DNSClusterIP service-cidr.10 </powershell>

如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的 Amazon Machine Image (AMI)。Amazon EKS AMI 構建規格包含用於基於 Amazon Linux 構建自定義 Amazon EKS AMI 的資源和配置腳本。如需詳細資訊,請參閱 GitHub 上的 Amazon EKS AMI Build Specification (Amazon EKS AMI 建置規格)。若要建置使用其他作業系統安裝的自訂 AMI,請參閱 GitHub 上的 Amazon EKS Sample Custom AMIs (Amazon EKS 範例自訂 AMI)。

重要

指定 AMI 時,Amazon EKS 不會合併任何使用者資料。相反,您必須負責提供所需的 bootstrap 命令,讓節點加入叢集。如果節點無法加入叢集,則 Amazon EKS CreateNodegroupUpdateNodegroupVersion 動作也會失敗。

指定 AMI ID 時的限制和條件

以下是使用受管節點群組指定 AMI ID 所涉及的限制和條件:

  • 您必須建立新的節點群組,才能在指定啟動範本的 AMI ID 與不指定 AMI ID 之間切換。

  • 有較新的 AMI 版本可用時,您不會在主控台中收到通知。若要將節點群組更新為較新的 AMI 版本,您需要使用更新的 AMI ID 來建立新版本的啟動範本。然後,您需要使用新的啟動範本版本更新節點群組。

  • 如果指定 AMI ID,則無法在 API 中設定下列欄位:

    • amiType

    • releaseVersion

    • version

  • 如果您指定 AMI ID,則 API 的任何 taints 集合都會以非同步方式套用。若要在節點加入叢集之前套用污點,您必須使用 --register-with-taints 命令列旗標將污點傳遞給使用者資料的 kubelet。如需詳細資訊,請參閱 Kubernetes 文件中的 kubelet

  • 為Windows受管節點群組指定自訂 AMI ID 時,請新增eks:kube-proxy-windows至 AWS IAM 驗證器組態對應。必須要有這項,DNS 才能正常運作。

    1. 開啟 AWS IAM 驗證器設定對應以進行編輯。

      kubectl edit -n kube-system cm aws-auth
    2. 將此項目新增至與 Windows 節點關聯之每個 rolearn 下的 groups 清單中。您的組態映射看起來應類似於 aws-auth-cm-windows.yaml

      - eks:kube-proxy-windows
    3. 儲存檔案並結束您的文字編輯器。