跳至主要内容

EKS 叢集配置參考

帳戶存取​

使用為你的 IAM 策略取得的資訊填寫每個下拉式選單和欄位。

設定說明
Region從下拉式選單中選擇要在其中建立叢集的地理區域。
Cloud Credentials選擇你為 IAM 策略建立的雲端憑證。有關在 Rancher 中建立雲端憑證的更多資訊,請參閱此頁面。

服務角色​

選擇一個服務角色。

服務角色說明
Standard: Rancher generated service role如果你選擇此角色,Rancher 會自動新增一個服務角色供叢集使用。
Custom: Choose from your existing service roles如果你選擇此角色,Rancher 允許你從你已經在 AWS 中建立的服務角色中選擇。有關在 AWS 中建立自訂服務角色的更多資訊,請參閱 Amazon 文件。

金鑰加密​

可選:要加密金鑰,請選擇或輸入在 AWS Key Management Service (KMS) 中建立的金鑰

API 伺服器端點存取​

配置公共/私有 API 存取是進階使用案例。有關詳細資訊,請參閱 EKS 叢集端點存取控制文件。

僅私有 API 端點​

如果你在建立叢集時啟用私有並停用公共 API 端點存取,那麼你必須採取額外的步驟才能讓 Rancher 成功連線到叢集。在這種情況下,將顯示一個彈出視窗,其中包含你將在叢集上執行以將其註冊到 Rancher 的命令。叢集佈建完成後,你可以在可以連線到叢集的 Kubernetes API 的任何地方執行顯示的命令。

有兩種方法可以避免這個額外的手動步驟:

  • 你可以在建立叢集時同時啟用私有和公共 API 端點存取。你可以在叢集建立並處於活動狀態後停用公共存取,Rancher 將繼續與 EKS 叢集通訊。
  • 你可以確保 Rancher 與 EKS 叢集共享子網路。然後可以使用安全群組來啟用 Rancher 與叢集的 API 端點通訊。在這種情況下,不需要註冊叢集的命令,Rancher 將能夠與你的叢集通訊。有關配置安全群組的更多資訊,請參閱安全群組文件。

公共存取端點​

可選地透過明確的 CIDR 區塊限制對公共端點的存取。

如果你限制對特定 CIDR 區塊的存取,則建議你同時啟用私有存取以避免失去與叢集的網路通訊。

啟用私有存取需要以下條件之一:

  • Rancher 的 IP 必須是允許的 CIDR 區塊的一部分
  • 應啟用私有存取,並且 Rancher 必須與叢集共享子網路並具有對叢集的網路存取,這可以透過安全群組配置

有關對叢集端點的公共和私有存取的更多資訊,請參閱 Amazon EKS 文件。

子網路​

選項說明
Standard: Rancher generated VPC and Subnet在佈建你的叢集時,Rancher 會生成一個新的 VPC 以及 3 個公共子網路。
Custom: Choose from your existing VPC and Subnets在佈建你的叢集時,Rancher 會配置你的控制平面和節點以使用你已經在 AWS 中建立的 VPC 和子網路。

有關更多資訊,請參閱 AWS 文件中的叢集 VPC 注意事項。根據你在上一步中的選擇,遵循以下其中一組說明。

安全群組​

Amazon 文件:

日誌記錄​

配置控制平面日誌以傳送到 Amazon CloudWatch。你將為從叢集傳送到 CloudWatch Logs 的任何日誌支付標準的 CloudWatch Logs 資料擷取和儲存費用。

每個日誌類型對應於 Kubernetes 控制平面的一個元件。要了解有關這些元件的更多資訊,請參閱 Kubernetes 文件中的 Kubernetes 元件。

有關 EKS 控制平面日誌記錄的更多資訊,請參閱官方文件。

託管節點群組​

Amazon EKS 託管節點群組自動化 Amazon EKS Kubernetes 叢集的節點(Amazon EC2 執行個體)的佈建和生命週期管理。

有關節點群組如何工作以及如何配置它們的更多資訊,請參閱 EKS 文件。

使用者提供的啟動範本​

你可以提供自己的啟動範本 ID 和版本來配置節點群組中的 EC2 執行個體。如果你提供啟動範本,則無法從 Rancher 配置任何範本設定。你必須在啟動範本中設定下面列出的所有必需選項。

此外,如果你提供啟動範本,則只能更新範本版本,而不能更新範本 ID。要使用新的範本 ID,請建立新的託管節點群組。

選項說明必需/可選
Instance Type為你正在佈建的執行個體選擇硬體規格。必需
Image ID為節點指定自訂 AMI。與 EKS 一起使用的自訂 AMI 必須正確配置可選
Node Volume Size啟動範本必須指定具有所需大小的 EBS 卷必需
SSH Key要新增到執行個體的金鑰,以提供對節點的 SSH 存取可選
User DataMIME 多部分格式的 Cloud init 指令碼可選
Instance Resource Tags標記節點群組中的每個 EC2 執行個體及其卷可選
警告

如果節點群組是從自訂啟動範本建立的,則無法直接將節點群組更新到較新的 Kubernetes 版本。你必須使用正確的 Kubernetes 版本建立新的啟動範本,並將節點群組與新範本關聯。

Rancher 管理的啟動範本​

如果你未指定啟動範本,那麼你將能夠在 Rancher UI 中配置上述選項,並且所有選項都可以在建立後更新。為了利用所有這些選項,Rancher 將為你建立和管理一個啟動範本。Rancher 中的每個叢集將有一個 Rancher 管理的啟動範本,每個沒有指定啟動範本的託管節點群組將有一個管理的啟動範本版本。此啟動範本的名稱將具有前綴 "rancher-managed-lt-",後跟叢集的顯示名稱。此外,Rancher 管理的啟動範本將使用鍵 "rancher-managed-template" 和值 "do-not-modify-or-delete" 進行標記,以幫助將其識別為 Rancher 管理的。重要的是,此啟動範本及其版本不得被修改、刪除或與任何其他叢集或託管節點群組一起使用。這樣做可能會導致你的節點群組"降級"並需要被銷毀和重新建立。

自訂 AMI​

如果你指定自訂 AMI,無論是在啟動範本中還是在 Rancher 中,則映像必須正確配置,並且你必須提供使用者資料來引導節點。這被認為是進階使用案例,理解需求是至關重要的。

如果你指定不包含自訂 AMI 的啟動範本,則 Amazon 將使用 Kubernetes 版本和所選區域的 EKS 最佳化 AMI。你還可以為受益於它的工作負載選擇啟用 GPU 的執行個體。

備註

如果提供了自訂 AMI(在下拉式選單中或在啟動範本中),則會忽略 Rancher 中的 GPU 啟用執行個體設定。

Spot 執行個體​

Spot 執行個體現在受 EKS 支援。如果指定了啟動範本,Amazon 建議該範本不提供執行個體類型。相反,Amazon 建議提供多個執行個體類型。如果為節點群組啟用了"Request Spot Instances"核取方塊,那麼你將有機會提供多個執行個體類型。

備註

在這種情況下,你在執行個體類型下拉式選單中所做的任何選擇都將被忽略,你必須至少為"Spot Instance Types"部分指定一個執行個體類型。此外,與 EKS 一起使用的啟動範本不能請求 spot 執行個體。請求 spot 執行個體必須是 EKS 配置的一部分。

節點群組設定​

以下設定也可配置。除了"Node Group Name"之外,所有這些都可以在建立節點群組後編輯。

選項說明
Node Group Name節點群組的名稱。
Desired ASG Size所需的執行個體數量。
Maximum ASG Size最大執行個體數量。在安裝叢集自動縮放器之前,此設定不會生效。
Minimum ASG Size最小執行個體數量。在安裝叢集自動縮放器之前,此設定不會生效。
Labels應用於託管節點群組中節點的 Kubernetes 標籤。
Tags這些是託管節點群組的標籤,不會傳播到任何相關資源。

自管理的 Amazon Linux 節點​

你可以註冊包含自管理的 Amazon Linux 節點的 EKS 叢集。你必須根據官方 AWS 文件中的說明配置此類型的叢集,以啟動自管理的 Amazon Linux 節點。包含自管理的 Amazon Linux 節點的 EKS 叢集通常由 Karpenter 專案操作。在你佈建包含自管理的 Amazon Linux 節點的 EKS 叢集後,註冊叢集以便 Rancher 可以管理它。但是,節點不會在 Rancher UI 中可見。

服務帳戶的 IAM 角色​

在 EKS 叢集上執行的應用程式部署可以透過 IAM 權限向 AWS 服務發出請求。這些應用程式必須使用 AWS 憑證簽署其請求。服務帳戶的 IAM 角色使用 AWS OIDC 端點管理這些憑證。你可以將 IAM 角色連結到 Kubernetes 服務帳戶並配置你的 Pod 使用此帳戶,而不是將 AWS 憑證分發到容器或依賴於 EC2 執行個體的角色。

備註

EKS 叢集中的 Rancher Pod 不支援連結到 IAM 角色。

要啟用服務帳戶的 IAM 角色:

  1. 為你的叢集建立 IAM OIDC 提供者
  2. 配置 Kubernetes 服務帳戶以承擔 IAM 角色
  3. 配置 Pod 使用 Kubernetes 服務帳戶
  4. 使用支援的 AWS SDK

配置重新整理間隔​

eks-refresh-cron 設定已棄用。它已遷移到 eks-refresh 設定,這是一個表示秒數的整數。

預設值為 300 秒。

同步間隔可以透過執行 kubectl edit setting eks-refresh 來更改。

如果先前設定了 eks-refresh-cron 設定,則遷移將自動發生。

重新整理視窗越短,發生任何競態條件的可能性就越小,但這確實會增加遇到 AWS API 可能存在的請求限制的可能性。