当前位置:网站首页>AWS EKS添加集群用户或IAM角色
AWS EKS添加集群用户或IAM角色
2022-04-23 04:14:00 【沉淅尘】
Amazon EKS 使用 IAM 为Kubernetes 集群提供身份验证(通过 AWS CLI 的 1.16.156 版或更高版本中可用的 aws eks get-token 命令或者适用于 Kubernetes 的 AWS IAM 身份验证器),但它仍依赖于 Kubernetes 基于角色的访问控制 (RBAC) 来进行授权。

一、将 aws-auth ConfigMap 应用到集群
-
检查您是否已经应用了
aws-authConfigMap。kubectl describe configmap -n kube-system aws-auth如果您收到错误指示“
Error from server (NotFound): configmaps "aws-auth" not found”,则继续以下步骤以应用库存 ConfigMap。 -
下载、编辑和应用 AWS 身份验证器配置映射。
-
下载配置映射。
curl -o aws-auth-cm.yaml https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/aws-auth-cm.yaml -
使用您常用的文本编辑器打开文件。将
<ARN of instance role (not instance profile)>替换为与节点关联的 IAM 角色的 Amazon Resource Name (ARN),然后保存相应文件。请勿修改此文件中的任何其他行。重要
角色 ARN 不能包含路径。角色 ARN 的格式必须为
arn:aws:iam::<123456789012>:role/<role-name>。有关更多信息,请参阅aws-auth ConfigMap 不授予对集群的访问权限。apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapRoles: | - rolearn: <ARN of instance role (not instance profile)> username: system:node:{ {EC2PrivateDNSName}} groups: - system:bootstrappers - system:nodes您可以检查工作线程节点组的 AWS CloudFormation 堆栈输出,并查找以下值:
- InstanceRoleARN(针对已使用
eksctl创建的节点组) - NodeInstanceRole(针对已在 AWS Management Console 中使用 Amazon EKS 提供的 AWS CloudFormation 模板创建的节点组)
- InstanceRoleARN(针对已使用
-
应用配置。此命令可能需要几分钟才能完成。
kubectl apply -f aws-auth-cm.yaml注意
如果您收到任何授权或资源类型错误,请参阅故障排除部分中的未经授权或访问被拒绝 (kubectl)。
-
-
查看节点的状态并等待它们达到
Ready状态。kubectl get nodes --watch
二、将 IAM 用户或角色添加到 Amazon EKS 集群
-
确保 AWS 要使用的
kubectl凭证已为集群授权。预设情况下,创建该集群的 IAM 用户具有这些权限。 -
打开
aws-authConfigMap。kubectl edit -n kube-system configmap/aws-auth注意
如果您收到错误指示“
Error from server (NotFound): configmaps "aws-auth" not found”,则使用上述过程应用库存 ConfigMap。示例 ConfigMap:
apiVersion: v1 data: mapRoles: | - groups: - system:bootstrappers - system:nodes rolearn: arn:aws:iam::111122223333:role/eksctl-my-cluster-nodegroup-standard-wo-NodeInstanceRole-1WP3NUE3O6UCF username: system:node:{ {EC2PrivateDNSName}} kind: ConfigMap metadata: creationTimestamp: "2020-09-30T21:09:18Z" name: aws-auth namespace: kube-system resourceVersion: "1021" selfLink: /api/v1/namespaces/kube-system/configmaps/aws-auth uid: dcc31de5-3838-11e8-af26-02e00430057c -
将 IAM 用户、角色或AWS账户添加到 configMap。您无法将 IAM 组添加到 configMap 中。
- **添加 IAM 角色(例如,对于联合身份用户):**将角色详细信息添加到
data下 ConfigMap 的mapRoles部分。如果此部分在文件中尚不存在,请添加它。每个条目支持以下参数:- rolearn:要添加的 IAM 角色的 ARN。
- username:Kubernetes 内要映射到 IAM 角色的用户名。
- groups:Kubernetes 内角色要映射到的组的列表。有关更多信息,请参阅 Kubernetes 文档中的默认角色和角色绑定。
- **添加 IAM 用户:**将用户详细信息添加到
data下 ConfigMap 的mapUsers部分。如果此部分在文件中尚不存在,请添加它。每个条目支持以下参数:- userarn:要添加的 IAM 用户的 ARN。
- username:Kubernetes 内要映射到 IAM 用户的用户名。
- groups:Kubernetes 内用户要映射到的组的列表。有关更多信息,请参阅 Kubernetes 文档中的默认角色和角色绑定。
例如,下面的块包含:
mapRoles部分,此部分添加节点实例角色,以便节点可以自行注册到集群。mapUsers部分,其中包含来自默认AWS账户的AWS用户admin和来自其他AWS账户的ops-user。两个用户均添加到system:masters组。
将所有
<example-values>(包含<>)替换为您自己的值。# Please edit the object below. Lines beginning with a '#' will be ignored, # and an empty file will abort the edit. If an error occurs while saving this file will be # reopened with the relevant failures. # apiVersion: v1 data: mapRoles: | - rolearn: <arn:aws:iam::111122223333:role/eksctl-my-cluster-nodegroup-standard-wo-NodeInstanceRole-1WP3NUE3O6UCF> username: <system:node:{ {EC2PrivateDNSName}}> groups: - <system:bootstrappers> - <system:nodes> mapUsers: | - userarn: <arn:aws:iam::111122223333:user/admin> username: <admin> groups: - <system:masters> - userarn: <arn:aws:iam::111122223333:user/ops-user> username: <ops-user> groups: - <system:masters> - **添加 IAM 角色(例如,对于联合身份用户):**将角色详细信息添加到
-
保存文件并退出您的文本编辑器。
-
确保将 Kubernetes 用户或组(被映射了 IAM 用户或角色)绑定到具有
RoleBinding或ClusterRoleBinding的 Kubernetes 角色。有关更多信息,请参阅 Kubernetes 文档中的使用 RBAC 授权。您可以下载以下示例清单,这些清单创建clusterrole和clusterrolebinding或role和rolebinding:-
查看所有命名空间中的 Kubernetes 资源 – 文件中的组名为
eks-console-dashboard-full-access-group,您的 IAM 用户或角色需要在aws-authconfigmap 中映射到此组。如果需要,您可以在将组应用到集群之前更改该组的名称,然后在 configmap 中将您的 IAM 用户或角色映射到该组。从下列位置下载文件:https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-full-access.yaml -
查看特定命名空间中的 Kubernetes 资源 – 此文件中的命名空间是
default,因此,如果要指定不同的命名空间,请编辑该文件,然后将其应用到集群。文件中的组名称为eks-console-dashboard-restricted-access-group,您的 IAM 用户或角色需要在aws-authconfigmap 中映射到此组。如果需要,您可以在将组应用到集群之前更改该组的名称,然后在 configmap 中将您的 IAM 用户或角色映射到该组。从下列位置下载文件:https://s3.us-west-2.amazonaws.com/amazon-eks/docs/eks-console-restricted-access.yaml
-
-
(可选)如果您希望已添加到 configmap 中的用户能够在 AWS Management Console 中 查看节点 或 查看工作负载,则用户或角色必须具有以下两种类型的权限:
- 在 Kubernetes 中查看资源的 Kubernetes 权限
- 在 AWS Management Console 中查看资源的 IAM 权限。有关更多信息,请参阅在 AWS Management Console 中查看所有集群的节点和工作负载。
版权声明
本文为[沉淅尘]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_41335923/article/details/121335441
边栏推荐
- [echart] démarrer avec echart
- [mapping program design] coordinate inverse artifact v1 0 (with C / C / VB source program)
- [AI vision · quick review of robot papers today, issue 28] wed, 1 Dec 2021
- 记录一下盲注脚本
- Difference between LabVIEW small end sequence and large end sequence
- Chlamydia infection -- causes, symptoms, treatment and Prevention
- 阿里云IoT流转到postgresql数据库方案
- /etc/bash_completion.d目录作用(用户登录立刻执行该目录下脚本)
- Xiaomi, qui a établi le plus grand volume de ventes de téléphones portables domestiques sur le marché d'outre - mer, se concentre de nouveau sur le marché intérieur
- RuntimeError: output with shape [4, 1, 512, 512] doesn‘t match the broadcast shape[4, 4, 512, 512]
猜你喜欢
![[echart] Introduction to echart](/img/40/e057f4ac07754fe6f3500f3dc72293.jpg)
[echart] Introduction to echart

Who will answer the question?

创下国产手机在海外市场销量最高纪录的小米,重新关注国内市场
![[AI vision · quick review of NLP natural language processing papers today, issue 28] wed, 1 Dec 2021](/img/e1/ffa8c06b0856e16236b4c5ded882d7.png)
[AI vision · quick review of NLP natural language processing papers today, issue 28] wed, 1 Dec 2021

使用大华设备开发行AI人流量统计出现时间不正确的原因分析

Network principle | connection management mechanism in TCP / IP important protocol and core mechanism

一个函数秒杀2Sum 3Sum 4Sum问题

Introduction to Cortex-M3 register set, assembly language and C language interface

Difference between LabVIEW small end sequence and large end sequence

无线充电全国产化电子元件推荐方案
随机推荐
創下國產手機在海外市場銷量最高紀錄的小米,重新關注國內市場
Summary of knowledge map (3)
C language character constant
Xshell、Xftp连接新创建的Unbutu系统虚拟机全流程
【BIM+GIS】ArcGIS Pro2.8如何打开Revit模型,BIM和GIS融合?
HMS Core Discovery第14期回顾长文|纵享丝滑剪辑,释放视频创作力
MYSQL查询至少连续n天登录的用户
What if win10 doesn't have a local group policy?
[AI vision · quick review of NLP natural language processing papers today, issue 31] Fri, 15 APR 2022
[AI vision · quick review of NLP natural language processing papers today, issue 29] Mon, 14 Feb 2022
matlab读取多张fig图然后合并为一张图(子图的形式)
单极性非归零NRZ码、双极性非归零NRZ码、2ASK、2FSK、2PSK、2DPSK及MATLAB仿真
RuntimeError: output with shape [4, 1, 512, 512] doesn‘t match the broadcast shape[4, 4, 512, 512]
Stm32f4 MCU ADC sampling and FFT of ARM-DSP Library
Matlab minimalist configuration of vscode configuration
阿里云IoT流转到postgresql数据库方案
使用大华设备开发行AI人流量统计出现时间不正确的原因分析
伦敦银最新价格走势图与买卖点
硬核拆芯片
VSCode配置之Matlab极简配置