问题描述
在阅读《如何在Fargate上运行无服务器Kubernetes:AWS EKS on Fargate》一文后,想知道在 eksctl 配置文件中,相当于命令行选项 –alb-ingress-access 的等效设置是什么。他查看了 eksctl 的配置文件模式,但并没有找到直接的对应项。甚至创建了一个示例集群并查看信息,也没有看到相关配置。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案
在 eksctl 配置文件中,等效于命令行选项 –alb-ingress-access 的设置可以通过在配置文件中指定特定的属性来实现。具体来说,你需要在配置文件中的 managedNodeGroups 下的 iam 属性中添加 “withAddonPolicies” 的配置项 “albIngress”。这个配置项将控制 Fargate 实例的 ALB Ingress Controller 的权限。
以下是在 eksctl 配置文件中实现相应配置的步骤:
- 创建一个 eksctl 配置文件(通常为 YAML 格式)。
- 在该文件中找到或创建 managedNodeGroups 下的 iam 属性,如果没有则添加。
- 在 iam 属性中的 withAddonPolicies 下添加 “albIngress” 配置项并设置为 true。
下面是一个示例 eksctl 配置文件:
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: ingress-sample
region: us-east-1
managedNodeGroups:
- name: fargate-workers
instanceType: t2.micro
desiredCapacity: 2
iam:
withAddonPolicies:
albIngress: true
在上面的示例中,我们创建了一个 eksctl 配置文件,指定了集群名称和区域。我们使用 managedNodeGroups 定义了一个 Fargate worker 节点组,并在该节点组的 iam 属性下的 withAddonPolicies 配置项中设置了 “albIngress” 为 true。这将确保 Fargate 实例具有 ALB Ingress Controller 所需的权限。
请注意,根据你的 eksctl 版本和配置文件的结构可能会有所不同,确保根据实际情况进行修改。
更新:用户提供的命令行选项示例 “$ eksctl create cluster –alb-ingress-access -f config.yaml” 也是可行的,这意味着你可以直接在命令行中指定配置文件,并且 eksctl 将会使用配置文件中的相关设置来创建集群。这在一些场景下也是非常方便的。