제목을 어떻게 적해야될지 아직 고민중...
테라폼을 이용하여 EKS환경 구성 후 kubernetes ingress를 사용해보려고함.
개발서버 : centOS7
1. 테라폼을 이용한 EKS 배포
- 배포시 서브넷 태그 key:value 설정 중요
- key = kubernetes.io/role/elb
- value = 1
2. 기본 설정
※ 남는 pc에 kubernetes 제어용 서버 구축하여사용중.
2-1 클러스터 연결
aws eks update-kubeconfig --region=$AWS_REGION --name=$CLUSTER_NAME --alias={별칭}
2-2 ekctl 설치
2-3 활성된 클러스터 확인
kubectl config get-contexts
다른게 선택되있으면 변경
kubectl config use-context {클러스터 별칭}
2-4 default 클러스터 모니터링 터미널 실행
watch kubectl get node,ingress,svc,deploy,replicaset,pod -o wide
2-5 클러스터 접근 모니터링을 위한 역할 추가
export rolearn=arn:aws:iam::$ACCOUNT_ID:root
오류나면 수동 적용(실습 후 삭제)
eksctl create iamidentitymapping --cluster $CLUSTER_NAME --arn arn:aws:iam::$ACCOUNT_ID:root --group system:masters --username admin
환경 파일 에디터 실행하여 편집
kubectl edit configmap aws-auth -n kube-system
아래내용을 추가
-groups:
- system:masters
rolearn: arn:aws:iam::AWS본인계정ID:root
username: admin
3. AWS Load Balancer 컨트롤러 만들기
IAM OIDC provider 생성(실습 후 삭제)
eksctl utils associate-iam-oidc-provider --region $AWS_REGION --cluster $CLUSTER_NAME --approve
생성되면 IAM에서 확인가능 확인
aws eks describe-cluster --name $CLUSTER_NAME --query "cluster.identity.oidc.issuer" --output text
위명령어로 코드값 찾아냄.
https://oidc.eks.ap-northeast-2.amazonaws.com/id/코드값
iam 자격증명 provider추가(중요) 이게 추가 안되면 ingress배포 안됨.
aws iam list-open-id-connect-providers | grep 코드값
4. AWS Load Balancer Controller에 부여할 IAM Policy를 생성을 위한 정책 정보 다운
curl -o iam-policy.json https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.4.4/docs/install/iam_policy.json
iam 생성
aws iam create-policy --policy-name AWSLoadBalancerControllerIAMPolicy --policy-document file://iam-policy.json
Service Account 생성(실습 후 삭제)
eksctl create iamserviceaccount --cluster $CLUSTER_NAME --namespace kube-system --name aws-load-balancer-controller --attach-policy-arn arn:aws:iam::$ACCOUNT_ID:policy/AWSLoadBalancerControllerIAMPolicy --override-existing-serviceaccounts --approve
5. 클러스터에 컨트롤러 추가(실습 후 삭제)
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml
6. 컨트롤러 배포파일 다운로드
wget https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/download/v2.4.4/v2_4_4_full.yaml
컨트롤러 배포
kubectl apply -f v2_4_4_full.yaml
728x90
'CLOUD > AWS' 카테고리의 다른 글
aws | efs 동적 스토리지 배포 (0) | 2023.01.04 |
---|---|
aws | efs & gitaction & terraform | django image CI 작업 (0) | 2023.01.04 |
AWS | Secrets manager (0) | 2022.12.14 |
aws | efs 생성해보기 | console (0) | 2022.12.07 |
aws-ecr | aws docker registry적용방법 (0) | 2022.11.11 |