You will be fine

<GCP 쿠버네티스로 웹서비스하기> 배포하기 (2)

by BFine
반응형

2021/02/12 - [실전/JPA] - 구현 (5) - 달력 만들기

 

구현 (5) - 달력 만들기

누가 추첨됐는지 결과를 표시하는 달력기능을 추가해보았다.. 가. Table 구성  a. 엔티티 관계도 - 일반 달력테이블을 만들고 달력테이블의 PK를 참조하는 달력데이터 테이블을 만들었다. - JPA로 Ca

willbfine.tistory.com

달력기능 추가해서 이번엔 GCP를 이용해서 배포해보았다.

 

가. Container Registry

 a. 빌드 결과물 찾기

  -  Cloud Build로 만들어진 도커 이미지들은 Container Registry에 저장되어있다.

  -  쭉 들어가보면 이미지들이 있는 걸 확인할 수 있고 눌러보면 어디에 배포할건지 선택할 수 있다.

나. GKE에 배포

 a.  배포 만들기

  -  CKE에 배포를 클릭하면 쿠버네티스 엔진의 작업부하로 들어가진다.

  -  환경변수는 없으니 패스

 b. 구성

  -  어플리케이션 이름과 네임스페이스를 지정해야한다.

  -  라벨 설정과 클러스터 선택을 할 수 있다.

 

 c. 구성 yaml 

  -  yaml 보기를 클릭해보면 배포 구성을 확인 할 수가 있다.

  -  볼수만 있고 여기서 수정은 불가능하다 디폴트로 replicaSet 설정이 되어있다.

---
apiVersion: "apps/v1"
kind: "Deployment"
metadata:
  name: "drawinglot"
  namespace: "default"
  labels:
    app: "drawinglot"
spec:
  replicas: 3
  selector:
    matchLabels:
      app: "drawinglot"
  template:
    metadata:
      labels:
        app: "drawinglot"
    spec:
      containers:
      - name: "drawinglots-1"
        image: "이미지이름"
---
apiVersion: "autoscaling/v2beta1"
kind: "HorizontalPodAutoscaler"
metadata:
  name: "drawinglot-hpa-0qxj"
  namespace: "default"
  labels:
    app: "drawinglot"
spec:
  scaleTargetRef:
    kind: "Deployment"
    name: "drawinglot"
    apiVersion: "apps/v1"
  minReplicas: 1
  maxReplicas: 5
  metrics:
  - type: "Resource"
    resource:
      name: "cpu"
      targetAverageUtilization: 80

 

다. 세부정보

 a. 배포

  -  자동으로 배포를 하고 대시보드도 생성된다.

  -  대시보드

 b. 배포 노출

  -  여기서 통신을 위한 Service를 만들수 있다.

  -  부하분산기(LoadBalancer) , 노트 포트, 클러스터IP 중 하나로 선택이 가능하다.

  -  대상포트는 컨테이너 포트를 입력하면 된다. 

 c. 서비스 세부정보

  - 유형 아래에 외부 엔드포인트를 클릭하면 이제 서비스로 접속할 수 있다.

 

마. 실행

 a. 접속

  -  외부 엔드포인트 IP를 입력하면 핸드폰으로도 접속이 가능하다!

b. 그 외..

  -  자동 파이프라인 설정을 통해서 배포 자동화 설정도 가능하다.

  -  또 L7 로드밸런싱하는 ingress 설정도 간편하게 구성 할수 있다.

  -  UI를 이용해보니 간편하게 구성할 수 있다는게 참 좋은 것 같다! (과금이 문제..)

반응형

블로그의 정보

57개월 BackEnd

BFine

활동하기