이 글의 목적
이 글은 GCP의 GKE와 가비아에서 발급한 도메인을 연결하는 과정을 소개합니다. 초보자를 위한 단계별 설명을 통해 Kubernetes 엔진과 도메인 설정을 효과적으로 통합할 수 있도록 안내합니다.
한눈에 보기
- 가비아에서 도메인 발급
- GKE에 할당된 Static External IP와의 연결
- 외부 트래픽 라우팅을 위해 Ingress 설정
- 가비아에서 도메인을 발급한다.
- GKE와 도메인을 연결한다.
- 잘 작동되는지 확인한다.
- 가비아에서 도메인 발급하기

- 발급 성공
- GKE와 도메인을 연결하기
- GCP Console에서 Static External IP 발급하기VPC network 버튼을 클릭한다.

- Reserve external 버튼을 클릭한다.

- 아래 이미지대로 설정한다.

- Reserve 버튼을 클릭한다.

- Static External IP 생성 성공

- GCP Console에서 GKE Workload 배포하기!!. 문제 발생 ( 새로운 방향 )Docker Image를 기본 제공의 이미지로 진행해서 마무리 지을지 (기존 계획 마무리)
- Docker Image를 테스트로 만들어 두었던 서비스의 이미지로 진행해서 빠르게 결과를 도출할지 (최종 결과물)
결론: 노력에 대한 에너지 회수를 위해 기존대로 진행하고 확실하게 마무리 짓는 것으로 결정
- GCP Console에서 GKE Workload를 기본 이미지로 배포하기아래와 같이 설정한다.

- 아래와 같이 설정한다.

- 아래와 같이 설정한다

나중에 Ingress로 연결할 계획이므로 아무것도 노출하지 않음
- 파드 개수를 조정하기 위해 Edit로 이동한다.

- replicas와 관련된 개수를 모두 조정한다. 3 -> 1

- 제대로 파드 개수가 설정된 걸 확인한다 (성공)

- GCP Console에서 Service 생성하기GKE > Workloads > hello-app > Actions > Expose를 클릭한다.

- Docker Image에서 설정한 포트를 설정하고, Cluster IP를 선택한 뒤 Expose 버튼을 클릭한다.

- Service 생성 성공!

- Ingress 생성하기Global Static IP 만들기VPC Network > IP addresses > Reserve external 버튼을 클릭한다.

- 다음과 같이 설정한다.

- [선택] 이전에 Regional로 만들었던 IP Address는 IP Addresses 화면에서 Release static address 버튼을 클릭해서 삭제한다.선택인 이유는 이전에 만들었던 static address는 비용 최적화를 할 때 사용할 예정입니다.
<전제조건>
- Mac OS 기준으로 터미널의 아래의 명령어에 모두 조회가 되어야 합니다. 만약 조회가 안된다면 이전 게시글 참조해주세요.
- gcloud auth list
- gcloud config list
현재 디렉토리에서 다음 명령어를 실행한다.
- nano ingress.yaml
아래와 같이 입력한다.
- 본인의 Static IP, 발급한 Host Name, 생성한 Service Name

- 이후에 Control + X > Y > Enter 를 눌러 변경사항을 저장한다.
- 제작한 파일을 Kubernetes에 적용한다kubectl apply -f ingress.yaml
External IP가 잘 나오는지 확인한다.
- kubectl get ingress

성공!
- 가비아의 네임서버에서 도메인(A레코드) 연결하기가비에 > My 가비아 > 도메인 관리 > DNS 관리https://dns.gabia.com/

- A레코드 추가


- 대략 1~2 시간 이후dig YourDomain.com +short

성공!

- GCP에서 HTTPS 설정(인증서 등록)두 개의 파일을 만든다.nano be-cert-root.yaml
- nano be-cert-www.yaml
- nano ingress.yaml 을 입력 후 아래와 같이 metadata에 추가한다.

- 세 파일들을 적용한다kubectl apply -f be-cert-root.yaml
- kubectl apply -f be-cert-www.yaml
- kubectl apply -f ingress.yaml
점검 명령어
- 여기에서 30~1시간 정도의 시간이 소요될 수 있다.
- dig +short YourDomain.com
- dig +short www.YourDomain.com
- kubectl get managedcertificate
- kubectl describe ingress <YourIngressName>Events: Type: Warning > MissingCertificate

성공!
핵심 정보

Ingress Reference link:
https://cloud.google.com/kubernetes-engine/docs/how-to/load-balance-ingress?utm_source=chatgpt.com

chevron_right chevron_right Google Kubernetes Engine (GKE) chevron_right chevron_right Documentation chevron_right chevron_right 가이드 chevron_right 외부 애플리케이션 부하 분산기용 인그레스 구성 Autopilot Standard 이 페이지에서는 Kubernetes 인그레스 객체를 만들어 외부 애플리케이션 부하 분산기 를 구성하는 방법을 설명합니다. 이 페이지를 읽기 전에 GKE 네트워킹 개념 을 숙지해야 합니다. 시작하…
cloud.google.com
!!. 문제 발생
- 이대로 진행할 경우 월 최소 34 만 원(쿠버네티스 엔진의 비용)의 고정 지출이 발생 (평행 문제) > 후순위
설정 스펙




참조 링크:
https://cloud.google.com/products/calculator

Welcome to Google Cloud's pricing calculator Get started with your estimate Add and configure products to get a cost estimate to share with your team. add Add to estimate video_youtube A quick tutorial on how to use this tool Watch now . This tool creates cost estimates based on assumptions that you…
cloud.google.com
삽질
- Ingress 생성하기 ( ChatGPT가 알려준 절차 ) > 이걸로 된다면 이렇게 하는 게 편할 것 같습니다.Create Ingress 버튼을 클릭한다

- 내용들을 구성한다. > 저는 오류가 발생해서 생략

흔한 함정
- IP 주소나 도메인 설정 시 오타로 인한 연결 문제
- 비용 최적화를 고려하지 않은 무리한 리소스 사용
다음 단계
- HTTPS 보안 설정을 통한 서비스 안정성 강화
- GKE 클러스터의 리소스 할당 최적화 실습
답글 남기기