MSA 설계 구현부터 AWS 배포까지 - 7. Cloud 서비스 실행
ecr에 push된 이미지를 kubernetes에 배포해 보자.
deploy하기
이제, ecr의 image를 deploy한다.
kubectl create deploy [디플로이 이름] --image=[리포지토리 이름]:[버전]
ex) kubectl create deploy gateway --image=475254874193.dkr.ecr.ap-northeast-2.amazonaws.com/kdh01-gateway:v1
리포지토리와 버전 정보로 디플로이를 생성한다.
디플로이 이름은 aggregate 명으로 하는 것이 좋겠다.
kubectl get all 로 디플로이를 확인한다.
replicaset, deploy, pod 모두 생성됐다.
aws는 기본적으로 외부 통신이 폐쇄되어있다.
따라서, 서비스 포트를 외부에 open해줘야 한다.
kubectl expose deploy [디플로이 이름]--type=[타입] --port=[포트]
gateway의 경우, 타입을 LoadBalancer로
일반 서비스의 경우, 타입을 ClusterIP로 설정한다.
ex) kubectl expose deploy gateway --type=LoadBalancer --port=8080
ex) kubectl expose deploy writing --type=ClusterIP --port=8080
kubectl -n kafka exec -ti 1jokafka -- /usr/bin/kafka-console-consumer --bootstrap-server [kafka EXTERNAL-IP]:9092 --topic [토픽 이름] --from-beginning
ex) kubectl -n kafka exec -ti 1jokafka -- /usr/bin/kafka-console-consumer --bootstrap-server a205882851c0d47c38e467574c2439ab-1315745141.ap-northeast-2.elb.amazonaws.com:9092 --topic OnePoint --from-beginning
kafka 모니터링 명령어다.
계속 켜놔야 하므로, 별도 cmd/terminal 을 띄워 실행해 놓는다.
이후, 서비스 체크를 수행한다.