본문 바로가기

GKE21

GKE Upgrade 방식 베하 !! 문땅훈과 루피입니다. 오늘은 GKE Upgrade 방식에 대해 알아보겠습니다. 개요 GKE Upgrade 방식 일시 급증 업그레이드 블루/그린 업그레이드 수동 업그레이드 방법 1. GKE Upgrade 방식 GKE 업그레이드 방식은 크게 2가지로 나뉩니다. 일시 급증 업그레이드와 블루/그린 2가지 방식이 있습니다. 각 업그레이드 특징에 대해서 먼저 알아보겠습니다. Surge Upgrade (일시 급증 업그레이드) 일시 급증 업그레이드는 기본 업그레이드 전략이며, 순차적 방법을 사용해 노드를 업그레이드 합니다. node1과 node 2가 있다면, node 1을 먼저 업그레이드 한 후, node2를 업그레이드 하게 됩니다. 일시 급증 업그레이드는 증분식 변경을 처리할 수 있는 어플리케이션에 적합하.. 2023. 11. 20.
GKE Maintenance Alert to SLACK 베하 ~~! 안녕하세요 엄..팀입니다. 이번 포스팅 주제에서는 GKE Maintenance에 대한 이벤트를 Slack으로 알림을 보내는 구성을 실습합니다. 개요 GKE + Pub/Sub + Cloud Functions + (Cloud Build) 를 이용한 알림 설정 GKE : Publisher Slack Webhook : Subscriber 1. Create Slack Application 타사 서비스의 클러스터 알림 구성 Slack 알림을 설정하려면 Slack 애플리케이션을 만들고, 이 애플리케이션에 대한 수신 웹훅을 활성화한 다음 Slack 작업공간에 애플리케이션을 설치해야 합니다. Slack 애플리케이션 만들기 이메일로 등록하거나 작업공간 관리자가 보낸 초대를 사용하여 Slack 작업공간에 가입합.. 2023. 5. 12.
[GKE 사용하기] 쿠버네티스 셀프힐링(Kubernetes Self-healing) 쿠버네티스에서는 서비스를 안정적으로 운영하기 위해 셀프힐링 기능을 지원합니다. 이 기능에는 Liveness Probe와 Readiness Probe가 있습니다. Liveness Probe를 통해서는 이름 그대로 컨테이너가 잘 살아있는지를 진단합니다. Readiness Probe를 통해서는 이름 그대로 서비스가 가능한 준비된 상태인지를 진단합니다. Probe 타입 컨테이너를 진단하과 확인하는 방법으로는 3가지가 있습니다. Http Get probe 가장 많이 사용하는 방식으로, 지정된 IP, port, path에 HTTP GET 요청을 보내 해당 컨테이너가 제대로 응답하는지를 확인합니다. HTTP 응답코드가 200이면 정상으로 판단하고, 그 이외의 값인 경우에는 비정상으로 판단하여 컨테이너를 다시 시작합니.. 2022. 12. 20.
[GKE 사용하기] 쿠버네티스 리소스관리 안녕하세요 Hallo 팀입니다.이번 시간에는 GKE를 잘 사용하기 위한 리소스 관리에 대해 알아보겠습니다. 서비스가 안정적으로 제공되기 위해서는 Pod 내의 애플리케이션이 원활하게 동작할 수 있는 충분한 자원이 확보되어야 합니다. 만약 특정 Pod나 컨테이너가 리소스를 독점한다면 다른 Pod에서 서비스를 제공하는 데에 문제가 발생할 수 있습니다. 그러므로 각 Pod의 리소스를 제한하고 관리하는 것이 필요합니다. ResourseQuota Resource Quota는 네임스페이스별로 리소스 사용과 생성을 제한합니다. 쿠버네티스에는 기본적으로 Resource Quota 지원이 활성화되어 있어, computing resource, storage resource, object count 등 다양한 타입을 통해 R.. 2022. 11. 25.
[GKE 사용하기] 서비스 디스커버리(Service Discovery)(2) 저번 시간에 이어 GKE를 잘 사용하기 위해 쿠버네티스 서비스 디스커버리에 대해 알아보도록 하겠습니다. 서비스 레지스트리 서비스 레지스트리는 각 서비스 인스턴스의 네트워크 위치 정보를 저장하는 데이터베이스로 항상 최신 정보를 유지해야 하며 고가용성이 필요하다. Netflix Eureka는 서비스 인스턴스를 등록하고 조회하는 API를 제공하는데, 각 서비스 인스턴스는 POST 요청으로 자신의 네트워크 위치를 등록하고 30초마다 PUT 요청으로 자신의 정보를 갱신한다. 등록된 서비스 정보는 DELETE 요청이나 타임 아웃으로 삭제된다. 그리고 등록된 서비스 정보는 GET 요청으로 조회 가능하다. 서비스 등록 서비스 레지스트리에 정보를 등록하고 해제하는 데에는 서비스 스스로 등록을 관리하는 셀프 등록 패턴(S.. 2022. 11. 14.
[GKE 사용하기] 서비스 디스커버리(Service Discovery)(1) 이번 시간에는 GKE를 잘 사용하기 위해 쿠버네티스 서비스 디스커버리에 대해 알아보도록 하겠습니다. Service Discovery란? 마이크로서비스 아키텍처(MSA)로 구성되어 있는 서비스들은 각자 다른 IP와 포트를 가지고 있다. 수많은 서비스의 IP와 포트 정보에 대해서 저장하고 관리하는 것이 필요하다. 클라우드에서 인스턴스는 동적으로 할당되기 때문에 IP주소나 포트 정보가 정해지지 않은 데다가 오토스케일링도 일어나고 중지되고 복구되면서 네트워크 위치가 지속적으로 변경된다. 따라서 클라이언트나 API 게이트웨이가 호출할 서비스를 찾기 위해 서비스 디스커버리(Service Discovery)가 필요하다. 서비스 디스커버리는 클라이언트 사이드 디스커버리 패턴(Client-Side Discovery Pa.. 2022. 11. 14.
쿠버네티스 서비스(Kubernetes Service) 안녕하세요~ BTC Hallo팀입니다. 이번시간에는 GKE 활용과 관련해서 쿠버네티스 서비스에 대해서 알아보겠습니다. 쿠버네티스 서비스는 동적으로 변하는 IP를 가지는 Pod들에 고정된 방법으로 접근하고, 동일한 서비스를 제공하는 Pod 그룹에 접근하는 단일 진입점을 생성하는 리소스이다. 각 서비스에는 서비스가 존재하는 동안 변하지 않는 IP와 port가 있다. 클라이언트는 해당 IP:port에 연결할 수 있고, 이 연결은 서비스를 제공하는 Pod 중 하나로 라우팅된다. 서비스 타입 ClusterIP 동일한 서비스를 지원하는 Pod는 하나 이상 존재할 수 있다. 이때 ClusterIP를 통해 백엔드의 동일한 서비스를 제공하는 Pod들로 로드밸런싱이 가능하다. Selector의 Label이 동일한 Pod를.. 2022. 11. 1.
GKE Backend Timeout 변경 방법 안녕하세요 MC에몽입니다. 오늘은 GKE Backend Timeout 변경 방법에 대해 알아보는 시간을 가지도록 하겠습니다. 서비스를 제공하는 경우, 서비스 제한 시간 설정이 필요한 경우가 있습니다. 서비스 제한 시간을 설정하여 서비스 제공 시간에 대한 설정이 가능합니다. 이처럼 서비스 별로 적절한 제한시간을 설정하여 사용할 경우 좀 더 연결 관리에 유익할 것입니다. Backend Timeout은 HTTP, HTTPS, HTTP/2 프로토콜을 사용하는 External 및 Internal HTTP(S) LB의 경우 백엔드 서비스 제한 시간은 HTTP(S) 트래픽의 요청/응답 제한 시간입니다. Google의 LB에는 Backend Timeout이 기본 30초로 설정되어 있습니다. 설정 가능한 허용 범위는 1.. 2022. 10. 20.