Error: getting availability zones when trying to create EKS cluster

Error: getting availability zones when trying to create EKS cluster

我正在尝试创建 EKS 集群,但我不断收到以下错误。我认为这是权限、角色等问题,但我对 AWS 的经验很少。

我找到了 this thread 但我不知道如何实现所有这些东西。

感谢任何帮助,提前致谢。

$ eksctl create cluster
[ℹ]  eksctl version 0.13.0
[ℹ]  using region us-west-2
Error: getting availability zones: getting availability zones for us-west-2: UnauthorizedOperation: You are not authorized to perform this operation.
    status code: 403, request id: 724b0c02-fb51-43b2-98ab-746a3d2e45a0

错误显示 UnauthorizedOperation,这意味着您没有足够的权限创建集群。

请确保您已正确配置 awscli 并且您有足够的权限。

所需权限记录在 https://github.com/weaveworks/eksctl/blob/master/userdocs/src/usage/minimum-iam-policies.md

替换占位符时,请务必使用 Account Settings 中的 12 位帐户 ID。

这就是您更改 aws 用户权限的方式 https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_change-permissions.html

我未能找到完美的解决方案,但现在您可以为您的用户提供 AdministratorAccess 政策,它在 IAM 中有效。

我也是EKS的新手。这件事的问题是你没有权限做某事。首先,我们应该知道我们需要什么权限,然而,作为新手我们不想知道那么多。因此,正如 Kushagra Saxena 所说,我们将 IAM 帐户设置为 Admin 以进行学习。

使用现有政策

  1. Select 用户

  2. 添加权限

  3. Select AdministratorAccess 然后下一个下一个下一个!

或使用自定义策略

如果你想使用自定义政策,像这样:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "*",
            "Resource": "*"
        }
    ]
}

您应该创建自己的 policy.You 可以执行以下操作:

  1. Select“策略”和“创建策略”

  2. 替换为您的 Json 和 Next Next。

3.Select 您的用户并按照“使用现有策略”添加权限。

首先确保您运行正在使用官方 AWS CLI (installation instructions)。如果您运行正在使用较旧的 CLI 版本,请在继续之前考虑升级。

然后按照 eksctl documented minimum IAM permissions.

创建一个新的 IAM 用户

创建新的 IAM 用户后,更新 AWS CLI 以通过 aws configure --profile default 使用该用户的访问密钥和密钥。下次您 运行 命令时,您应该会看到如下输出:

[ℹ]  eksctl version 0.26.0
[ℹ]  using region us-west-1
[ℹ]  setting availability zones to [us-west-1a us-west-1c us-west-1c]
[ℹ]  subnets for us-west-1a - public:192.168.0.0/19 private:192.168.96.0/19
[ℹ]  subnets for us-west-1c - public:192.168.32.0/19 private:192.168.128.0/19
[ℹ]  subnets for us-west-1c - public:192.168.64.0/19 private:192.168.160.0/19

我最近运行遇到了这个问题,不知所措,因为我可以成功运行
$ aws ec2 描述可用性区域

问题原来是 IAM 中的 MFA 要求。 幸运的是,一位 AWS 支持人员向我指出了 AWS IAM 策略模拟器 https://policysim.aws.amazon.com/home/index.jsp

通过选择我的用户、EC2 和 describe-availability-zones,模拟器显示了失败的原因。

尽管我有管理员访问权限,但我遇到了同样的问题,然后我意识到这个问题是一个拒绝策略,它只限制在欧盟创建资源,所以对于美国来说,它一直在抛出错误。禁用该策略后,命令 运行 成功。因此可能值得检查是否其他一切都失败了。

此致, 阿姆达瓦 MC.