创建 Amazon EKS 附加组件
Amazon EKS 附加组件是用于 Amazon EKS 集群的附加软件。所有 Amazon EKS 附加组件都具有以下特性:
-
包含最新安全补丁和错误修复。
-
经过 Amazon 验证,可与 Amazon EKS 一起使用。
-
可减少管理附加软件所需的工作量。
您可以使用 eksctl
、Amazon Web Services Management Console或 Amazon CLI 创建 Amazon EKS 附加组件。如果附加组件需要 IAM 角色,请参阅 Amazon EKS 附加组件Amazon EKS 中特定附加组件的详细信息,以了解有关创建角色的详细信息。
先决条件
在创建附加组件之前,请完成以下步骤:
-
集群必须已经存在,然后才能为其创建附加组件。有关更多信息,请参阅 创建 Amazon EKS 集群。。
-
检查附加组件是否需要 IAM 角色。有关更多信息,请参阅 验证 Amazon EKS 附加组件版本与集群的兼容性。
-
验证 Amazon EKS 附加组件版本是否与集群兼容。有关更多信息,请参阅 验证 Amazon EKS 附加组件版本与集群的兼容性。
-
验证已在计算机或 Amazon CloudShell 上安装 0.190.0 版或更高版本的
eksctl
命令行工具。有关更多信息,请参阅eksctl
网站上的安装。
过程
您可以使用 eksctl
、Amazon Web Services Management Console或 Amazon CLI 创建 Amazon EKS 附加组件。如果附加组件需要 IAM 角色,请参阅 Amazon 提供的来自 Amazon 的 Amazon EKS 附加组件可用 Amazon EKS 附加组件中的特定附加组件的详细信息,以了解有关创建角色的详细信息。
创建附加组件(eksctl)
-
查看某个集群版本的可用附加组件名称。将
1.30
替换为您的集群版本。eksctl utils describe-addon-versions --kubernetes-version 1.30 | grep AddonName
示例输出如下。
"AddonName": "aws-ebs-csi-driver", "AddonName": "coredns", "AddonName": "kube-proxy", "AddonName": "vpc-cni", "AddonName": "adot", "AddonName": "dynatrace_dynatrace-operator", "AddonName": "upbound_universal-crossplane", "AddonName": "teleport_teleport", "AddonName": "factorhouse_kpow", [...]
-
查看要创建的附加组件的可用版本。将
1.30
替换为您的集群版本。将name-of-addon
替换为您要查看其版本的附加组件的名称。该名称必须是上一步返回的名称之一。eksctl utils describe-addon-versions --kubernetes-version 1.30 --name name-of-addon | grep AddonVersion
以下输出是一个示例,显示了为名为
vpc-cni
的附加组件返回的内容。您可以看到该附加组件有多个可用版本。"AddonVersions": [ "AddonVersion": "v1.12.0-eksbuild.1", "AddonVersion": "v1.11.4-eksbuild.1", "AddonVersion": "v1.10.4-eksbuild.1", "AddonVersion": "v1.9.3-eksbuild.1",
-
确定您要创建的附加组件是 Amazon EKS 还是 Amazon Marketplace 附加组件。Amazon Marketplace 具有第三方附加组件,需要您完成额外的步骤才能创建附加组件。
eksctl utils describe-addon-versions --kubernetes-version 1.30 --name name-of-addon | grep ProductUrl
如果未返回输出,则该附加组件是 Amazon EKS。如果返回输出,则该附加组件是 Amazon Marketplace 附加组件。以下输出适用于名为
teleport_teleport
的附加组件。"ProductUrl": "https://aws.amazon.com/marketplace/pp?sku=3bda70bb-566f-4976-806c-f96faef18b26"
您可以通过返回的 URL 在 Amazon Marketplace 中了解有关该附加组件的更多信息。如果该附加组件需要订阅,您可以通过 Amazon Marketplace 对其进行订阅。如果您要从 Amazon Marketplace 创建附加组件,则用于创建附加组件的 IAM 主体必须具有创建 AWSServiceRoleForAWSLicenseManagerRole 服务相关角色的权限。有关向 IAM 实体分配权限的更多信息,请参阅《IAM 用户指南》中的添加和移除 IAM 身份权限。
-
-
创建 Amazon EKS 附加组件。复制该命令并替换
user-data
,如下所示:-
将
my-cluster
替换为您的集群的名称。 -
将
name-of-addon
替换为您要创建的附加组件的名称。 -
如果您需要早于最新版本的附加组件版本,请将
latest
替换为前面步骤的输出中返回的适用版本号。 -
如果附加组件使用了服务账户角色,请将
111122223333
替换为您的账户 ID,并将role-name
替换为该角色的名称。有关为服务账户创建角色的说明,请参阅您正在创建的附加组件的文档。有关可用附加组件的列表,请参阅来自 Amazon 的 Amazon EKS 附加组件。指定服务账户角色需要您的集群具有 IAM OpenID Connect(OIDC)提供程序。要确定您的集群是否具有此提供程序,或者要创建此提供程序,请参阅 为集群创建 IAM OIDC 提供商。如果附加组件不使用服务账户角色,请删除
--service-account-role-arnarn:aws-cn:iam::111122223333:role/role-name
。 -
此示例命令将覆盖附加组件的任何现有自行管理版本(如果有的话)的配置。如果您不想覆盖现有的自行管理附加组件的配置,请删除
--force
选项。如果您删除此选项,并且 Amazon EKS 附加组件需要覆盖现有的自行管理附加组件的配置,那么创建 Amazon EKS 附加组件将会失败,并显示一条帮助您解决冲突的错误消息。在指定此选项之前,请确保 Amazon EKS 附加组件不会管理您需要管理的设置,因为这些设置会被此选项覆盖。eksctl create addon --cluster my-cluster --name name-of-addon --version latest \ --service-account-role-arn arn:aws-cn:iam::111122223333:role/role-name --force
您可以看到该命令所有可用选项的列表。
eksctl create addon --help
有关可用选项的更多信息,请参阅
eksctl
文档中的 Addons(附加组件)。
-
创建附加组件(Amazon 控制台)
-
在左侧导航窗格中,选择集群。
-
选择要为其创建此附加组件的集群名称。
-
选择附加组件选项卡。
-
选择获取更多附加组件。
-
在 Select add-ons(选择附加组件)页面上,选择要添加到集群的附加组件。您可以根据需要添加任意数量的 Amazon EKS 附加组件和 Amazon Marketplace 附加组件。
对于 Amazon Marketplace 附加组件,用于创建附加组件的 IAM 主体必须有权从 Amazon LicenseManager 读取附加组件的权限。AmazonLicenseManager 需要 AWSServiceRoleForAWSLicenseManagerRole 服务相关角色(SLR),该角色允许 Amazon 资源代表您管理许可证。SLR 是每个账户的一次性要求,您无需为每个附加组件或每个集群创建单独的 SLR。有关向 IAM 主体分配权限的更多信息,请参阅《IAM 用户指南》中的添加和移除 IAM 身份权限。
如果未列出要安装的 Amazon Marketplace 附加组件,则您可以单击页码编号查看更多页面结果或在搜索框中来搜索。在筛选选项中,您也可以按类别、供应商或定价模式进行搜索,然后从搜索结果中选择附加组件。选择要安装的附加组件后,选择下一步。
-
在配置选定的附加组件设置页面上,执行以下操作:
-
选择查看订阅选项,打开订阅选项表单。查看定价详细信息和法律部分,然后选择订阅按钮继续。
-
对于版本,请选择要安装的版本。我们建议选择标记为最新的版本,除非您正在创建的个别附加组件推荐了不同的版本。要确定附加组件是否有推荐版本,请参阅您正在创建的附加组件的文档。有关可用附加组件的列表,请参阅来自 Amazon 的 Amazon EKS 附加组件。
-
您可以使用两个选项为附加组件配置角色:EKS 容器组身份 IAM 角色和服务账户 IAM 角色(IRSA)。按照以下相应步骤选择首选选项。如果您选择的所有附加组件在状态下都有需要订阅字样,请选择下一步。创建集群后,您在订阅此类附加组件之前无法进一步更新 Amazon EKS 附加组件配置此类附加组件。如果附件组件的状态下没有需要订阅字样:
-
对于服务账户的容器组身份 IAM 角色,您可以使用现有 EKS 容器组身份 IAM 角色,也可以使用创建推荐角色按钮创建。此字段将仅提供具有适当信任策略的选项。如果没有可选择的角色,则表示没有具有匹配信任策略的现有角色。要为所选附加组件配置服务账户的 EKS 容器组身份 IAM 角色,请选择创建推荐角色。角色创建向导将在单独的窗口中打开。向导将自动填充角色信息,如下所示。对于要在其中创建 EKS 容器组身份 IAM 角色的各个附加组件,请如下方式完成 IAM 向导中的步骤。
-
在选择可信实体步骤中,预先选择 EKS 的 Amazon 服务选项和 EKS – 容器组身份的用例,并将自动为附加组件填充相应的信任策略。例如,该角色将使用相应的信任策略创建,该策略包含 pods.eks.amazonaws.com IAM 主体,详见EKS 容器组身份的优势。选择下一步。
-
在添加权限步骤中,系统将为附加组件预先选择角色策略的相应托管策略。例如,对于 Amazon VPC CNI 附加组件,系统将使用托管策略“AmazonEKS_CNI_Policy”创建角色,详见适用于 Kubernetes 的 Amazon VPC CNI 插件。选择下一步。
-
在命名、查看和创建步骤的角色名称中,系统将自动填充附加组件的默认角色名称。例如,对于 Amazon VPC CNI 附加组件,系统将使用 AmazonEKSPodIdentityAmazonVPCCNIRole 名称创建角色。在描述中,默认描述会自动填充附加组件的相应描述。例如,对于 Amazon VPC CNI 附加组件,该角色的创建描述为允许在 Amazon EKS 集群中运行容器组(pod) 以访问 Amazon 资源。在信任策略中,查看为附加组件填充的信任策略。选择 Create role(创建角色)。
注意:通过保留默认角色名称,EKS 能够在新集群中或在向现有集群添加附加组件时为附加组件预先选择角色。您仍然可以覆盖此名称,并且该角色可在您的集群中用于该附加组件,但需要从下拉列表中手动选择该角色。
-
-
对于在状态下没有需要订阅且您想使用 IRSA 配置角色的附加组件,请参阅您正在创建的附加组件的文档,以创建 IAM 策略并将其附加至角色。有关可用附加组件的列表,请参阅来自 Amazon 的 Amazon EKS 附加组件。选择 IAM 角色需要您的集群具有 IAM OpenID Connect(OIDC)提供程序。要确定您的集群是否具有此提供程序,或者要创建此提供程序,请参阅为集群创建 IAM OIDC 提供商。
-
选择 Optional configuration settings(可选配置设置)。
-
如果附加组件需要配置,请在 Configuration values(配置值)框中输入相应的值。要确定附加组件是否需要配置信息,请参阅您正在创建的附加组件的文档。有关可用附加组件的列表,请参阅来自 Amazon 的 Amazon EKS 附加组件。
-
对于冲突解决方法,请选择一个可用的选项。如果对于冲突解决方法,您选择了覆盖,则可能会用 Amazon EKS 附加组件设置覆盖现有附加组件的一个或多个设置。如果不启用此选项,并且与现有设置存在冲突,则操作将失败。您可以使用生成的错误消息对冲突进行故障排除。在选择此选项之前,请确保 Amazon EKS 附加组件不会管理您需要自行管理的设置。
-
选择下一步。
-
-
-
在查看和添加页面上,选择创建。附加组件安装完成后,您会看到您安装的附加组件。
-
如果您安装的任何附加组件需要订阅,请完成以下步骤:
-
选择该附加组件右下角的 Subscribe(订阅)按钮。您将转到该附加组件在 Amazon Marketplace 中的页面。阅读有关该附加组件的信息,例如其 Product Overview(产品概述)和 Pricing Information(定价信息)。
-
选择附加组件页面右上角的 Continue to Subscribe(继续订阅)按钮。
-
通读 Terms and Conditions(条款和条件)。如果您同意这些条款和条件,请选择 Accept Terms(接受条款)。处理订阅可能需要几分钟的时间。在处理订阅时,Return to Amazon EKS Console(返回 Amazon EKS 控制台)按钮将显示为灰色。
-
订阅处理完成后,Return to Amazon EKS Console(返回 Amazon EKS 控制台)按钮将不再显示为灰色。选择此按钮返回集群的 Amazon EKS 控制台 Add-ons(附加组件)选项卡。
-
对于您已订阅的附加组件,请选择 Remove and reinstall(删除并重新安装),然后选择 Reinstall add-on(重新安装附加组件)。安装该附加组件可能需要几分钟的时间。安装完成后,您可以配置该附加组件。
-
创建附加组件(Amazon CLI)
-
您需要在您的设备或 Amazon CloudShell 上安装和配置 Amazon 命令行界面(Amazon CLI)的版本
2.12.3
或更高版本,或版本1.27.160
或更高版本。要查看当前版本,请使用aws --version | cut -d / -f2 | cut -d ' ' -f1
。软件包管理器(如yum
、apt-get
或适用于 macOS 的 Homebrew)通常比 Amazon CLI 的最新版本落后几个版本。要安装最新版本,请参阅《Amazon 命令行界面用户指南》中的安装和使用 aws configure 快速配置。Amazon CloudShell 中安装的 Amazon CLI 版本也可能比最新版本落后几个版本。要对其进行更新,请参阅《Amazon CloudShell 用户指南》中的将 Amazon CLI 安装到您的主目录。 -
确定哪些附加组件可用。您可以看到所有可用的附加组件及其类型和发布者。您还可以看到通过 Amazon Marketplace 提供的附加组件的 URL。将
1.30
替换为您的集群版本。aws eks describe-addon-versions --kubernetes-version 1.30 \ --query 'addons[].{MarketplaceProductUrl: marketplaceInformation.productUrl, Name: addonName, Owner: owner Publisher: publisher, Type: type}' --output table
示例输出如下。
--------------------------------------------------------------------------------------------------------------------------------------------------------- | DescribeAddonVersions | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+ | MarketplaceProductUrl | Name | Owner | Publisher | Type | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+ | None | aws-ebs-csi-driver | aws | eks | storage | | None | coredns | aws | eks | networking | | None | kube-proxy | aws | eks | networking | | None | vpc-cni | aws | eks | networking | | None | adot | aws | eks | observability | | https://aws.amazon.com/marketplace/pp/prodview-brb73nceicv7u | dynatrace_dynatrace-operator | aws-marketplace | dynatrace | monitoring | | https://aws.amazon.com/marketplace/pp/prodview-uhc2iwi5xysoc | upbound_universal-crossplane | aws-marketplace | upbound | infra-management | | https://aws.amazon.com/marketplace/pp/prodview-hd2ydsrgqy4li | teleport_teleport | aws-marketplace | teleport | policy-management | | https://aws.amazon.com/marketplace/pp/prodview-vgghgqdsplhvc | factorhouse_kpow | aws-marketplace | factorhouse | monitoring | | [...] | [...] | [...] | [...] | [...] | +---------------------------------------------------------------+-------------------------------+------------------+--------------+---------------------+
您的输出可能会有所不同。在此输出示例中,有三个不同的
networking
类型的附加组件和五个发布者类型为eks
的附加组件。在Owner
列中值为aws-marketplace
的附加组件可能需要订阅才能安装。您可以访问相应的 URL 以了解有关该附加组件的更多信息并进行订阅。 -
您可以看到每个附加组件的可用版本。将
1.30
替换为您的集群版本,将vpc-cni
替换为上一步返回的附加组件名称。aws eks describe-addon-versions --kubernetes-version 1.30 --addon-name vpc-cni \ --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output table
示例输出如下。
------------------------------------------ | DescribeAddonVersions | +-----------------+----------------------+ | Defaultversion | Version | +-----------------+----------------------+ | False | v1.12.0-eksbuild.1 | | True | v1.11.4-eksbuild.1 | | False | v1.10.4-eksbuild.1 | | False | v1.9.3-eksbuild.1 | +-----------------+----------------------+
默认情况下,
Defaultversion
列中值为True
的版本是创建附加组件时使用的版本。 -
(可选)通过运行以下命令查找所选附加组件的配置选项:
aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.12.0-eksbuild.1
{ "addonName": "vpc-cni", "addonVersion": "v1.12.0-eksbuild.1", "configurationSchema": "{\"$ref\":\"#/definitions/VpcCni\",\"$schema\":\"http://json-schema.org/draft-06/schema#\",\"definitions\":{\"Cri\":{\"additionalProperties\":false,\"properties\":{\"hostPath\":{\"$ref\":\"#/definitions/HostPath\"}},\"title\":\"Cri\",\"type\":\"object\"},\"Env\":{\"additionalProperties\":false,\"properties\":{\"ADDITIONAL_ENI_TAGS\":{\"type\":\"string\"},\"AWS_VPC_CNI_NODE_PORT_SUPPORT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_ENI_MTU\":{\"format\":\"integer\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CONFIGURE_RPFILTER\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_CUSTOM_NETWORK_CFG\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":{\"format\":\"boolean\",\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOGLEVEL\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_RANDOMIZESNAT\":{\"type\":\"string\"},\"AWS_VPC_K8S_CNI_VETHPREFIX\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_FILE\":{\"type\":\"string\"},\"AWS_VPC_K8S_PLUGIN_LOG_LEVEL\":{\"type\":\"string\"},\"DISABLE_INTROSPECTION\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_METRICS\":{\"format\":\"boolean\",\"type\":\"string\"},\"DISABLE_NETWORK_RESOURCE_PROVISIONING\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_POD_ENI\":{\"format\":\"boolean\",\"type\":\"string\"},\"ENABLE_PREFIX_DELEGATION\":{\"format\":\"boolean\",\"type\":\"string\"},\"WARM_ENI_TARGET\":{\"format\":\"integer\",\"type\":\"string\"},\"WARM_PREFIX_TARGET\":{\"format\":\"integer\",\"type\":\"string\"}},\"title\":\"Env\",\"type\":\"object\"},\"HostPath\":{\"additionalProperties\":false,\"properties\":{\"path\":{\"type\":\"string\"}},\"title\":\"HostPath\",\"type\":\"object\"},\"Limits\":{\"additionalProperties\":false,\"properties\":{\"cpu\":{\"type\":\"string\"},\"memory\":{\"type\":\"string\"}},\"title\":\"Limits\",\"type\":\"object\"},\"Resources\":{\"additionalProperties\":false,\"properties\":{\"limits\":{\"$ref\":\"#/definitions/Limits\"},\"requests\":{\"$ref\":\"#/definitions/Limits\"}},\"title\":\"Resources\",\"type\":\"object\"},\"VpcCni\":{\"additionalProperties\":false,\"properties\":{\"cri\":{\"$ref\":\"#/definitions/Cri\"},\"env\":{\"$ref\":\"#/definitions/Env\"},\"resources\":{\"$ref\":\"#/definitions/Resources\"}},\"title\":\"VpcCni\",\"type\":\"object\"}}}" }
输出是标准的 JSON 架构。
以下是适用于上述架构的 JSON 格式的有效配置值示例。
{ "resources": { "limits": { "cpu": "100m" } } }
以下是适用于上述架构的 YAML 格式的有效配置值示例。
resources: limits: cpu: 100m
-
确定该附加组件是否需要 IAM 权限。如果是,则需要(1)确定是否要使用 EKS 容器组身份或服务账户的 IAM 角色(IRSA),(2)确定要与附加组件一起使用的 IAM 角色的 ARN,以及(3)确定附加组件使用的 Kubernetes 服务账户的名称。有关更多信息,请参阅 检索 Amazon EKS 附加组件的 IAM 信息。
-
如果附加组件支持,Amazon EKS 建议使用 EKS 容器组身份。这需要在您的集群上安装了解 EKS Pod Identity 如何向容器组授予对 Amazon 服务的访问权限容器组身份代理。有关将容器组身份与附加组件配合使用的更多信息,请参阅 Amazon EKS 附加组件的 IAM 角色。
-
如果附加组件或您的集群未针对 EKS 容器组身份进行设置,请使用 IRSA。服务账户的 IAM 角色确认您的集群上已设置 IRSA。
-
Amazon EKS 附加组件审查 Amazon EKS 附加组件文档,确定该附加组件是否需要 IAM 权限以及关联 Kubernetes 服务账户的名称。
-
创建 Amazon EKS 附加组件。将以下命令复制到您的设备。根据需要对该命令进行以下修改,然后运行修改后的命令:
-
-
将
my-cluster
替换为您的集群的名称。 -
将
vpc-cni
替换为前面步骤的输出中返回的要创建的附加组件名称。 -
将
version-number
替换为前面步骤的输出中返回的要使用的版本。 -
如果附加组件不需要 IAM 权限,则删除
<service-account-configuration>
。 -
请执行以下操作之一:
-
如果附加组件(1)需要 IAM 权限,并且(2)集群使用 EKS 容器组身份,请将
<service-account-configuration>
替换为以下容器组身份关联。将<service-account-name>
替换为附加组件使用的服务账户名称。将<role-arn>
替换为 IAM 角色的 ARN。该角色必须拥有 EKS 容器组身份所需的信任策略。--pod-identity-associations 'serviceAccount=<service-account-name>,roleArn=<role-arn>'
-
如果附加组件(1)需要 IAM 权限,并且(2)您的集群使用 IRSA,请将
<service-account-configuration>
替换为以下 IRSA 配置。将111122223333
替换为您的账户 ID,并将role-name
替换为您创建的现有 IAM 角色的名称。有关创建角色的说明,请参阅您正在创建的附加组件的文档。有关可用附加组件的列表,请参阅来自 Amazon 的 Amazon EKS 附加组件。指定服务账户角色需要您的集群具有 IAM OpenID Connect(OIDC)提供程序。要确定您的集群是否具有此提供程序,或者要创建此提供程序,请参阅 为集群创建 IAM OIDC 提供商。--service-account-role-arn arn:aws-cn::iam::111122223333:role/role-name
-
-
这些示例命令将覆盖附加组件的任何现有自行管理版本(如果有的话)的
--configuration-values
选项。将其替换为所需配置值,例如字符串或文件输入。如果不想提供配置值,请删除--configuration-values
选项。如果您不希望 Amazon CLI 覆盖现有的自行管理附加组件的配置,请删除--resolve-conflicts OVERWRITE
选项。如果您删除此选项,并且 Amazon EKS 附加组件需要覆盖现有的自行管理附加组件的配置,那么创建 Amazon EKS 附加组件将会失败,并显示一条帮助您解决冲突的错误消息。在指定此选项之前,请确保 Amazon EKS 附加组件不会管理您需要管理的设置,因为这些设置会被此选项覆盖。aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ <service-account-configuration> --configuration-values '{"resources":{"limits":{"cpu":"100m"}}}' --resolve-conflicts OVERWRITE
aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ <service-account-configuration> --configuration-values 'file://example.yaml' --resolve-conflicts OVERWRITE
有关可用选项的完整列表,请参阅 Amazon EKS Command Line Reference(《Amazon EKS 命令行参考》)中的
create-addon
。如果您创建的附加组件在前面步骤的Owner
列中的值为aws-marketplace
,那么创建可能会失败,您可能会收到与以下错误类似的错误消息。{ "addon": { "addonName": "addon-name", "clusterName": "my-cluster", "status": "CREATE_FAILED", "addonVersion": "version", "health": { "issues": [ { "code": "AddonSubscriptionNeeded", "message": "You are currently not subscribed to this add-on. To subscribe, visit the Amazon Marketplace console, agree to the seller EULA, select the pricing type if required, then re-install the add-on" } ] } } }
如果您收到的错误与之前输出中的错误类似,请访问前面步骤的输出中的 URL,以订阅附加组件。订阅后,再次运行
create-addon
命令。
-