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

協助改善此頁面

想要為此使用者指南做出貢獻? 捲動至此頁面底部,然後在 上選取編輯此頁面 GitHub。您的貢獻將幫助我們的使用者指南更適合所有人。

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

建立自我管理 Ubuntu Linux 節點

注意

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

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

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

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

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

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

若要啟動 Ubuntu 適用於 EKS或 Ubuntu Pro 對於使用 的EKS節點 eksctl

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

eksctl version

如需有關安裝或更新 eksctl 的指示,請參閱 eksctl 文件中的 Installation 一節。

注意

此程序只適用於使用 eksctl 所建立的叢集。

  1. 將以下內容複製到您的裝置。使用您叢集的名稱取代 my-cluster。此名稱僅能使用英數字元 (區分大小寫) 和連字號。必須以字母字元開頭,且長度不可超過 100 個字元。將 ng-ubuntu 取代為您的節點群組名稱。節點群組名稱不可超過 63 個字元。它必須以字母或數字開頭,但剩餘字元也可以包含連字符和底線。若要在 上部署 Arm 執行個體,m5.large以 取代 Arm 執行個體類型。my-ec2-keypair-name 將 取代為 Amazon EC2SSH金鑰對的名稱,您可以在啟動後使用 將 連線至SSH節點。如果您還沒有 Amazon EC2金鑰對,您可以在 中建立金鑰對 AWS Management Console。如需詳細資訊,請參閱 Amazon 使用者指南中的 Amazon EC2金鑰對。 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: Ubuntu22.04 ami: auto-ssm 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即可。

  2. 使用下列命令部署節點。

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

    範例輸出如下。

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

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

  4. 我們建議封鎖 Pod IMDS 如果下列條件為 true,則存取 :

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

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

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