2022/02

GCP

Kubernetes externalTrafficPolicy에 따른 동작과 GCP의 Container-native LoadBalancer 알아보기

Kubernetes는 컨테이너 오케스트레이션을 구현하기 위해 독특한 네트워킹 구조를 가지고 있습니다. 이런 Kubernetes의 네트워킹 구조에서 단연 중요한 것은 Service라는 개념입니다. Service는 외부 네트워크와 격리되어 있으며 임시적이라는 특성을 가진 Pod들을 외부와 통신할 수 있도록 고정적인 주소로 노출하는 방법을 말합니다. 이 Service의 가상 IP를 구현하기 위해서는 kube-proxy라는 컴포넌트가 전적으로 맡게 되며, 각 node에 위치해 netfilter라는 linux 패킷 조작 툴을 사용해 패킷의 생명주기를 조작합니다. 예를 들어 kube-proxy가 Service의 구현을 위해 사용하는 mode 중 iptables 모드는 패킷이 node로 들어오면 kube-proxy에..

Dev

Gradle을 이용해서 Springboot + GCP API 연동한 Java 프로젝트 생성 및 배포하기

Gradle은 여러 언어를 지원하는 빌드 자동화(build automation) 도구입니다. 기존에는 Ant나 Maven과 같은 여러 빌드 도구가 있었지만, Gradle은 이 중 가장 최근에 출시한 빌드 도구로써 성능이나 이용성 면에서 더 진보한 도구이기도 합니다. 이번 포스팅에서는 Gradle을 이용해서 GCP API를 연동한 Springboot 웹 애플리케이션을 빌드해보고, 이를 통해 생성된 Jar 아티팩트를 GCP의 아티팩트 레포지토리인 Artifact registry에 배포하는 과정을 step by step으로 알아보도록 하겠습니다. 1. GCP 리소스 구성 우선 Google Cloud Platform에서 준비해야 할 리소스들을 구성합니다. 이번 포스팅에서는 Gradle을 이용해 생성한 Jar 아..

Seungwoo Lee
'2022/02 글 목록