見出し画像

【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ユーザでしかアクセスできないので、、)

いいなと思ったら応援しよう!