我对Launching worker node in the AWS EKS guide的脚步感到非常困惑。老实说,在这一点上,我不知道出了什么问题。 当我执行kubectl得到svc时,我得到了集群,所以这是个好消息。 我的aws-auth-cm.yaml中有这个
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- rolearn: arn:aws:iam::Account:role/rolename
username: system:node:{{EC2PrivateDNSName}}
groups:
- system:bootstrappers
- system:nodes
这是我在.kube中的配置
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: CERTIFICATE
server: server
name: arn:aws:eks:region:account:cluster/clustername
contexts:
- context:
cluster: arn:aws:eks:region:account:cluster/clustername
user: arn:aws:eks:region:account:cluster/clustername
name: arn:aws:eks:region:account:cluster/clustername
current-context: arn:aws:eks:region:account:cluster/clustername
kind: Config
preferences: {}
users:
- name: arn:aws:eks:region:account:cluster/clustername
user:
exec:
apiVersion: client.authentication.k8s.io/v1alpha1
args:
- token
- -i
- clustername
command: aws-iam-authenticator.exe
我已经使用建议的AMI启动了EC2实例。
一些注意事项:
这是我第一次尝试使用kubernetes和EKS,因此请牢记:)。感谢您的帮助!
答案 0 :(得分:0)
您的配置文件和身份验证文件看起来正确。安全组分配可能存在一些问题?您能否共享创建集群和工作节点所遵循的确切步骤? 还有为什么必须使用CLI而不是控制台的特殊原因?我的意思是,如果这是您第一次尝试EKS,那么您可能应该尝试至少使用控制台设置一次集群。
答案 1 :(得分:0)
有时出于某种原因,aws_auth configmap 不会自动应用。所以我们需要手动添加它们。我遇到了这个问题,所以把它留在这里以防它对某人有帮助。
检查您是否已经应用了 aws-auth ConfigMap。
kubectl describe configmap -n kube-system aws-auth
如果您收到一条错误消息,指出“来自服务器的错误 (NotFound): configmaps "aws-auth" not found”,请继续
下载配置图。
curl -o aws-auth-cm.yaml https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/aws-auth-cm.yaml
使用您喜欢的文本编辑器打开文件。将
应用配置。
kubectl apply -f aws-auth-cm.yaml
观察节点的状态并等待它们达到就绪状态。
kubectl get nodes --watch
您也可以转到 aws 控制台并找到要添加的工作程序节点。
查找更多信息here