本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
的容器型產品需求 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) 執行) 來存取,而不是向使用者請求存取金鑰。
-
根據預設,容器映像應設定為使用非根權限執行。
存取要求
所有容器型產品都必須遵守下列存取要求:
-
容器型產品必須使用初始隨機密碼。容器型產品不得將初始固定或空白密碼用於外部管理存取 (例如,透過 Web 介面登入應用程式)。在允許設定或變更自己的憑證之前,必須提示買方輸入此隨機密碼。
-
對應用程式的任何外部存取都必須明確同意並由客戶啟用。
客戶資訊需求
所有容器型產品都必須遵守下列客戶資訊要求:
-
除非 BYOL(自帶授權) 要求,否則軟體不得在客戶不知情且明確同意的情況下收集或匯出客戶資料。收集或匯出客戶資料的應用程式必須遵循下列指導方針:
-
收集客戶資料必須是自助式、自動化且安全的。買方不必等待賣方核准即可部署軟體。
-
客戶資料的需求必須在清單的描述或使用說明中清楚說明。這包括收集的內容、儲存客戶資料的位置,以及如何使用這些資料。例如,此產品會收集您的姓名和電子郵件地址。此資訊會傳送至 並由 <公司名稱> 儲存。此資訊僅用於聯絡有關 <product name> 的買方。
-
不得收集付款資訊。
-
產品使用需求
所有容器型產品都必須遵守下列產品使用需求:
-
賣方只能列出功能完整的產品。不允許用於試用或評估目的的 Beta 版或預先發行版產品。如果賣方在提供免費BYOL版本的 AWS Marketplace 90 天內在 提供同等的付費版本,則支援商業軟體的開發人員、社群和版本。
-
容器型產品的所有使用說明必須包含部署容器型產品的所有步驟。使用說明必須提供指向 上對應容器映像的命令和部署資源 AWS Marketplace。
-
容器型產品必須包含訂閱者使用軟體所需的所有容器映像。此外,容器型產品不得要求使用者使用來自外部的任何映像來啟動產品 AWS Marketplace (例如,來自第三方儲存庫的容器映像)。
-
容器及其軟體必須以自助方式部署,且不得需要額外的付款方式或成本。需要部署外部相依性的應用程式必須遵循下列準則:
-
要求必須在清單的描述或使用說明中公開。例如,此產品需要網際網路連線才能正確部署。下列套件會在部署時下載:<list of package>。
-
賣方負責使用並確保所有外部相依性的可用性和安全性。
-
如果外部相依性不再可用, AWS Marketplace 也必須從中移除產品。
-
外部相依性不得需要額外的付款方式或成本。
-
-
需要持續連線至外部資源的容器,而非由買方直接控制,例如外部APIs或由賣方或第三方 AWS 服務 管理的容器,必須遵循下列指導方針:
-
要求必須在清單的描述或使用說明中公開。例如,此產品需要持續的網際網路連線。需要下列持續的外部服務才能正常運作:<list of resources>。
-
賣方負責使用並確保所有外部資源的可用性和安全性。
-
如果外部資源不再可用, AWS Marketplace 也必須從中移除產品。
-
外部資源不得需要額外的付款方式或成本,且連線的設定必須自動化。
-
-
產品軟體和中繼資料不得包含將使用者重新導向至其他雲端平台、其他產品或 上無法使用的追加銷售服務的語言 AWS Marketplace。
-
如果您的產品是另一個 產品或其他 ISV產品的附加元件,您的產品描述必須指出它擴展了其他產品的功能,如果沒有它,您的產品具有非常有限的公用程式。例如,此產品擴展了 <product name> 的功能,如果沒有它,此產品的公用程式非常有限。請注意,<product name> 可能需要自己的授權,才能使用此清單的完整功能。
架構需求
所有容器型產品都必須遵守下列架構要求:
-
的來源容器映像 AWS Marketplace 必須推送至 擁有的 Amazon Elastic Container Registry (AmazonECR) 儲存庫 AWS Marketplace。您可以在伺服器產品下為每個容器產品清單建立這些儲存庫 AWS Marketplace 管理入口網站 。
-
容器映像必須以 Linux 為基礎。
-
付費容器型產品必須能夠部署在 Amazon ECS、Amazon 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 使用者指南 中的 Amazon 附加EKS元件。 EKS
將容器產品準備為 AWS Marketplace 附加元件
若要將容器產品發佈為 AWS Marketplace 附加元件,必須符合下列要求:
-
您的容器產品必須發佈於 AWS Marketplace。
-
您的容器產品必須同時與 AMD64和 ARM64架構相容。
-
您的容器產品不得使用自帶授權 (BYOL) 定價模型 。
注意
BYOL 不支援 Amazon EKS 附加元件交付。
-
您必須遵守所有容器型產品需求,包括推送所有容器映像和 Helm 圖表到 受 AWS Marketplace 管 Amazon ECR 儲存庫。此需求包含開放原始碼映像,例如
nginx
。映像和圖表無法託管在其他外部儲存庫中,包括但不限於 Amazon ECR Public Gallery 、Docker Hub 和 Quay. -
Helm 圖表 - 準備透過 部署您的軟體 Helm 圖表。Amazon 附加EKS元件架構會轉換 Helm 將圖表繪製為資訊清單。一些 Helm Amazon EKS系統不支援 功能。下列清單說明加入前必須符合的要求。在此清單中,所有 Helm 命令使用 Helm 3.8.1 版:
-
支援所有
Capabilities
物件,但 的例外狀況為.APIVersions
。 non-built-in自訂.APIVersions
不支援 。Kubernetes APIs. -
僅支援
Release.Name
和Release.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-versionKubernetes-version
—namespaceaddon-namespace
—include-crds —no-hooks —fany-overriden-values
使用
—f
旗標傳遞任何覆寫的組態。
-
-
將所有容器二進位檔案存放在 AWS Marketplace Amazon ECR Repos 中。若要建立資訊清單,請使用 Helm 範本命令,如先前所示。搜尋資訊清單,尋找任何外部影像參考,例如
busybox
或gcr
影像。使用請求下拉式清單中的新增儲存庫選項,將所有容器映像以及相依性上傳到建立的 AWS Marketplace Amazon ECR儲存庫。
-
-
自訂組態 – 您可以在部署期間新增自訂變數。如需有關如何識別最終使用者體驗的資訊,請命名軟體
aws_mp_configuration_schema.json
,並使用 封裝成包裝 Helm 圖表,請參閱 Amazon 附加EKS元件:進階組態。 根據「$schema」關鍵字
, $schema
必須是URI指向有效application/schema+json
資源的 。此檔案不得接受任何敏感資訊,例如密碼、授權金鑰和憑證。
若要處理秘密和憑證安裝,您可以為最終使用者提供安裝 pre-Add-on後步驟。產品不應依賴任何外部授權。產品應根據 AWS Marketplace 權限運作。
如需 限制的詳細資訊
aws_mp_configuration_schema.json
,請參閱 附加元件提供者的附加元件組態需求和最佳實務。 -
識別並建立要部署軟體的命名空間 – 在產品的第一個版本中,您必須新增範本命名空間,以識別要部署軟體的命名空間。
-
如果適用,
serviceAccount
請建立 - 如果軟體是 上的付費軟體, AWS Marketplace 或必須與其他 連線 AWS 服務,請確定 HelmserviceAccount
根據預設,圖表會建立。如果serviceAccount
建立是由values.yaml
檔案中的參數處理,請將 參數值設定為true
。例如:serviceAccount.create = true
。這是必要的,因為客戶可能會選擇從已具有必要許可的基礎節點執行個體繼承許可來安裝附加元件。如果 Helm Chart 未建立serviceAccount
,則許可無法繫結至serviceAccount
。 -
可追蹤部署或 Daemonset - 確保您的 Helm Chart 具有 daemonset 或部署。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 | 負載平衡器 | 本機註冊 | 網路 | 安全 | 備份 | 輸入控制器 | 可觀測性
-
軟體不能是容器網路介面 (CNI)
。 -
軟體必須透過 銷售, AWS Marketplace 並與APIs付費產品的授權和計量整合。BYOL 不接受 產品。
附加元件提供者的附加元件組態需求和最佳實務
Amazon EKS需要來自附加元件提供者的組態做為 Helm JSON 結構描述aws_mp_configuration_schema.json
的檔案 AWS Marketplace。Amazon EKS將使用此結構描述來驗證客戶的組態輸入,並拒絕具有不符合結構描述之輸入值的API呼叫。附加元件組態通常分為兩類:
-
標籤、公差nodeSelector等一般 Kubernetes 屬性的組態。
-
附加元件特定的組態,例如授權金鑰、功能啟用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 EKSAPIs不支援以純文字傳遞秘密資訊。不過,客戶可以使用組態來傳遞 Kubernetes Secret 的名稱,該 Kubernetes Secret 會保存附加元件所需的金鑰。客戶將必須建立包含與必要步驟具有相同命名空間之金鑰的 Kubernetes Secret 物件,然後在建立附加元件時使用組態 Blob 傳遞秘密的名稱。我們建議附加元件提供者為結構描述屬性命名,以便客戶不會意外誤認為實際金鑰。例如: appSecretName connectionSecretName 等。
總而言之,附加元件提供者可以利用結構描述,允許客戶以秘密的名稱傳遞,但不能使用實際上會保存秘密本身的金鑰。
- 範例組態值
-
您可以在結構描述中包含組態範例,以協助客戶設定附加元件。下列範例來自用於 OpenTelemetry 附加元件的 AWS Distro 結構描述。
"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 EBSCSI驅動程式包含兩個主要元件:控制器和節點代理程式 - 客戶需要每個元件的不同節點選擇器/容錯。
注意
JSON 結構描述中定義的預設值僅供使用者記錄使用,不會取代values.yaml
檔案中具有正確預設值的需求。如果使用預設屬性,請確保 中的預設值values.yaml
與結構描述中的 相符,且每當對 Helm Chart 進行變更時,兩個成品 (values.schema.json
和 values.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 Controller) clusterName
region
可能需要叢集中繼資料參數,例如 vpcId
、accountId
、、 和其他參數。Amazon EKS服務已知的任何類似參數都會由 Amazon EKS 附加元件自動注入,而不會承擔使用者指定為組態選項的責任。這些參數包括:
-
AWS 區域
-
Amazon EKS叢集名稱
-
VPC 叢集的 ID
-
容器登錄,特別是用於 build-prod 帳戶,用於聯網附加元件
-
DNS 叢集 IP,特別針對 coredns 附加元件
-
Amazon EKS叢集API端點
-
IPv4 在叢集上啟用
-
IPv6 在叢集上啟用
-
在叢集上IPv6啟用 的字首委派
附加元件提供者需要確保您已為此類適用參數定義範本。上述每個參數都會有一個由 Amazon 定義的預先定義parameterType
屬性EKS。版本中繼資料將指定 parameterType
和 之間的映射name/path of the parameter in the template. This way, the values can be dynamically passed-in by Amazon EKS without requiring customers to specify these through configurations and also gives flexibility to add-on providers to define their own template name/path。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 v1.19 |
securityContext | 安全內容會定義 Pod 或容器的權限和存取控制設定。 | 是 |
updateStrategy | 指定用來將舊 Pod 取代為新 Pod 的策略。 | 是 |
nameOverride | 覆寫 Pod 的名稱。 | 否 |
podSecurityPolicy |
強制執行參數的限制。 |
否 - PSPs 已棄用 |
extraVolumeMounts/extraVolumes |
用於非 Amazon EKS叢集IRSA中的 。 |
否 |