- EKS External Secret2024년 12월 27일
- wngnl05
- 작성자
- 2024.12.27.:19
External Secret 역활 & 정책 만들기
더보기REGION="" CLUSTER_NAME="" NAMESPACE=""
cat >secret-policy.json <<EOF { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": ["kms:Decrypt"], "Resource": ["*"] } ] } EOF aws iam create-policy \ --policy-name wngnl-external-secrets \ --policy-document file://secret-policy.json ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text) eksctl create iamserviceaccount \ --name wngnl-external-secrets-cert-controller \ --region $REGION \ --cluster $CLUSTER_NAME \ --namespace=$NAMESPACE \ --attach-policy-arn arn:aws:iam::${ACCOUNT_ID}:policy/wngnl-external-secrets \ --override-existing-serviceaccounts \ --approve
External Secret 설치하기
helm repo add external-secrets https://charts.external-secrets.io helm install external-secrets \ external-secrets/external-secrets \ -n kube-system \ --set serviceAccount.create=false
Secret Reloader 설치하기
helm repo add stakater https://stakater.github.io/stakater-charts helm repo update helm install reloader stakater/reloader
Down File
wget https://raw.githubusercontent.com/wngnl-dev/AWS/main/EKS/External-Secret/external-secret.yaml wget https://raw.githubusercontent.com/wngnl-dev/AWS/main/EKS/External-Secret/secret-store.yaml wget https://raw.githubusercontent.com/wngnl-dev/AWS/main/EKS/External-Secret/deployment.yaml
확인하기
aws secretsmanager rotate-secret --secret-id $(aws secretsmanager list-secrets --query 'SecretList[?starts_with(Name, `rds!`)].Name' --output text) sleep 2m aws secretsmanager get-secret-value --secret-id $(aws secretsmanager list-secrets --query 'SecretList[?starts_with(Name, `rds!`)].Name' --output text) --query "SecretString" --output text | jq -r .password kubectl exec -n wsi -it $(kubectl get pods -n wsi --no-headers -o custom-columns=":metadata.name" | grep customer | head -n 1) -- /bin/sh -c 'echo $MYSQL_PASSWORD' kubectl exec -n wsi -it $(kubectl get pods -n wsi --no-headers -o custom-columns=":metadata.name" | grep product | head -n 1) -- /bin/sh -c 'echo $MYSQL_PASSWORD'
'Aws' 카테고리의 다른 글
WAF를 이용하여 POST Body에 특정 Key만 허용하기 (0) 2024.12.27 EKS Node의 Pod Limit 해제하기 (0) 2024.12.27 EKS RBAC (0) 2024.12.27 Lambda@edge로 S3 presigned URL 반환하기 (0) 2024.12.27 Linux에서 lynx 사용하기 (0) 2024.12.27 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)