amazon-web-services - 我在哪里可以查看由 `eksctl` 创建的服务帐户?
问题描述
我在 AWS 中创建了一个 EKS 集群并使用此命令创建一个服务帐户eksctl create iamserviceaccount --name alb-ingress-controller --cluster $componentName --attach-policy-arn $serviceRoleArn --approve --override-existing-serviceaccounts
。该命令的输出是:
[ℹ] using region ap-southeast-2
[ℹ] 1 existing iamserviceaccount(s) (default/alb-ingress-controller) will be excluded
[ℹ] 1 iamserviceaccount (default/alb-ingress-controller) was excluded (based on the include/exclude rules)
[!] metadata of serviceaccounts that exist in Kubernetes will be updated, as --override-existing-serviceaccounts was set
[ℹ] no tasks
我不确定它是否创建成功。
我使用此命令eksctl get iamserviceaccount
验证结果,但得到错误响应:
Error: getting iamserviceaccounts: no output "Role1" in stack "eksctl-monitor-addon-iamserviceaccount-default-alb-ingress-controller"
我也尝试运行kubectl get serviceaccount
,但出现错误:Error from server (NotFound): serviceaccounts "alb-ingress-controller" not found
.
这是否意味着服务帐户无法创建?在 AWS 控制台中的哪里可以查看服务账户?或者我在哪里可以查看错误?
解决方案
根据错误,这意味着serviceaccount已经存在。
要获取服务帐户,请使用kubectl
kubectl get serviceaccount <SERVICE_ACCOUNT_NAME> -n kube-system -o yaml
顺序是创建 IAM 角色,然后是 RBAC 角色和绑定。以下是您想要覆盖现有服务帐户的命令
eksctl --profile <PROFILE_NAME> \
--region=ap-northeast-2 \
create iamserviceaccount \
--name alb-ingress-controller \
--namespace kube-system \
--override-existing-serviceaccounts \
--approve --cluster <CLUSTER_NAME> \
--attach-policy-arn \
arn:aws:iam::ACCOUNT_ID:policy/ALBIngressControllerIAMPolicy
我发现这个研讨会Amazon EKS Workshop在我进入 EKS 的过程中非常有帮助。
编辑
从这个错误
[ℹ] 1 个现有的 iamserviceaccount(s) (default/alb-ingress-controller) 将被排除
似乎服务帐户是在默认命名空间内创建的。
所以检查服务帐户的命令将是
kubectl get serviceaccount <SERVICE_ACCOUNT_NAME> -n default-o yaml
推荐阅读
- metadata - Google Optimize - 如何动态获取“测试描述”和其他测试元数据
- javascript - 使用 Storybook 渲染多个变体
- flutter - Dart:将文件的大小保持在一定大小而不截断
- python - Python datetime.fromisoformat() 拒绝 JavaScript 日期/时间字符串:ValueError: Invalid isoformat string
- react-native - React Native:我如何使用 formik 和 yup 将文本计数添加到文本输入中?
- python - 在 hist 和 hist2d 的子图中将颜色条放在特定 hist2d 上
- c# - NHibernate 不会删除一对多关系中的孤儿
- php - 从字符串中提取数据的最佳方法
- javascript - 如何通过javascript更改标题的边距
- quickjs - QuickJS:由于修改函数原型可能导致内存泄漏