AWS EKS 执行 kubectl 时 error: You must be logged in to the server (Unauthorized)

在 AWS 上创建好 EKS 后,想要在本地用  kubectl 来管理 EKS,必须用 aws eks update-kubeconfig 来更新本地的 ~/.kube/config 文件或者 KUBECONFIG 环境变量指向的别的配置文件。

比如说你创建 EKS 的用户在本地 ~/.aws/credentials 中的 profile 是 my-aws-profile, 那么完整的 update-kubeconfig 命令就是

$ aws eks --profile my-aws-profile --region us-east-1 update-kubeconfig --name myeks-cluster
Updated context arn:aws:eks:us-east-1:069762108088:cluster/myeks-cluster in /Users/yanbin/.kube/config

再来执行 kubectl get pods 如果出现错误 error: You must be logged in to the server (Unauthorized),肯定是因为你使用的 awscli 命令比较老(到底有多老呢?在 github 上已经无法追溯了,大概是 1.16.266 之前的)。大约生成的 ~/.kube/config 文件末尾像下面那样 阅读全文 >>

类别: Kubernetes. 标签: . 阅读(315). 评论(0) »

用 AWS Secrets Manager 存储和管理密钥

目前我们在 AWS 上把密钥,API Key  等信息是存储在  AWS Systems Manager 的 Parameter Store 中,它只提供了用 KMS Key 加密存储字符串的功能,最大字符串大小是 4096 个字符,它是免费的。

最近发现 AWS 上有一个新的服务 AWS Secrets Manager(2018 年 4 月发布的),听起来用它来存储密钥信息更高大上些。它同样提供了用 KMS Key 加密存储字符串的功能,字符串最大也是 4096 个字符。从 AWS Web 控制台上看可配置用 Key/Value 的形式,其实本质也是存储为一个 JSON 字符串。

Secrets Manager 与 Parameter Store 更多的功能是能与 RDS 集成 -- 选择数据库收集数据库的配置信息(主机名,端口,实例等), 还有就是可配置定期更新密钥,这对一个安全的系统定期改密码很重要。对于定期更新密钥的未作深入研究,AWS Secrets Manager 本身知道如何轮换 RDS 数据库的密钥,其他的需要一个 Lambda 来支持。 阅读全文 >>

类别: AWS. 标签: , . 阅读(384). 评论(0) »