sbs*_*sbs 7 amazon-web-services kubernetes kubectl amazon-eks
从一个空的AWS账户开始,我试图关注https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html
这意味着我创建了一个VPS堆栈,然后安装了aws-iam-authenticator,awscli和kubectl,然后创建了一个具有Programmatic访问权限且直接连接了AmazonEKSAdminPolicy的IAM用户.
然后我使用该网站创建了我的EKS集群,并用于aws configure设置我的IAM用户的访问密钥和秘密.
aws eks update-kubeconfig --name wr-eks-cluster 工作得很好,但是:
kubectl get svc
error: the server doesn't have a resource type "svc"
Run Code Online (Sandbox Code Playgroud)
无论如何我继续创建我的工作节点堆栈,现在我处于一个死胡同:
kubectl apply -f aws-auth-cm.yaml
error: You must be logged in to the server (the server has asked for the client to provide credentials)
Run Code Online (Sandbox Code Playgroud)
aws-iam-authenticator token -i <my cluster name> 似乎工作正常.
我似乎缺少的是,当您创建群集时,您指定了IAM角色,但是当您创建用户时(根据指南),您附加了一个策略.我的用户应该如何访问此群集?
或者最终,如何使用kubectl继续访问我的集群?
son*_*207 14
这是我使用aws-cli 的步骤
$ export AWS_ACCESS_KEY_ID="something"
$ export AWS_SECRET_ACCESS_KEY="something"
$ export AWS_SESSION_TOKEN="something"
$ aws eks update-kubeconfig \
--region us-west-2 \
--name my-cluster
>> Added new context arn:aws:eks:us-west-2:#########:cluster/my-cluster to /home/john/.kube/config
Run Code Online (Sandbox Code Playgroud)
奖励,使用kubectx切换 kubectl 上下文
$ kubectx
>> arn:aws:eks:us-west-2:#########:cluster/my-cluster-two arn:aws:eks:us-east-1:#####:cluster/my-cluster
$ kubectx arn:aws:eks:us-east-1:#####:cluster/my-cluster
>> Switched to context "arn:aws:eks:us-east-1:#####:cluster/my-cluster".
Run Code Online (Sandbox Code Playgroud)
参考: https: //docs.aws.amazon.com/eks/latest/userguide/getting-started-console.html
Iva*_*ita 11
system:master权限,并且足以使其kubectl正常工作.您需要使用此用户凭据(AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY)来访问群集.如果您没有创建特定的IAM用户来创建集群,那么您可能使用root AWS账户创建了它.在这种情况下,您可以使用root用户凭据(为Root用户创建访问密钥).aws-auth集群中的ConfigMap - 它包含IAM实体 - > kubernetes ServiceAccount映射.我不确定你如何传递凭证aws-iam-authenticator:
~/.aws/credentials,aws_profile_of_eks_iam_creator那么你可以试试$ AWS_PROFILE=aws_profile_of_eks_iam_creator kubectl get all --all-namespaces$ AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=YYY AWS_DEFAULT_REGION=your-region-1 kubectl get all --all-namespaces它们都应该工作,因为kubectl ...将使用~/.kube/config包含aws-iam-authenticator token -i cluster_name命令的生成.aws-iam-authenticator使用环境变量或~/.aws/credentials为您提供令牌.
此外,这个答案可能有助于理解第一个EKS用户创建.
| 归档时间: |
|
| 查看次数: |
5297 次 |
| 最近记录: |