amazon-web-services - "kubectl"未从我的本地 Windows 工作站连

我正在尝试设置 aws EKS 集群并希望从我的本地 Windows 工作站连接该集群。无法连接。这是我执行的步骤;

  1. 创建一个 aws 服务角色(aws 控制台 -> IAM -> 角色 -> 单击“创建角色” -> 选择 AWS 服务角色“EKS” -> 给角色名称“eks-role-1”
  2. 在 IAM 中创建另一个名为“eks”的用户以进行编程访问。这将帮助我从我的本地 Windows 工作站连接我的 EKS 集群。我添加到其中的策略是“AmazonEKSClusterPolicy”、“AmazonEKSWorkerNodePolicy”、“AmazonEKSServicePolicy”、“AmazonEKS_CNI_Policy”。
  3. 已使用在步骤#1 中创建的 roleARN 创建了下一个 EKS 集群。最后在 aws 控制台中创建了 EKS 集群。
  4. 在我的本地 Windows 工作站中,我下载了“kubectl.exe”和“aws-iam-authenticator.exe”,并使用步骤#2 中的访问 key 和 token 为用户“eks”执行了“aws 配置”。配置“~/.kube/config”后;我在命令下运行并得到这样的错误:

Command:kubectl.exe get svc

output:
could not get token: NoCredentialProviders: no valid providers in chain. Deprecated.
        For verbose messaging see aws.Config.CredentialsChainVerboseErrors
could not get token: NoCredentialProviders: no valid providers in chain. Deprecated.
        For verbose messaging see aws.Config.CredentialsChainVerboseErrors
could not get token: NoCredentialProviders: no valid providers in chain. Deprecated.
        For verbose messaging see aws.Config.CredentialsChainVerboseErrors
could not get token: NoCredentialProviders: no valid providers in chain. Deprecated.
        For verbose messaging see aws.Config.CredentialsChainVerboseErrors
could not get token: NoCredentialProviders: no valid providers in chain. Deprecated.
        For verbose messaging see aws.Config.CredentialsChainVerboseErrors
Unable to connect to the server: getting credentials: exec: exit status 1

不确定这里有什么错误的设置。有人可以帮忙吗?我知道有些地方说你必须使用相同的 aws 用户来连接集群 (EKS)。但是我怎样才能获得 aws 分配角色的访问 key 和 token (步骤#2:eks-role-1)?

最佳答案

对于参与其中的人,您可以为 eks 提供配置文件。

EKS 不会在 kubeconfig 中添加配置文件。

解决方法:

  1. 导出 AWS 凭证
$ export AWS_ACCESS_KEY_ID=xxxxxxxxxxxxx
$ export AWS_SECRET_ACCESS_KEY=ssssssssss
  1. 如果您已经配置了 AWS 凭证。尝试导出 AWS_PROFILE
$ export AWS_PROFILE=ppppp
  1. 与 2 类似,但您只需要执行一次。编辑你的 kubeconfig
users:
- name: eks # This depends on your config.
  user:
    exec:
      apiVersion: client.authentication.k8s.io/v1alpha1
      command: aws-iam-authenticator
      args:
        - "token"
        - "-i"
        - "general"
      env:
        - name: AWS_PROFILE
          value: "<YOUR_PROFILE_HERE>" #

关于amazon-web-services - "kubectl"未从我的本地 Windows 工作站连接到 aws EKS 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55005397/

相关文章:

csv - 将 CSV 文件导入为矩阵

websocket - 错误 : Error when readinrror: Error when

sql - 根据一列删除 Select 查询中的重复项

amazon-web-services - 如何在 SQS 队列下添加超过 20 个策略语句 - 权

hibernate - 当我从 POST 方法更新它时,@CreationTimestamp 列设置

reactjs - 在导航更改时滚动恢复到顶部

bash - 如何获取 `ls` 命令的前 n 行

haskell - 计算列表中每个元素的所有出现次数

angular - MatAutocomplete 值 X 显示

ruby-on-rails - 捆绑安装不适用于 bundler 2.0.1 的 rails-4.2