【AWS】【Kubernetes】マネジメントコンソールよりEKSを管理する
Cue
・EKS(Kubernetes)の状態をAWSのマネジメントコンソール上で確認したい
・ノードグループは構築してあるはずなのに、マネジメントコンソールでは状態を確認できず、踏み台サーバからなら確認できるのに、、、
・権限回りとはいえ、マニフェストファイルで管理しているのでは?
Note
・マネジメントコンソールにログインするIAMロールのARNを特定のマニフェストファイルに追記する
# aws-auth.yaml
# 例
apiVersion: v1
kind: ConfigMap
metadata:
name: aws-auth
namespace: kube-system
data:
mapRoles: |
- groups:
- system:bootstrappers
- system:nodes
rolearn: {Arn情報} #←ノードグループのRoleのArn情報等
username: system:node:{{EC2PrivateDNSName}}
- groups:
- system:masters
rolearn: {Arn情報} # ←踏み台サーバのRoleのArn情報等
username: ec2
- groups:
- system:masters
rolearn: {Arn情報} # ←マネジメントコンソールへログインするRoleのArn情報等
username: {admin} or {management-console}
上記の最後の4行を追加することで、マネジメントコンソールからEKSの情報を確認することができる。
逆に消すことでマネジメントコンソールから管理することができなくなるため、IAM Roleによって管理するRoleと管理しないRoleを分けることができる。
Summary
・EKSクラスターを作成する際に使用したIAMユーザ以外のIAMリソースでEKSクラスターにアクセスしたい場合には、aws-authに登録する必要があるので、この設定でアクセスできる
・aws-auth.yamlの設定をミスると、状況によってはEKSから再構築が必要になる場合もある。(基本的にEKSクラスターを作成する際に使用したIAMユーザでしかアクセスできないので、、)