EC2上でKubernetes Clustersを作成しました。
昨日作成して、今朝EC2で以下のコマンドを実行したところ
以下のエラーが発生いたします。
kubectl
1$ kubectl version 2Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"fda", GitTreeState:"clean", BuildDate:"2021-01-13T13:28:09Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"} 3error: You must be logged in to the server (the server has asked for the client to provide credentials) 4 5$ kubectl get all 6error: You must be logged in to the server (Unauthorized)
恐らくクラスタを作成したユーザと違うと認識されエラーが発生しています。
ただ、EC2に設定しているAWSの認証情報は、『user1』であり
昨日と変わらずこのユーザでクラスタを作成していました。
(cloudtrailのログからもuser1で設定されていることを確認しています。)
実際に以下のコマンドを実行するとちゃんとuser1が設定されています。
cli
1aws sts get-caller-identity 2{ 3 "UserId": "*****", 4 "Account": "*****", 5 "Arn": "arn:aws:iam::*****:user/user1" 6}
クラスタを作成したときにConfigMapを設定しましたが
そちらも問題ないように思えます。
apiVersion: v1 kind: ConfigMap metadata: name: aws-auth namespace: kube-system data: mapUsers: | - userarn: arn:aws:iam::*****:user/user1 username: user1 groups: - system:masters
以上のことから打ち手がなく困っています。
対応方法をご教示願います。
***追記***
構築手順を以下に示します。
EC2インスタンスを起動(amazon linux2)
EC2にログインして以下のコマンドを入力
・install kubectl
・install kops
・SSH鍵の生成
$ ssh-keygen
・AWS認証情報作成
$ aws configure
・kops用のS3バケットの作成
・k8sクラスタ構築
kops create cluster --name クラスタ名 --zones リージョン --yes
kops update cluster クラスタ名 --yes
構築完了。
kubectl get all
→podが作られていることを確認
・
・
翌日にkubectl get all実行
上記エラー発生。
回答1件
あなたの回答
tips
プレビュー