MSA 서비스를 개발한 과정을 기록해보려고 한다.
우선 AWS 서비스를 이용해서 MSA를 구현했다.
EKS(Elastic Kubernetes Service)란 쿠베네티스 클러스터를 AWS 상에서 서버리스로 실행할 수 있게 해준다. 고가용성과 확장성을 보장해주는 서비스이다.
1. Cloud Formation을 이용한 AWS 리소스 생성
우선 서비스를 원할히 제공하기 위한 서버 리소스가 필요하다. VPC, Subnet, NAT Gateway, AZ(AvailabilityZone) 등 을 cloud formation을 이용해 생성한다.
2. 역할 생성, 권한 할당(클러스터/워커노드)
클러스터와 워커노드에 각각 역할과 권한을 할당한다.
3. EKS 클러스터를 생성한다.
"클러스터 구성"에서 클러스터 이름과 역할을 지정하고 "네트워킹 지정"으로 서브넷, VPC, 보안그룹 등을 설정하고,
"클러스터 엔드포인트"를 퍼블릭이나 프라이빗으로 설정한다. aws cli를통해 로컬의 kubectl 클라이언트가 eks 클러스터를 바라보도록 설정한다.
그리고 클라우드 포메이션을 통해 생성한 VPC의 서브넷을 EKS 노드 그룹간 공유할 수 있도록 각 서브넷에 태그를 넣어준다.
마지막으로 EKS에 IAM 유저를 추가하여 클러스터에 접근가능한 IAM유저를 지정해준다.
완성된 클러스터의 구조는 다음과 같다.
'MSA' 카테고리의 다른 글
[K8S] 쿠버네티스 명령어 정리 (0) | 2022.06.18 |
---|---|
[istio] 설치 요구사항 정리 (0) | 2022.06.18 |
[K8S] 쿠버네티스 설치 (0) | 2022.06.18 |
[AWS][K8S] EKS 쿠버네티스 클러스터 구축 (0) | 2022.06.18 |
[istio] 개념 및 실습 (0) | 2022.06.18 |