的容器型產品需求 AWS Marketplace - AWS Marketplace

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

的容器型產品需求 AWS Marketplace

AWS Marketplace 會針對 上的所有容器型產品和優惠維持下列需求 AWS Marketplace。這些要求有助於為我們的客戶提升安全、可靠且可靠的目錄。我們也鼓勵賣方審查適用的其他控制和協定的實作,以滿足其特定產品的需求。

所有產品及其相關中繼資料都會在提交時檢閱,以確保符合或超過目前的 AWS Marketplace 要求。我們會檢閱和調整這些政策,以符合我們不斷演進的安全性和其他使用需求。 AWS Marketplace 會持續驗證現有產品是否繼續符合這些需求的任何變更。如果產品不符合規範, AWS Marketplace 會與您聯絡以更新您的產品。在某些情況下,您的產品可能暫時無法提供給新訂閱者,直到問題解決為止。

安全要求

所有容器型產品都必須遵守下列安全要求:

  • Docker 容器映像必須沒有任何已知的惡意軟體、病毒或漏洞。當您將新版本新增至容器產品時,會掃描版本中包含的容器映像。

  • 如果您的容器型產品需要存取以管理 AWS 資源,則必須透過服務帳戶的 IAM 角色 (如果透過 Amazon Elastic Kubernetes Service (Amazon EKS) 執行) 或任務的 IAM 角色 (如果透過 Amazon Elastic Container Service (Amazon ECS) 執行) 來存取,而不是向使用者請求存取金鑰。

  • 容器型產品只能需要最低權限才能執行。如需詳細資訊,請參閱 ECS 安全性EKS 安全性

  • 根據預設,容器映像應設定為使用非根權限執行。

存取要求

所有容器型產品都必須遵守下列存取要求:

  • 容器型產品必須使用初始隨機密碼。容器型產品不得將初始固定或空白密碼用於外部管理存取 (例如,透過 Web 介面登入應用程式)。在允許設定或變更自己的登入資料之前,必須提示買方輸入此隨機密碼。

  • 客戶必須明確同意並啟用對應用程式的任何外部存取權。

客戶資訊需求

所有容器型產品都必須遵守下列客戶資訊要求:

  • 除非 BYOL (自帶授權) 要求,否則軟體不得在客戶不知情且明確同意的情況下收集或匯出客戶資料。收集或匯出客戶資料的應用程式必須遵循下列準則:

    • 客戶資料的收集必須是自助式、自動化且安全的。買方不需要等待賣方核准部署軟體。

    • 客戶資料的需求必須在清單的描述或使用說明中清楚說明。這包括收集的內容、存放客戶資料的位置,以及如何使用這些資料。例如,此產品會收集您的姓名和電子郵件地址。此資訊會傳送至 並由 <company name> 存放。此資訊僅用於聯絡有關 <product name> 的買方。

    • 不得收集付款資訊。

產品使用需求

所有容器型產品都必須遵守下列產品使用需求:

  • 賣方只能列出功能完整的產品。不允許用於試用或評估目的的 Beta 版或預先發行產品。如果賣方在提供免費版本的 AWS Marketplace 90 天內在 提供同等的付費版本,則支援商業軟體的開發人員、社群和 BYOL 版本。

  • 容器型產品的所有使用說明必須包含部署容器型產品的所有步驟。使用說明必須提供指向 上對應容器映像的命令和部署資源 AWS Marketplace。

  • 容器型產品必須包含訂閱者使用軟體所需的所有容器映像。此外,容器型產品不得要求使用者使用來自外部的任何映像來啟動產品 AWS Marketplace (例如,來自第三方儲存庫的容器映像)。

  • 容器及其軟體必須以自助方式部署,且不得需要額外的付款方式或成本。需要部署外部相依性的應用程式必須遵循下列準則:

    • 要求必須在清單的描述或使用說明中公開。例如,此產品需要網際網路連線才能正確部署。下列套件會在部署時下載:<list of package>。

    • 賣方負責使用並確保所有外部相依性的可用性和安全性。

    • 如果外部相依性不再可用, AWS Marketplace 也必須從中移除產品。

    • 外部相依性不得需要額外的付款方式或成本。

  • 需要持續連線到外部資源的容器,不受買方直接控制,例如外部 APIs 或由賣方或第三方 AWS 服務 管理的容器,必須遵循下列準則:

    • 要求必須在清單的描述或使用說明中公開。例如,此產品需要持續的網際網路連線。需要下列持續的外部服務才能正常運作:<資源清單>。

    • 賣方負責使用並確保所有外部資源的可用性和安全性。

    • 如果外部資源不再可用, AWS Marketplace 也必須從中移除產品。

    • 外部資源不得需要額外的付款方式或成本,而且連線的設定必須自動化。

  • 產品軟體和中繼資料不得包含將使用者重新導向至其他雲端平台、其他產品或不可用於 的追加銷售服務的語言 AWS Marketplace。

  • 如果您的產品是另一個產品或其他 ISV 產品的附加元件,您的產品描述必須指出它擴展了另一個產品的功能,如果沒有它,您的產品具有非常有限的公用程式。例如,此產品擴展了 <product name> 的功能,如果沒有它,此產品的公用程式非常有限。請注意,<product name> 可能需要自己的授權,才能使用此清單的完整功能。

架構需求

所有容器型產品都必須遵守下列架構要求:

  • 的來源容器映像 AWS Marketplace 必須推送到 擁有的 Amazon Elastic Container Registry (Amazon ECR) 儲存庫 AWS Marketplace。您可以在伺服器產品下的 中 AWS Marketplace 管理入口網站 ,為每個容器產品清單建立這些儲存庫。

  • 容器映像必須以 Linux 為基礎。

  • 付費容器型產品必須能夠部署在 Amazon ECSAmazon EKS 或 上AWS Fargate

  • 具有合約定價和 整合的付費容器型產品 AWS License Manager 應該部署在 Amazon EKS、Amazon ECS AWS Fargate、Amazon EKS Anywhere、Amazon ECS Anywhere、Red Hat OpenShift Service on AWS (ROSA)、內部部署自我管理 Kubernetes 叢集,或 Amazon Elastic Compute Cloud 上。

容器產品使用說明

建立容器產品的使用說明時,請遵循 中的步驟和指引建立 的 AMI 和容器產品使用說明 AWS Marketplace

Amazon EKS 附加元件產品的需求

Amazon EKS 附加元件是為Kubernetes應用程式提供操作功能的軟體,但並非應用程式特有。例如,Amazon EKS 附加元件包含可觀測性代理程式或Kubernetes驅動程式,允許叢集與基礎 AWS 資源互動,以進行聯網、運算和儲存。

身為容器產品的賣方,您可以選擇多種部署選項,包括 Amazon EKS。您可以將產品版本作為 AWS Marketplace 附加元件發佈至 Amazon EKS 附加元件目錄中。您的附加元件會顯示在 Amazon EKS 主控台中,位於由 AWS 和其他廠商維護的附加元件旁。您的買方可以將軟體部署為附加元件,就像部署其他附加元件一樣輕鬆。

如需詳細資訊,請參閱《Amazon EKS 使用者指南》中的 Amazon EKS 附加元件

將容器產品準備為 AWS Marketplace 附加元件

若要將容器產品發佈為 AWS Marketplace 附加元件,必須符合下列要求:

  • 您的容器產品必須在 中發佈 AWS Marketplace。

  • 您的容器產品必須與 AMD64 和 ARM64 架構相容。

  • 您的容器產品不得使用自帶授權 (BYOL) 定價模型

    注意

    Amazon EKS 附加元件交付不支援 BYOL。

  • 您必須遵守所有容器型產品需求,包括將所有容器映像和Helm圖表推送到 AWS Marketplace 受管 Amazon ECR 儲存庫。此需求包含開放原始碼映像,例如 nginx。影像和圖表無法託管在其他外部儲存庫中,包括但不限於 Amazon ECR Public Gallery、 Docker Hub和 Quay。

  • Helm 圖表 - 準備透過Helm圖表部署您的軟體。Amazon EKS 附加元件架構會將Helm圖表轉換為資訊清單。Amazon EKS 系統不支援某些Helm功能。下列清單說明加入前必須符合的要求。在此清單中,所有Helm命令都使用 3.8.1 Helm版:

    • 支援所有Capabilities物件,但 的例外狀況為 .APIVersions.APIVersions 不支援non-built-in Kubernetes APIs。

    • 僅支援 Release.NameRelease.Namespace 物件。

    • Helm 不支援勾點和 lookup函數。

    • 所有相依圖表都必須位於主Helm圖表中 (以儲存庫路徑檔案://... 指定)。

    • Helm 圖表必須成功傳遞 Helm Lint 和 Helm 範本,沒有錯誤。命令如下所示:

      • Helm Lint – helm lint helm-chart

        常見問題包括父圖表中繼資料中未宣告的圖表。例如 chart metadata is missing these dependencies: chart-base Error: 1 chart(s) linted, 1 chart(s) failed

      • Helm 範本 – helm template chart-name chart-location —set k8version=Kubernetes-version —kube-version Kubernetes-version —namespace addon-namespace —include-crds —no-hooks —f any-overriden-values

        使用 —f旗標傳遞任何覆寫的組態。

    • 將所有容器二進位檔存放在 AWS Marketplace Amazon ECR 儲存庫中。若要建立資訊清單,請使用先前顯示的Helm範本命令。搜尋資訊清單以取得任何外部影像參考,例如 busyboxgcr 影像。使用請求下拉式清單中的新增儲存庫選項,將所有容器映像以及相依性上傳到建立的 AWS Marketplace Amazon ECR 儲存庫。

  • 自訂組態 – 您可以在部署期間新增自訂變數。如需如何識別最終使用者體驗、命名軟體aws_mp_configuration_schema.json,以及使用Helm圖表封裝成包裝函式的詳細資訊,請參閱 Amazon EKS 附加元件:進階組態

    根據「$schema」關鍵字$schema 必須是指向有效application/schema+json資源的 URI。

    此檔案不得接受任何敏感資訊,例如密碼、授權金鑰和憑證。

    若要處理秘密和憑證安裝,您可以為最終使用者提供後pre-Add-on元件安裝步驟。產品不應依賴任何外部授權。產品應該根據 AWS Marketplace 權限運作。

    如需 限制的詳細資訊aws_mp_configuration_schema.json,請參閱 附加元件提供者的附加元件組態需求和最佳實務

  • 識別並建立要部署軟體的命名空間 – 在產品的第一個版本中,您必須新增範本命名空間,以識別要部署軟體的命名空間。

  • 如果適用,serviceAccount請建立 :如果軟體是 上的付費軟體, AWS Marketplace 或必須與其他軟體連線 AWS 服務,請確定Helm圖表serviceAccount預設會建立。如果serviceAccount建立是由values.yaml檔案中的參數處理,請將 參數值設定為 true。例如:serviceAccount.create = true。這是必要的,因為客戶可能會選擇從已具備必要許可的基礎節點執行個體繼承許可來安裝附加元件。如果 Helm Chart 未建立 serviceAccount,則許可無法繫結至 serviceAccount

  • 可追蹤的部署或協助程式集 – 確保您的 Helm Chart 具有協助程式集或部署。Amazon EKS 附加元件架構會使用它們來追蹤 Amazon EKS 資源的部署。如果沒有可追蹤的部署或協助程式集,您的附加元件將面臨部署錯誤。如果您的附加元件沒有部署或協助程式集,例如,如果您的附加元件部署了大量自訂資源或無法追蹤的 Kubernetes 任務,請新增虛擬部署或協助程式集物件。

  • 支援 AMD 和 ARM 架構 – 許多 Amazon EKS 客戶現在使用 ARM64 來使用 AWS Graviton 執行個體。第三方軟體必須支援這兩種架構。

  • 與 的授權或計量 APIs 整合 AWS Marketplace – AWS Marketplace 支援多個帳單模型。如需詳細資訊,請參閱容器產品計費、計量和授權整合。如果您想要透過 PAYG 機制銷售產品,請參閱 使用 AWS Marketplace Metering Service 設定容器產品的自訂計量。如果您想要透過預付或合約模型銷售產品,請參閱使用 的容器產品的合約定價 AWS License Manager

  • 上傳軟體和所有成品和相依性 – Helm Chart 必須獨立,且不得需要來自外部來源的相依性,例如 GitHub。如果軟體需要外部相依性,則必須將相依性推送至相同 AWS Marketplace 清單下的 AWS Marketplace 私有 Amazon ECR 儲存庫。

  • 在您的網站上提供部署說明 – 我們要求您託管部署指南,讓客戶了解如何透過 create-addon 命令部署您的軟體。

  • IAM 角色 – 列出軟體運作或與其他軟體連線所需的所有 AWS Identity and Access Management (IAM) 政策 AWS 服務。

  • 版本更新 – Amazon EKS 會在上游版本發行後的幾週內發行新的 Kubernetes 版本。隨著新的 Amazon EKS 叢集版本正式推出,廠商有 45 天的時間來認證或更新其軟體,使其與新的 Amazon EKS 叢集版本版本相容。如果您目前的附加元件版本支援新的 Kubernetes 版本,請驗證並認證相同的版本,以便我們可以更新版本相容性矩陣。如果需要新的附加元件版本來支援新的 Kubernetes 版本版本,請提交新版本以供加入。

  • 合作夥伴的軟體必須屬於下列其中一種類型,或是可增強 Kubernetes 或 Amazon EKS 的操作軟體:Gitops | 監控 | 記錄 | 憑證管理 | 政策管理 | 成本管理 | 自動擴展 | 儲存 | kubernetes-management | 服務網格 | 等備份 | ingress-service-type | 負載-平衡器 | local-registry | 網路 | 安全 | 備份 | 輸入- 控制器 | 可觀測性

  • 軟體不能是容器網路界面 (CNI)

  • 軟體必須透過 銷售, AWS Marketplace 並與付費產品的授權和計量 APIs整合。不接受 BYOL 產品。

附加元件提供者的附加元件組態需求和最佳實務

Amazon EKS 需要來自附加元件提供者的組態做為 Helm JSON 結構描述字串。需要必要組態或允許選用組態的附加元件必須包含已提交 Helm Chart aws_mp_configuration_schema.json 的檔案 AWS Marketplace。Amazon EKS 將使用此結構描述來驗證客戶的組態輸入,並拒絕具有不符合結構描述之輸入值的 API 呼叫。附加元件組態通常分為兩個類別:

  • 一般 Kubernetes 屬性的組態,例如標籤、公差、nodeSelector 等。

  • 特定附加元件的組態,例如授權金鑰、功能啟用、URLs等。

本節著重於與一般 Kubernetes 屬性相關的第一個類別。

Amazon EKS 建議遵循有關 Amazon EKS 附加元件組態的最佳實務。

結構描述要求

定義 json 結構描述時,請確定您使用 Amazon EKS 附加元件支援的 jsonschema 版本。

支援的結構描述清單:

  • https://json-schema.org/draft-04/schema

  • https://json-schema.org/draft-06/schema

  • https://json-schema.org/draft-07/schema

  • https://json-schema.org/draft/2019-09/schema

使用任何其他 json 結構描述版本與 Amazon EKS 附加元件不相容,並導致附加元件無法釋出,直到修正此問題為止。

範例 Helm 結構描述檔案

{ "$schema": "http://json-schema.org/schema#", "type": "object", "properties": { "podAnnotations": { "description": "Pod Annotations" "type": "object" }, "podLabels": { "description": "Pod Labels" "type": "string" }, "resources": { "type": "object" "description": "Resources" }, "logLevel": { "description": "Logging Level" "type": "string", "enum": [ "info", "debug" ] }, "config": { "description": "Custom Configuration" "type": "object" } } }
camelCase

組態參數必須是 camelCase,如果未遵守此格式,則會被拒絕。

描述為必要項目

一律包含結構描述屬性的有意義的描述。此描述將用於在每個組態參數的 Amazon EKS 主控台中轉譯標籤名稱。

RBAC 定義

附加元件提供者需要定義並提供所需的 RBAC 許可,以使用最低權限原則成功安裝附加元件。如果 RBAC 許可需要變更較新版本的附加元件或任何修正,以解決 CVE,則附加元件提供者將需要將此變更通知 Amazon EKS 團隊。每個 Kubernetes 資源的必要許可應限制為物件的資源名稱。

apiGroups: ["apps"] resources: ["daemonsets"] resourceNames: ["ebs-csi-node"] verbs: ["create", "delete", "get", "list", "patch", "update", "watch"]
秘密管理

本節僅適用於需要客戶設定諸如應用程式金鑰、API 金鑰、密碼等秘密資訊的附加元件。目前,由於安全性影響,Amazon EKS APIs 不支援以純文字傳遞秘密資訊。不過,客戶可以使用組態來傳遞 Kubernetes Secret 的名稱,該秘密會保留附加元件所需的金鑰。客戶需要建立包含與先決條件具有相同命名空間之金鑰的 Kubernetes Secret 物件,然後在建立附加元件時使用組態 Blob 傳遞秘密的名稱。我們建議附加元件提供者為結構描述屬性命名,以便客戶不會意外地誤認為實際金鑰。例如:appSecretName、connectionSecretName 等。

總而言之,附加元件提供者可以利用結構描述,允許客戶傳入秘密的名稱,但不會傳遞實際上會持有秘密本身的金鑰。

範例組態值

您可以在結構描述中包含組態範例,以協助客戶設定附加元件。下列範例來自 AWS Distro for OpenTelemetry 附加元件的結構描述。

"examples": [ { "admissionWebhooks": { "namespaceSelector": {}, "objectSelector": {} }, "affinity": {}, "collector": { "amp": { "enabled": true, "remoteWriteEndpoint": "https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/api/v1/remote_write" }, "cloudwatch": { "enabled": true }, "mode": "deployment", "replicas": 1, "resources": { "limits": { "cpu": "256m", "memory": "512Mi" }, "requests": { "cpu": "64m", "memory": "128Mi" } }, "serviceAccount": { "annotations": {}, "create": true, "name": "adot-collector" }, "xray": { "enabled": true } }, "kubeRBACProxy": { "enabled": true, "resources": { "limits": { "cpu": "500m", "memory": "128Mi" }, "requests": { "cpu": "5m", "memory": "64Mi" } } }, "manager": { "env": {}, "resources": { "limits": { "cpu": "100m", "memory": "128Mi" }, "requests": { "cpu": "100m", "memory": "64Mi" } } }, "nodeSelector": {}, "replicaCount": 1, "tolerations": [] } ]

允許組態的常見參數

以下是面向客戶的 Helm 結構描述檔案中的建議參數。

參數 描述 應該有預設值嗎?
additionalLabels 將 Kubernetes 標籤新增至附加元件管理的所有 Kubernetes 物件。
additionalAnnotations 將 Kubernetes 註釋新增至附加元件管理的所有 Kubernetes 物件。
podLabels 將 Kubernetes 標籤新增至 附加元件管理的 Pod。
podAnnotations 將 Kubernetes 註釋新增至 附加元件管理的 Pod。
logLevel 附加元件管理之元件的日誌層級。
nodeSelector 建議最簡單的節點選取限制條件。您可以將 nodeSelector 欄位新增至您的 Pod 規格,並指定您希望目標節點擁有的節點標籤。 可能,例如僅限 Linux 節點
容差 公差會套用至 Pod。容錯允許排程器使用相符的污點來排程 Pod。容錯允許排程,但不保證排程。 也許,使用常駐程式集更常見
親和性 親和性功能包含兩種類型的親和性:節點親和性函數,例如 nodeSelector 欄位,但更具表達性,並可讓您指定軟性規則,Pod 間親和性/抗親和性可讓您限制 Pod 與其他 Pod 上的標籤。 也許可以
topologySpreadConstraints 您可以使用拓撲分散限制來控制 Pod 如何在故障網域之間分散到叢集,例如區域、區域、節點和其他使用者定義的拓撲網域。這有助於實現高可用性和高效的資源使用率。 也許可以
資源請求/限制 指定每個容器需要多少 cpu/記憶體。強烈建議設定請求。限制是選用的。
複本 附加元件管理的 Pod 複本數量。不適用於協助程式集。
注意

對於工作負載排程組態參數,您可能需要在必要時將結構描述中的頂層元件分開。例如,Amazon EBS CSI 驅動程式包含兩個主要元件:控制器和節點代理程式 - 客戶需要每個元件的不同節點選擇器/容錯。

注意

JSON 結構描述中定義的預設值僅用於使用者文件用途,不會取代values.yaml檔案中具有正確預設值的需求。如果使用預設屬性,請確保 中的預設值values.yaml與結構描述中的 相符,且每當對 Helm Chart 進行變更時,兩個成品 (values.schema.jsonvalues.yaml) 都會保持同步。

"affinity": { "default": { "affinity": { "nodeAffinity": { "preferredDuringSchedulingIgnoredDuringExecution": [ { "preference": { "matchExpressions": [ { "key": "eks.amazonaws.com/compute-type", "operator": "NotIn", "values": [ "fargate" ] } ] }, "weight": 1 } ] }, "podAntiAffinity": { "preferredDuringSchedulingIgnoredDuringExecution": [ { "podAffinityTerm": { "labelSelector": { "matchExpressions": [ { "key": "app", "operator": "In", "values": [ "ebs-csi-controller" ] } ] }, "topologyKey": "kubernetes.io/hostname" }, "weight": 100 } ] } } }, "description": "Affinity of the controller pod", "type": [ "object", "null" ] }

不允許用於組態的常見參數

各種附加元件 (例如 Elastic Load Balancing 控制器) 可能需要叢集中繼資料參數,例如 clusterName region vpcIdaccountId、、 和其他參數。Amazon EKS 服務已知的任何類似參數都會由 Amazon EKS 附加元件自動注入,而不會承擔使用者指定為組態選項的責任。這些參數包括:

  • AWS 區域

  • Amazon EKS 叢集名稱

  • 叢集的 VPC ID

  • 容器登錄檔,特別是用於 build-prod 帳戶,供聯網附加元件使用

  • DNS 叢集 IP,特別是針對 coredns 附加元件

  • Amazon EKS 叢集 API 端點

  • 叢集上已啟用 IPv4

  • 叢集上已啟用 IPv6

  • 叢集上啟用 IPv6 的字首委派

附加元件提供者需要確保您已為此類適用參數定義範本。上述每個參數都會有 Amazon EKS 定義的預先定義parameterType屬性。版本中繼資料將指定 範本中 參數parameterType的名稱/路徑之間的映射。如此一來,Amazon EKS 可以動態傳入這些值,而無需客戶透過組態指定這些值,也提供附加元件提供者彈性,以定義自己的範本名稱/路徑。Amazon EKS 動態注入所需的上述參數,應該從結構描述檔案中排除。

來自發行中繼資料的範例映射

"defaultConfiguration": [ { "key": "image.containerRegistry", "parameterType": "CONTAINER_REGISTRY" } ]

以下是不建議可在面向客戶的 Helm 結構描述檔案中設定的參數。這些參數應具有不可修改的預設值,或完全不包含在附加元件範本中。

參數 描述 應該有預設值嗎?
image 將部署在 Kubernetes 叢集上的容器映像。 否,透過附加元件定義進行管理
imagePullSecrets 設定 Pod 以使用秘密從私有登錄檔中提取。 N/A
livenessProbe Kubelet 程序使用即時性探查來知道何時重新啟動容器。例如,即時探查可能會捕捉應用程式正在執行但無法進行進度的死鎖。重新啟動處於此類狀態的容器有助於在出現錯誤時讓應用程式更可用。
readinessProbe 請務必為容器準備準備探查。如此一來,在資料平面上執行的 Kubelet 程序就會知道容器何時準備好提供流量。當 Pod 的所有容器都準備好時,即視為已就緒。此訊號的其中一個用途是控制哪些 Pod 用作 服務的後端。當 Pod 未就緒時,會從服務負載平衡器中移除。
startupProbe kubelet 使用啟動探查來了解容器應用程式何時啟動。如果已設定此類探查,則會停用即時性和準備度檢查,直到成功為止,確保這些探查不會干擾應用程式啟動。這可用於對啟動緩慢的容器採用即時性檢查,避免它們在啟動和執行之前被 kubelet 殺死。 選用
podDisruptionBudget 定義 Pod 中斷預算 (PDB),以確保 PODS 在自願中斷期間持續執行的最低數量。PDB 會限制複寫應用程式因自願中斷而同時關閉的 Pod 數量。例如,以規定人數為基礎的應用程式希望確保執行的複本數量永遠不會低於規定人數所需的數量。Web 前端可能想要確保提供負載的複本數目永遠不會低於總數的特定百分比。 是,如果預設為兩個以上的複本
serviceAccount (名稱) 服務帳戶 Pod 的名稱將在 下執行。
serviceAccount (註釋) 套用至服務帳戶的註釋。通常用於服務帳戶 IAM 角色功能 否,IAM 服務帳戶角色 ARN 是在頂層 Amazon EKS 附加元件 API 中設定。此規則的例外是,如果您的附加元件具有多個部署/控制器 (例如 Flux),且需要單獨的 IRSA 角色 ARNs。
priorityClassName 優先順序表示 Pod 相對於其他 Pod 的重要性。如果無法排程 Pod,排程器會嘗試先佔 (移出) 優先順序較低的 Pod,讓排程擱置中的 Pod 成為可能。 是。大多數附加元件對叢集功能至關重要,且預設應設定優先順序類別。
podSecurityContext 安全內容會定義 Pod 或容器的權限和存取控制設定。通常用於設定 fsGroup - 這是 v1.19 和較低叢集中 IRSA 所需的。 不太可能,由於 Amazon EKS 不再支援 Kubernetes 1.19 版
securityContext 安全內容會定義 Pod 或容器的權限和存取控制設定。
updateStrategy 指定用來將舊 Pod 取代為新 Pod 的策略。
nameOverride 覆寫 Pod 的名稱。
podSecurityPolicy

對參數強制執行限制。

否 - PSPs已棄用
extraVolumeMounts/extraVolumes

用於非 Amazon EKS 叢集中的 IRSA。