当前位置: 首页 > 知识库问答 >
问题:

只有创建者用户可以从Kubectl管理AWS kubernetes集群(EKS)?

壤驷向明
2023-03-14

我们有两个集群,命名为:

  1. MyCluster(由我创建)
  2. 其他群集(不是我创建的)

其中“我”是我自己的AWS IAM用户。

>>> aws eks update-kubeconfig --name MyCluster –profile MyUser
>>> kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   172.20.0.1   <none>        443/TCP   59d
>>> aws eks update-kubeconfig --name OtherCluster --profile MyUser
>>> kubectl get svc
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
error: the server doesn't have a resource type "svc"
…
users
- name: OtherCluster
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      args:
      - token
      - -i
      - OtherCluster
      command: aws-iam-authenticator
      env:
      - name: AWS_PROFILE
        value: OTHER_USER_PROFILE
…
# ~/.kube/config is currently pointing to OtherCluster

>>> kubectl get svc 
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   172.20.0.1   <none>        443/TCP   1d

当我管理集群时,模拟另一个人显然不理想。我更愿意授权我自己的用户通过Kubectl管理集群。是否有任何方法可以将管理群集的权限授予原始创建者以外的用户?这似乎过于严格

共有1个答案

汪弘毅
2023-03-14

创建Amazon EKS集群时,创建集群的IAM实体(用户或角色)作为管理员被添加到Kubernetes RBAC授权表中。最初,只有IAM用户可以使用Kubectl调用Kubernetes API服务器。

要授予其他AWS用户与集群交互的能力,您必须在Kubernetes中编辑aws-authConfigMap,为您的ConfigMap添加一个新的mapusers条目。这个EKS医生涵盖了所有的过程。

要添加IAM用户:将用户详细信息添加到ConfigMap的mapUsers部分中的Data下。如果文件中不存在此节,则添加此节。每个条目都支持以下参数:

    null
apiVersion: v1
data:
  mapRoles: |
    - rolearn: arn:aws:iam::555555555555:role/devel-worker-nodes-NodeInstanceRole-74RF4UBDUKL6
      username: system:node:{{EC2PrivateDNSName}}
      groups:
        - system:bootstrappers
        - system:nodes
  mapUsers: |
    - userarn: arn:aws:iam::555555555555:user/my-new-admin-user
      username: my-new-admin-user
      groups:
        - system:masters
 类似资料:
  • kuberntes 系统使用 etcd 存储所有数据,本文档介绍部署一个三节点高可用 etcd 集群的步骤,这三个节点复用 kubernetes master 机器,分别命名为test-001.jimmysong.io、test-002.jimmysong.io、test-003.jimmysong.io: test-001.jimmysong.io:172.20.0.113 test-002.j

  • 在通过云控制台创建集群后,我试图在本地使用kubectl,但总是出现错误。以下是我采取的步骤: 通过云控制台 下面是kubectl版本的输出 客户端版本:version.info{Major:“1”,Minor:“3”,gitversion:“v1.3.5”,gitcommit:“b0deb2eb8f4037421077f77cb163dbb4c0a2a9f5”,gittreeste:“clean

  • 本文向大家介绍Docker集群的创建与管理实例详解,包括了Docker集群的创建与管理实例详解的使用技巧和注意事项,需要的朋友参考一下 本文详细讲述了Docker集群的创建与管理。分享给大家供大家参考,具体如下: 在《Docker简单安装与应用入门教程》中编写一个应用程序,并将其转化为服务,在《Docker分布式应用教程》中,使应用程序在生产过程中扩展5倍,并定义应该如何运行。现在将此应用程序部署

  • 主要内容:使用简介 Docker Swarm 是 Docker 的集群管理工具。它将 Docker 主机池转变为单个虚拟 Docker 主机。 Docker Swarm 提供了标准的 Docker API,所有任何已经与 Docker 守护程序通信的工具都可以使用 Swarm 轻松地扩展到多个主机。 支持的工具包括但不限于以下各项: Dokku Docker Compose Docker Machine Jen

  • 集群管理架构概述。 { "clusters": [], "sds": "{...}", "local_cluster_name": "...", "outlier_detection": "{...}", "cds": "{...}" } clusters (required, array) 群集管理器将执行服务发现,健康检查和负载平衡的上游群集列表。 sds (someti

  • 集群管理架构概述 v1 API 参考 v2 API 参考 统计 概述 健康检查统计 离群检测统计 动态HTTP统计 动态HTTP交叉树统计 按服务区动态HTTP统计 负载均衡统计 负载均衡子集统计 运行时设置 主动健康检查 离群异常检测 核心 区域负载均衡 熔断 集群发现服务 统计 健康检查 TCP健康检查 熔断 运行时配置