반응형
이제 만들어 놓은 EKS에 App을 배포해 보자 먼저 Go로 만들어 ECR에 올려 놓은 이미지를 활용한다.
1) hellotest-deployment.yaml 생성
apiVersion: apps/v1
kind: Deployment
metadata:
name: hellotest-api
spec:
replicas: 2
minReadySeconds: 5
selector:
matchLabels:
app: hellotest-api
template:
metadata:
name: hellotest-api-pod
labels:
app: hellotest-api
spec:
containers:
- name: hellotest-api
image: 357624679429.dkr.ecr.ap-northeast-2.amazonaws.com/hellotest:lastest
imagePullPolicy: Always
ports:
- containerPort: 8080
kubectl apply -f hellotest-deployment.yaml
정상적으로 pod에 배포가 되었다. 이제 배포된 App에 접속을 해봐야하는데
해당 pod에 직접 접속해서 테스트하기 보다는 Load Balancer를 연결해서 외부에서 접속해보는 테스트를 해보자.
2) hellotest-service.yaml 생성
apiVersion: v1
kind: Service
metadata:
name: hellotest-api
annotations:
service.beta.kubernetes.io/aws-load-balancer-type: "nlb"
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
spec:
ports:
- port: 80
name: http
protocol: TCP
targetPort: 8080
type: LoadBalancer
selector:
app: hellotest-api
위처럼 anntations을 추가하면 정상적이라면 aws ELB에 자동으로 NLB가 하나 생성이 된다.
그런데 확인해 보니 service가 만들어는 졌는데 EXTERNAL-IP에 end point url도 없고
실제 ELB도 생성 되어 있지 않았다. 확인해 보니 역시 권한 문제 사용자 권한에 ELB 권한을 추가해야 한다.
AWSElasticLoadBalancingServiceRolePolicy 를 추가한다.
다시 service를 생성하면 정상적으로 EXTERNAL-IP가 나온다.
App 실행 테스트
정상적으로 Hello GO! 라는 응답을 확인!
여기까지 EKS로 테스트 APP 배포및 ELB 테스트까지 완료! 생각보다 공부하는데 시간이 좀 걸렸다.
이런 저런 작은 문제들을 찾으면서 해결하는데 시간이 좀 걸린듯 .. 계속 AWS의 기능들에 대해 공부해 보고자 한다.
근데 아무래도 비용이 좀 드는것이 문제 ㅠㅠ
'AWS > EKS' 카테고리의 다른 글
1) EKS 따라해보기. (0) | 2021.03.05 |
---|