症状
マネジメントコンソールでEKSを作成した時に
> kubectl get svc
error: You must be logged in to the server (Unauthorized)
となって確認ができない。
解決方法
コンソールにIAMのユーザーでサインインしてクラスタを作成し、同じユーザーでkubectlを実行する。
> kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 46m
説明
Amazon EKS クラスターが作成されたら、クラスターを作成する IAM エンティティ (ユーザーまたはロール) は、system:masters アクセス許可が付与された管理者として Kubernetes RBAC 認証テーブルに追加されます。最初は、その IAM ユーザーのみが kubectl を使用して Kubernetes API サーバーを呼び出すことができます。
クラスタを作成した直後は、作成したユーザでのみ呼び出しが可能です。
サインインするときに IAMユーザーで入り、そのユーザーで操作を実施しましょう。
自分は同じユーザーだとすっかり勘違いをして、ルートユーザーでクラスタ作成を行っていました。
もし同じ症状の場合は、今一度の見直しを…。
他にもロールの設定不備でも同じ様なエラーが出るようなので、一つ一つ確認して解決されるとよいかと思います。
参考