基于容器的产品要求 - AWS Marketplace

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

基于容器的产品要求

AWS Marketplace 对所有基于容器的产品和产品保持以下要求。 AWS Marketplace这些要求有助于为我们的客户推广安全、可靠和值得信赖的目录。我们还鼓励卖家审查其他控制措施和协议的实施情况,以满足其特定产品的需求。

所有产品及其相关元数据在提交时都要经过审核,以确保它们符合或超过当前 AWS Marketplace 要求。我们会审查并调整这些政策,以满足我们不断变化的安全和其他使用要求。 AWS Marketplace 持续验证现有产品是否继续满足这些要求的任何更改。如果产品不合规, AWS Marketplace 将与您联系以更新您的产品。在某些情况下,您的产品可能暂时无法向新订阅用户提供,直到问题得到解决。

安全要求

所有基于容器的产品必须满足以下安全要求:

  • Docker 容器映像必须不含任何已知的恶意软件、病毒或漏洞。当您向容器产品添加新版本时,将扫描该版本中包含的容器映像。

  • 如果您的基于容器的产品需要访问权限来管理 AWS 资源,则必须通过服务账户的 IAM 角色(如果通过亚马逊 Elastic Kubernetes Service (Amazon EKS) 运行)或任务的 IAM 角色(如果通过亚马逊弹性容器服务 (Amazon ECS) 运行)来实现访问权限,而不是向用户请求访问密钥。

  • 基于容器的产品只需要最低权限即可运行。有关更多信息,请参阅 ECS 安全EKS 安全

  • 默认情况下,应将容器映像配置为以非根权限运行。

访问要求

所有基于容器的产品必须满足以下访问要求:

  • 基于容器的产品必须使用初始随机密码。基于容器的产品不得使用初始的固定密码或空白密码进行外部管理访问(例如,通过 Web 界面登录应用程序)。在允许买家设置或更改自己的凭证之前,必须提示买家输入该随机密码。

  • 对应用程序的任何外部访问都必须得到客户的明确同意和支持。

客户信息要求

所有基于容器的产品必须满足以下客户信息要求:

  • 除非 BYOL(自带许可)另行要求,否则软件不得在客户不知晓且未明确同意的情况下收集或导出客户数据。收集或导出客户数据的应用程序必须遵循以下准则:

    • 客户数据收集必须是自助服务、自动化和安全的。买家无需等待卖家批准即可部署软件。

    • 必须在列表的描述或使用说明中明确说明对买家数据的要求。这包括收集的内容、客户数据的存储位置以及如何使用这些数据。例如,此产品会收集您的姓名和电子邮件地址。此信息由 <company name> 发送并由其存储。此信息将仅用于就 <product name> 问题联系买家。

    • 不得收集付款信息。

产品使用要求

所有基于容器的产品必须满足以下产品使用要求:

  • 卖家只能发布功能齐全的产品。不允许使用用于试用或评估目的的测试版或预发行产品。如果卖家在提供免费版本后的 90 天 AWS Marketplace 内提供同等的付费版本,则支持商业软件的开发者、社区和 BYOL 版本。

  • 基于容器的产品的所有使用说明都必须包括部署基于容器的产品的所有步骤。使用说明必须提供指向 AWS Marketplace上相应容器映像的命令和部署资源。

  • 基于容器的产品必须包含订阅用户使用该软件所需的所有容器映像。此外,基于容器的产品不得要求用户使用外部的任何映像 AWS Marketplace (例如,来自第三方存储库的容器映像)启动产品。

  • 容器及其软件必须可以自助方式部署,并且不得要求额外的付款方式或费用。部署时需要外部依赖的应用程序必须遵循以下准则:

    • 必须在列表的描述或使用说明中披露该要求。例如,此产品需要互联网连接才能正确部署。部署时会下载以下软件包:<list of package>。

    • 卖家需对所有外部依赖的使用负责,并确保其可用性和安全性。

    • 如果外部依赖关系不再可用,则还必须从中 AWS Marketplace 删除该产品。

    • 外部依赖项不得要求额外的付款方式或费用。

  • 需要持续连接到不受买家直接控制的外部资源(例如外部 API 或由卖家或第三方管理的 AWS 服务 )的容器必须遵循以下准则:

    • 必须在列表的描述或使用说明中披露该要求。例如,此产品需要持续的互联网连接。需要以下持续的外部服务才能正常运行:<list of resources>。

    • 卖家需对所有外部资源的使用负责,并确保其可用性和安全性。

    • 如果外部资源不再可用,则还必须从中 AWS Marketplace 移除该产品。

    • 外部资源不得要求额外的付款方式或费用,并且必须自动设置连接。

  • 产品软件和元数据不得包含将用户重定向到 AWS Marketplace中未提供的其他云平台、其他产品或追加销售服务的语言。

  • 如果您的产品是其他产品或其他 ISV 产品的附加组件,则您的产品描述必须表明它扩展了其他产品的功能,如果没有它,产品的应用将受到限制。例如,本产品扩展了 <product name> 的功能,如果没有它,则该产品的应用将受到限制。请注意,<product name> 可能需要自己的许可才能使用此列表的全部功能。

架构要求

所有基于容器的产品必须满足以下架构要求:

  • 的源容器镜像 AWS Marketplace 必须推送到所拥有的亚马逊弹性容器注册表 (Amazon ECR) Container Registry 存储库。 AWS Marketplace您可以在 AWS Marketplace 管理门户 中的服务器产品下为每个容器产品列表创建这些存储库。

  • 容器映像必须基于 Linux。

  • 付费版基于容器的产品必须能够部署在 Amazon ECSAmazon EKSAWS Fargate 中。

  • 具有合同定价和集成的基于容器的付费产品 AWS License Manager 应部署在亚马逊 EKS、Amazon ECS、Amazon EKS Anywhere AWS Fargate、Amazon ECS Anywhere、Amazon ECS Anywhere、红帽 OpenShift 服务 AWS (ROSA)、本地自行管理的 Kubernetes 集群或亚马逊弹性计算云上。

容器产品使用说明

在为容器产品创建使用说明时,请按照AMI 和容器产品使用说明中的步骤和指导进行操作。

亚马逊 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) 定价模式

    注意

    亚马逊 EKS 附加组件配送不支持 BYOL。

  • 您必须遵守所有基于容器的产品要求,包括将所有容器图像和Helm图表推送到托管的 AWS Marketplace Amazon ECR 存储库。例如,此要求包括开源图像nginx。图像和图表不能托管在其他外部存储库中,包括但不限于 Amazon ECR 公开映像浏览馆、Docker Hub 和 Quay。

  • Helm图表-准备好要通过Helm图表部署的软件。Amazon EKS 附加框架可将Helm图表转换为清单。Amazon EKS 系统不支持某些Helm功能。以下列表描述了入职前必须满足的要求。在此列表中,所有Helm命令都使用Helm版本 3.8.1:

    • 支持所有Capabilities对象,但有例外.APIVersions.APIVersions不支持 non-built-in自定义 Kubernetes API。

    • 仅支持Release.NameRelease.Namespace对象。

    • Helm不支持钩子和lookup函数。

    • 所有依赖图表都必须位于主Helm图表中(使用存储库路径文件指定://...)。

    • Helm图表必须成功通过 Helm Lint 和 T Helm emplate 且没有错误。命令如下:

      • Helm棉绒 — 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 存储库将所有容器映像和依赖项上传到创建的 Amazon ECR 存储库中。

  • 自定义配置-您可以在部署期间添加自定义变量。有关如何识别最终用户体验、命名软件以及如何使用Helm图表打包成包装的信息aws_mp_configuration_schema.json,请参阅 Amazon EKS 附加组件:高级配置

    根据 “$schema” 关键字$schema必须是指向有效application/schema+json资源的 URI。

    此文件不得接受任何敏感信息,例如密码、许可证密钥和证书。

    要处理密钥和证书安装,您可以向最终用户提供插件安装后或预安装步骤。该产品不应依赖任何外部许可证。该产品应基于 AWS Marketplace 权利运行。

    有关限制的更多信息aws_mp_configuration_schema.json,请参阅附加组件提供商的插件配置要求和最佳实践

  • 确定并创建要部署软件的命名空间 — 在产品的第一个版本中,必须通过添加模板化命名空间来标识要部署软件的命名空间。

  • serviceAccount如果适用,请创建 — 如果该软件是付费软件 AWS Marketplace 或者必须与其他软件连接 AWS 服务,请确保Helm图表是serviceAccount默认创建的。如果serviceAccount创建是由values.yaml文件中的参数处理的,请将参数值设置为true。例如,serviceAccount.create = true。这是必需的,因为客户可能会选择通过继承已具有所需权限的底层节点实例的权限来安装插件。如果 Helm 图表未创建serviceAccount,则无法将权限绑定到serviceAccount

  • 可追踪部署或守护程序集 — 确保你的 Helm 图表有守护程序集或部署。Amazon EKS 插件框架使用它们跟踪您的 Amazon EKS 资源的部署。如果没有可追踪的部署或守护程序集,您的插件将面临部署错误。如果您的插件没有部署或守护程序集,例如,如果您的插件部署了一堆无法追踪的自定义资源或 Kubernetes 作业,请添加虚拟部署或守护程序集对象。

  • 支持 AMD 和 ARM 架构 — 如今,许多 Amazon EKS 客户使用 ARM64 来使用 AWS Graviton 实例。第三方软件必须同时支持这两种架构。

  • 与来自的许可或计量 API 集成 AWS Marketplace — AWS Marketplace 支持多种计费模式。有关更多信息,请参阅 容器产品计费、计量和许可集成。如果您想通过即付即付机制销售产品,请参阅使用 AWS Marketplace Metering Service 对容器产品进行自定义计量。如果您想通过预付模式或合同模式销售产品,请参阅集装箱产品的合同定价 AWS License Manager

  • 上传软件以及所有工件和依赖项 — Helm 图表必须是独立的,并且不得要求外部来源的依赖关系,例如,GitHub。如果软件需要外部依赖项,则必须将依赖项推送到同一 AWS Marketplace 列表下的 AWS Marketplace 私有 Amazon ECR 存储库。

  • 在您的网站上提供部署说明 — 我们要求您为客户提供部署指南,以确定如何通过 create-add on 命令部署软件。

  • IAM 角色 — 列出您的软件运行或与其他角色连接所需的所有 AWS Identity and Access Management (IAM) 策略 AWS 服务。

  • 版本更新 — Amazon EKS 会在上游版本发布几周后发布新的 Kubernetes 版本。随着新的 Amazon EKS 集群版本正式上市,供应商有 45 天的时间来认证或更新其软件,使其与新的 Amazon EKS 集群版本兼容。如果您当前版本的插件支持新的 Kubernetes 版本,请对其进行验证和认证,以便我们更新版本兼容性矩阵。如果需要新的插件版本来支持新的 Kubernetes 版本发布,请提交新版本进行入门。

  • 合作伙伴的软件必须属于以下类型之一,或者是能够增强 Kubernetes 或 Amazon EKS 的操作软件:Gitops | 监控 | 日志 | 证书管理 | 策略管理 | 成本管理 | 自动扩展 | 存储 | kubernetes 管理 | 服务网格 | etcd-backup | | 负载均衡器 | 本地注册表| 网络 | 安全 | 备份 | 入口控制器 | 可观察性 ingress-service-type

  • 软件不能是容器网络接口 (CNI)

  • 软件必须通过付费产品的许可 AWS Marketplace 和计量 API 进行销售并与之集成。不接受 BYOL 产品。

附加组件提供商的插件配置要求和最佳实践

Amazon EKS 需要插件提供商将其配置为 Helm JSON 架构字符串。需要必需配置或允许可选配置的插件必须包含已提交 Helm Chart 的aws_mp_configuration_schema.json文件。 AWS Marketplace Amazon EKS 将使用此架构来验证客户的配置输入,并拒绝输入值不符合架构的 API 调用。附加配置通常分为两类:

  • 配置 Kubernetes 的常规 Kubernetes 属性,例如标签、容差、NodeSelector 等。

  • 特定于附加组件的配置,例如许可证密钥、功能启用、URL 等。

本节重点介绍与常规 Kubernetes 属性相关的第一类。

Amazon EKS 建议遵循有关亚马逊 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 权限。如果需要针对新版本的附加组件或任何修复 CVE 而更改 RBAC 权限,则插件提供商需要将此更改告知 Amazon EKS 团队。每个 Kubernetes 资源所需的权限应仅限于对象的资源名称。

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

本节仅适用于需要客户配置秘密信息(如应用程序密钥、API 密钥、密码等)的插件。目前,由于存在安全隐患,Amazon EKS API 不支持以纯文本形式传递机密信息。但是,客户可以使用配置来传入包含插件所需密钥的 Kubernetes 密钥的名称。客户需要创建包含密钥的 Kubernetes Secret 对象,其命名空间与先决条件步骤相同,然后在创建插件时使用配置 blob 传入密钥的名称。我们建议插件提供商为架构属性命名,这样客户就不会意外将其误认为是实际密钥。例如: appSecretName, connectionSecretName 等等。

总而言之,插件提供商可以利用该架构来允许客户传入密钥的名称,但不允许传递实际保存机密本身的密钥。

配置值示例

您可以在架构中包含配置示例,以帮助客户配置插件。以下示例来自 AWS Distro 的 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 架构文件中的推荐参数。

参数 描述 应该有默认值吗?
其他标签 为插件管理的所有 Kubernetes 对象添加 Kubernetes 标签。
其他注释 为插件管理的所有 Kubernetes 对象添加 Kubernetes 注解。
播客标签 为插件管理的容器添加 Kubernetes 标签。
podanNotations 向插件管理的容器添加 Kubernetes 注释。
logLevel 插件管理的组件的日志级别。
节点选择器 推荐的最简单的节点选择约束形式。你可以将 nodeSelector 字段添加到你的 Pod 规格中,并指定你希望目标节点拥有的节点标签。 例如,可能仅限 Linux 节点
容忍度 容忍度适用于吊舱。容忍度允许调度器调度带有匹配污点的 Pod。容忍度允许调度,但不能保证安排时间。 也许,守护进程集更常见
亲和力 亲和性功能由两种类型的亲和性组成:节点亲和性函数,比如 NodeSelector 字段,但更具表现力,允许你指定软规则;Pod 间亲和性/反亲和性允许你限制 Pod 对抗其他 Pod 上的标签。 也许
拓扑 SpreadConstraints 您可以使用拓扑分布约束来控制 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" ] }

不允许配置的常用参数

各种插件(例如 clusterName region vpcIdaccountId,Elastic Load Balancing Controller)可能需要集群元数据参数,例如、、、和其他参数。Amazon EKS 服务已知的任何与这些参数相似的参数都将由 Amazon EKS 插件自动注入,用户无需负责指定为配置选项。这些参数包括:

  • AWS 区域

  • 亚马逊 EKS 集群名称

  • 集群的 VPC ID

  • 容器注册表,专门用于 build-prod 账户,供网络插件使用

  • DNS 集群 IP,专门用于 coreDNS 附加组件

  • 亚马逊 EKS 集群 API 终端节点

  • 在集群上启用了 IPv4

  • 在集群上启用了 IPv6

  • 在集群上启用 IPv6 的前缀委派

插件提供商需要确保您已为此类适用参数定义模板。上述每个参数都将有一个由 Amazon EKS 定义的预定义parameterType属性。版本元数据将指定parameterType与模板中参数的名称/路径之间的映射。这样,Amazon EKS 就可以动态传入这些值,而无需客户通过配置指定这些值,还可以让附加组件提供商灵活地定义自己的模板名称/路径。应从架构文件中排除 Amazon EKS 需要动态注入的上述参数。

来自发行版元数据的映射示例

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

不建议在面向客户的 Helm 架构文件中配置以下参数。要么参数应该具有不可修改的默认值,要么根本不包含在插件模板中。

参数 描述 应该有默认值吗?
映像 将部署在 Kubernetes 集群上的容器镜像。 否,通过插件定义进行管理
图片 PullSecrets 将 pod 配置为使用密钥从私有注册表中提取。 不适用
LivenessProbe Kubelet 进程使用存活探针来知道何时重启容器。例如,liveness 探测器可能会陷入死锁,即应用程序正在运行,但无法取得进展。尽管存在错误,但在这种状态下重启容器有助于提高应用程序的可用性。
ReadinessProbe 对容器进行准备情况探测非常重要。这样,在你的数据平面上运行的 Kubelet 进程就会知道容器何时准备好为流量提供服务。当 Pod 的所有容器都准备就绪时,Pod 即被视为准备就绪。此信号的一个用途是控制哪些 Pod 用作服务的后端。当 Pod 未准备就绪时,它会从服务负载均衡器中移除。
StartupProbe kubelet 使用启动探针来了解容器应用程序何时启动。如果配置了这样的探测器,它将禁用存活和就绪检查,直到成功为止,从而确保这些探测器不会干扰应用程序的启动。这可以用来对启动缓慢的容器进行活性检查,避免它们在启动并运行之前被 kubelet 杀死。 可选
吊舱 DisruptionBudget 定义 Pod Discruption 预算 (PDB),确保在自愿中断期间,保持最低数量的 POD 继续运行。PDB 限制了因自愿中断而同时关闭的复制应用程序的 Pod 数量。例如,基于法定人数的应用程序希望确保运行的副本数量永远不会低于法定人数所需的数量。Web 前端可能希望确保提供负载的副本数量永远不会低于总数的特定百分比。 是,如果默认为两个以上的副本
服务账户(姓名) 将在其下运行的服务帐号 pod 的名称。
服务账户(注释) 应用于服务帐号的注释。通常用于服务账户的 IAM 角色功能 不是,IAM 服务账户角色 ARN 是在顶级亚马逊 EKS 附加组件 API 中设置的。此规则的一个例外情况是,如果您的插件有多个部署/控制器(例如 Flux),并且需要单独的 IRSA 角色 ARN。
优先级 ClassName 优先级表示一个 Pod 相对于其他 Pod 的重要性。如果无法调度 Pod,调度器会尝试抢占优先级(驱逐)优先级较低的 Pod,以便可以调度待处理的 Pod。 是。大多数插件对集群功能至关重要,默认情况下应设置优先级类别。
吊舱 SecurityContext 安全上下文定义 Pod 或容器的权限和访问控制设置。通常用于设置 fsGroup,这是 1.19 及更低版本集群中的 IRSA 所必需的。 不太可能,因为亚马逊 EKS 不再支持 Kubernetes v1.19
安全上下文 安全上下文定义 Pod 或容器的权限和访问控制设置。
更新策略 指定用于用新 Pod 替换旧 Pod 的策略。
名称覆盖 覆盖 pod 的名称。
吊舱 SecurityPolicy

对参数实施限制。

不是-PSP 已被弃用
额外 VolumeMounts /额外音量

用于非 Amazon EKS 集群中的 IRSA。