内容
- CodeBuildeで
kubectl applyを実施したい - エラー
error: You must be logged in to the server (Unauthorized)- CodeBuildでkubectlしたいが、このエラーが出てしまう
参考ページ
メモ
- 基本的に上記クラスメソッドさんのブログのように進めればOK
- EKS, EKSノードグループ作成
- CodePipeline, CodeBuild作成
- CodeBuildのロールの調整(CodeBuildがkubectlできるようにする)
上記 CodeBuildのロールの調整(CodeBuildがkubectlできるようにする)これでハマった
- 上記ブログにもあるように、EKSクラスタのConfigMap情報を編集する必要がある
- CodeBuildがEKSクラスタにアクセスできるような設定にしてやる必要がある
- EKSクラスタにログインできるコンソールから以下のコマンドを実行して
aws-authを
$ kubectl edit -n kube-system configmap/aws-auth
これでCodebuilで使用するロール情報を追記してやる必要がある
- rolearn: <CodeBuildのサービスロールのARN>
username: codebuild
groups:
- system:masters
これを追記
CodeBuildのサービスロールのARNについて
- CodeBuildにアタッチしてあるロールを見てみると以下のようになってる
arn:aws:iam::xxxxxxxxx:role/service-role/codebuild-role
- この
arnをrolearnとして記載してもうまくいかない - 上記Qiitaブログに書いてあるが
○: arn:aws:iam::xxxxx:role/codebuild-hoge-service-role ×: arn:aws:iam::xxxxx:role/service-role/codebuild-hoge-service-role
ということらしい