建立自我管理Ubuntu Linux節點 - Amazon EKS

協助改善此頁面

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

想要為此使用者指南做出貢獻? 選擇 GitHub 上的編輯此頁面連結,該連結位於每個頁面的右窗格中。您的貢獻將幫助我們的使用者指南更適合每個人。

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

建立自我管理Ubuntu Linux節點

注意

受管節點群組可能會為您的使用案例提供一些優勢。如需詳細資訊,請參閱使用受管節點群組簡化節點生命週期

本主題說明如何在向 Amazon EKS 叢集註冊的 Amazon Elastic Kubernetes Service (EKS)Amazon Elastic Kubernetes Service (EKS) 節點上啟動 Ubuntu 的 Auto Scaling 群組。 Ubuntu和 Ubuntu Pro EKS 是以官方Ubuntu最低 LTS 為基礎, 包含與 AWS 共同開發的自訂核心 AWS, 和 專為 EKS 而建置。 支援 EKS 延長支援期間,Ubuntu Pro新增了額外的安全涵蓋範圍, 核心 livepatch、 FIPS 合規和執行無限制Pro容器的能力。

節點加入叢集後,您可以將容器化應用程式部署到叢集。如需詳細資訊,請參閱 上的 Ubuntu AWS eksctl 文件和 文件中的自訂 AMI 支援

重要
  • Amazon EKS 節點為標準 Amazon EC2 執行個體,會根據一般 Amazon EC2 執行個體價格向您收取這些節點的費用。如需詳細資訊,請參閱 Amazon EC2 定價

  • 您可以在 AWS Outposts 上的 Amazon EKS 延伸叢集中啟動Ubuntu節點,但無法在 AWS Outposts 的本機叢集中啟動節點。如需詳細資訊,請參閱使用 AWS Outposts 部署 Amazon EKS 內部部署

  • 您可以使用 x86 或 Arm 處理器部署至 Amazon EC2 執行個體。不過,具有Inferentia晶片的執行個體可能需要先安裝 Neuron SDK

此程序需要 eksctl 版本 0.199.0 或更新版本。您可使用以下命令檢查您的版本:

eksctl version

如需如何安裝或升級 的指示eksctl,請參閱 eksctl 文件中的安裝。注意:此程序僅適用於使用 建立的叢集eksctl

+ 。 將下列內容複製到您的裝置。使用您叢集的名稱取代 my-cluster。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以字母字元開頭,且長度不可超過 100 個字元。將 ng-ubuntu 取代為您的節點群組名稱。節點群組名稱不能超過 63 個字元。它必須以字母或數字開頭,但剩餘字元也可以包含連字符和底線。若要在Arm執行個體上部署,請將 取代m5.large為Arm執行個體類型。使用 Amazon EC2 SSH 金鑰對名稱取代 my-ec2-keypair-name,您可以在節點啟動後使用該金鑰對來透過 SSH 連接至節點。如果您還沒有 Amazon EC2 金鑰對,您可以在 中建立一個金鑰對 AWS Management Console。如需詳細資訊,請參閱《Amazon EC2 使用者指南》中的 Amazon EC2 金鑰對。 Amazon EC2 將所有剩餘的範例值取代為您自己的值。進行替換後,請執行修改後的命令來建立 ubuntu.yaml 檔案。

+ 重要:若要將節點群組部署至 AWS Outposts、 AWS Wavelength 或 AWS Local Zone 子網路,請勿在建立叢集時傳遞 AWS Outposts、 AWS Wavelength 或 AWS Local Zone 子網路。您必須在下列範例中指定子網路。如需詳細資訊,請參閱 eksctl 文件中的從組態檔案建立節點群組組態檔案結構描述。將 region-code 取代為您的叢集所在的 AWS 區域。

+

cat >ubuntu.yaml <<EOF --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code version: '1.31' iam: withOIDC: true nodeGroups: - name: ng-ubuntu instanceType: m5.large desiredCapacity: 3 amiFamily: Ubuntu2204 iam: attachPolicyARNs: - arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws: iam::aws:policy/AmazonSSMManagedInstanceCore - arn:aws: iam::aws:policy/AmazonEKS_CNI_Policy ssh: allow: true publicKeyName: my-ec2-keypair-name EOF

+ 若要建立Ubuntu Pro節點群組,只需將 amiFamily 值變更為 UbuntuPro2204。使用下列命令部署節點。

+

eksctl create nodegroup --config-file=ubuntu.yaml

+ 輸出範例如下所示。

+ 節點建立時,會輸出數行。輸出的最後幾行之一類似於以下的範例行。

+

[✔] created 1 nodegroup(s) in cluster "my-cluster"
  1. (選用) 部署範例應用程式來測試您的 Ubuntu 節點。

  2. 如果下列條件為真,則建議封鎖 Pod 對 IMDS 的存取:

    • 您計劃將 IAM 角色指派給您的所有 Kubernetes 服務帳戶,以便 Pods 僅具有所需的最低權限。

    • 叢集Pods中沒有任何 需要存取 Amazon EC2 執行個體中繼資料服務 (IMDS) 的其他原因,例如擷取目前的 AWS 區域。

    如需詳細資訊,請參閱‬限制存取指派給工作節點的執行個體設定檔‭