2023年3月25日土曜日

EKSのkubeconfigを作らずに、kubectlとhelm コマンドを動かす

 

こんなかんじでEKSから情報を取ります。

EKS_CLUSTER_NAME=main-cluster
EKS_TOKEN=$(aws eks get-token \
			--cluster-name ${EKS_CLUSTER_NAME} \
			| jq -r '.status.token')
EKS_ENDPOINT=$(aws eks describe-cluster \
			--name ${EKS_CLUSTER_NAME} \
			--query 'cluster.endpoint' \
			--output text)
aws eks describe-cluster \
		--name ${EKS_CLUSTER_NAME} \
		--query 'cluster.certificateAuthority.data' \
		--output text \
		| base64 -d > /tmp/ca.crt


上記の情報を kubectl に渡して実行します。

s kubectl get pods -A \
	--server="${EKS_ENDPOINT}" \
	--certificate_authority=/tmp/ca.crt \
	--token="${EKS_TOKEN}"


helm は、こんなかんじ

helm repo add eks https://aws.github.io/eks-charts \
		--kube-apiserver "${EKS_ENDPOINT}" \
		--kube-token "${EKS_TOKEN}" \
		--kube-ca-file "/tmp/ca.crt"


EKSを構築したヒト以外は、下記URLの作業が必要かもしれない。

https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/add-user-role.html