<GCP 쿠버네티스로 웹서비스하기> 배포하기 (1)
by BFine반응형
가. yaml 파일 설정하기
a. 설정 .yaml
- 저번에 만든 구성도 대로 .yaml 파일을 만들어본다.
- Service 타입은 LoadBalancer로 설정하고 포트포워딩은 8080으로 해야한다.
apiVersion: v1
kind: Service
metadata:
name: drawinglots-svc
labels:
app: drawinglots
spec:
ports:
- port: 80
targetPort: 8080
selector:
app: drawinglots
tier: application
type: LoadBalancer
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: drawinglots-deploy
labels:
app: drawinglots
spec:
selector:
matchLabels:
app: drawinglots
tier: application
strategy:
type: Recreate
template:
metadata:
labels:
app: drawinglots
tier: application
spec:
containers:
- image: //Cloud Build한 이미지 이름을 입력한다.
name: drawinglots
ports:
- containerPort: 8080
name: drawinglots
나. Application 수정하기
a. Profile 분리
- application-{프로파일이름}.yml 로 local과 gcp 두개로 만들었다.
- gcp는 service name을 통해 DNS 통신을 하기때문에 {service 이름}.{namespace} 로 Host를 설정했다.
다. 배포하기
a. 명령어
- kubectl create -f {파일명}.yml로 실행하자
b. 확인하기
- kubectl get pod -o wide 로 잘올라가있는지 확인!
- kubectl get svc 의 EXTERNAL IP를 확인하자
- 잘보면 Port가 80:8080 이어야 할 것 같은데 첨보는 3만번대 port가 보인다 확인해보면
- kubectl get svc {svc이름} -o yaml 맨 아래에 보면 저 3만번대 port 노드포트인걸 확인할 수 있다.
HTTP요청 --80--> LoadBalancer --31432--> [ NodePort - Service ] -- 8080---> Container
c. 테스트
- EXTERNAL IP로 접속해보면... 잘나온다!!
- ※ 요렇게 할 경우 하루에 약 오천원 정도 무료크래딧이 사라진다...
반응형
'공부 > Kubernetes' 카테고리의 다른 글
<GCP 쿠버네티스로 웹서비스하기> 배포하기 (2) (0) | 2021.02.16 |
---|---|
<GCP 쿠버네티스로 웹서비스하기> Cloud Build (0) | 2021.02.06 |
<GCP 쿠버네티스로 웹서비스하기> Postgres, Redis 설치 (1) | 2021.02.06 |
<GCP 쿠버네티스로 웹서비스하기> 클러스터 설정 (0) | 2021.01.31 |
블로그의 정보
57개월 BackEnd
BFine