Cloud-native
-
이번 글에서는 Kubernetes의 안정성을 향상시키는 주요 설정과 구성요소에 대해 다룹니다. 이러한 설정과 구성요소는 파드의 생명주기 관리, 자원 할당 및 사용, 스케줄링 전략, 노드 관리 등 여러 범주에 걸쳐 있습니다. 특히 다음 주제에 초점을 맞춥니다. 파드의 생명주기 및 상태 관리: 파드의 정상 작동을 지속적으로 확인하고 필요에 따라 복구 또는 재시작하는 메커니즘. 스케줄링 전략: 파드가 클러스터 내에서 어떻게 배치되며, 고가용성과 효율성을 동시에 달성하기 위한 전략. 리소스 관리: 클러스터의 리소스를 효율적으로 할당하고 사용하는 방법. 노드 관리 및 안정성: 노드의 상태를 모니터링하고, 장애 발생 시 자동 복구를 위한 전략. Pod Lifecycle Probe 개요: Kubernetes에서 Po..
[Kubernetes]클러스터의 안정성을 최대화할 수 있는 여러 설정과 구성요소이번 글에서는 Kubernetes의 안정성을 향상시키는 주요 설정과 구성요소에 대해 다룹니다. 이러한 설정과 구성요소는 파드의 생명주기 관리, 자원 할당 및 사용, 스케줄링 전략, 노드 관리 등 여러 범주에 걸쳐 있습니다. 특히 다음 주제에 초점을 맞춥니다. 파드의 생명주기 및 상태 관리: 파드의 정상 작동을 지속적으로 확인하고 필요에 따라 복구 또는 재시작하는 메커니즘. 스케줄링 전략: 파드가 클러스터 내에서 어떻게 배치되며, 고가용성과 효율성을 동시에 달성하기 위한 전략. 리소스 관리: 클러스터의 리소스를 효율적으로 할당하고 사용하는 방법. 노드 관리 및 안정성: 노드의 상태를 모니터링하고, 장애 발생 시 자동 복구를 위한 전략. Pod Lifecycle Probe 개요: Kubernetes에서 Po..
2023.08.27 -
https://github.com/bitnami-labs/sealed-secrets 개요 kubernetes secrets config를 git에 저장하려고 한다. 문제는 secrets config는 base64 decode를 이용해 쉽게 해독이 가능하다. SealedSecret를 이용하면 이 대상 클러스터에서 실행되는 컨트롤러에 의해서만 secrets이 해독될 수 있고 다른 누구도(심지어 원래 작성자도) SealedSecret에서 원래 비밀을 얻을 수 없다. 방법 SealedSecret 를 이용하여 암호된 SealedSecret.yaml을 생성한다. SealedSecret.yaml를 배포하여 kubernetes secrets을 생성한다. 주기적으로 Sealed secrets, secrets(e.g. d..
[Kubernetes]Sealed secrets - A Kubernetes controller and tool for one-way encrypted Secretshttps://github.com/bitnami-labs/sealed-secrets 개요 kubernetes secrets config를 git에 저장하려고 한다. 문제는 secrets config는 base64 decode를 이용해 쉽게 해독이 가능하다. SealedSecret를 이용하면 이 대상 클러스터에서 실행되는 컨트롤러에 의해서만 secrets이 해독될 수 있고 다른 누구도(심지어 원래 작성자도) SealedSecret에서 원래 비밀을 얻을 수 없다. 방법 SealedSecret 를 이용하여 암호된 SealedSecret.yaml을 생성한다. SealedSecret.yaml를 배포하여 kubernetes secrets을 생성한다. 주기적으로 Sealed secrets, secrets(e.g. d..
2023.07.23 -
Concept envoy xDS Sync는 Envoy 프록시가 동적으로 구성을 업데이트하고, 서비스 메시에서의 트래픽 관리를 최적화하는 과정을 의미한다. 여기서 xDS는 eXtensible Discovery Service의 약자로, Envoy 프록시와 구성 관리 시스템 간의 통신을 위한 일련의 프로토콜을 나타낸다. Envoy 프록시는 서비스 메시를 구성하는 요소로 마이크로서비스 간의 통신을 중개하고, 로드밸런싱, timeout, circuit breaker와 같은 기능을 제공한다. 이러한 기능을 수행하기 위해 Envoy 프록시는 자신의 구성 정보를 최신 상태로 유지해야한다. 여기서 xDS Sync는 다음과 같은 일련의 xDS 프로토콜을 통해 Envoy 프록시의 동적 구성을 가능하게 한다. LDS (Lis..
[Istio]Traffic Management - 무슨 일이 발생하는 건가?(envoy xDS Sync 이해하기)Concept envoy xDS Sync는 Envoy 프록시가 동적으로 구성을 업데이트하고, 서비스 메시에서의 트래픽 관리를 최적화하는 과정을 의미한다. 여기서 xDS는 eXtensible Discovery Service의 약자로, Envoy 프록시와 구성 관리 시스템 간의 통신을 위한 일련의 프로토콜을 나타낸다. Envoy 프록시는 서비스 메시를 구성하는 요소로 마이크로서비스 간의 통신을 중개하고, 로드밸런싱, timeout, circuit breaker와 같은 기능을 제공한다. 이러한 기능을 수행하기 위해 Envoy 프록시는 자신의 구성 정보를 최신 상태로 유지해야한다. 여기서 xDS Sync는 다음과 같은 일련의 xDS 프로토콜을 통해 Envoy 프록시의 동적 구성을 가능하게 한다. LDS (Lis..
2023.05.06 -
Concept 이 작업에서는 여러 버전의 마이크로서비스에 대한 동적 요청 라우팅을 구성하는 방법을 보여 준다. reviews 마이크로서비스에는 세 가지 버전이 있으며, 동시에 실행 중이다. 이 중 도서 리뷰에 별점이 포함된 경우(v2,v3)와 포함되지 않은 경우(v1)가 번갈아가며 나타나고 있다. Istio는 명시적으로 라우팅할 기본 서비스 버전이 없기 때문에 가능한 모든 버전에 대한 요청을 라운드 로빈 방식으로 라우팅한다. 이 작업의 목표는 모든 트래픽을 마이크로서비스의 v1로 라우팅하는 규칙을 적용하는 것이다. AS-IS: v1, v2, v3이 RR 방식으로 라우팅 productpage를 통해 접속하면 아래와 같이 리뷰 부분이 v1,v2,v3으로 돌아가며 나온다. TO-BE: reviews-v1 서비..
[Istio]Traffic Management - Request Routing(동적 요청 라우팅 구성하기)Concept 이 작업에서는 여러 버전의 마이크로서비스에 대한 동적 요청 라우팅을 구성하는 방법을 보여 준다. reviews 마이크로서비스에는 세 가지 버전이 있으며, 동시에 실행 중이다. 이 중 도서 리뷰에 별점이 포함된 경우(v2,v3)와 포함되지 않은 경우(v1)가 번갈아가며 나타나고 있다. Istio는 명시적으로 라우팅할 기본 서비스 버전이 없기 때문에 가능한 모든 버전에 대한 요청을 라운드 로빈 방식으로 라우팅한다. 이 작업의 목표는 모든 트래픽을 마이크로서비스의 v1로 라우팅하는 규칙을 적용하는 것이다. AS-IS: v1, v2, v3이 RR 방식으로 라우팅 productpage를 통해 접속하면 아래와 같이 리뷰 부분이 v1,v2,v3으로 돌아가며 나온다. TO-BE: reviews-v1 서비..
2023.05.06 -
Concept Istio의 트래픽 라우팅 규칙을 사용하면 서비스 간의 트래픽 및 API 호출 흐름을 쉽게 제어할 수 있다. Istio는 circuit breakers, timeouts, retries같은 서비스 수준의 구성을 간소화하며, A/B 테스트, 카나리 배포 및 퍼센트 기반 트래픽 분할과 같은 작업을 쉽게 설정할 수 있다. Istio의 트래픽 관리 모델은 서비스와 함께 배포되는 Envoy 프록시에 의존한다. 메시 서비스가 보내고 받는 모든 트래픽(data plane traffic)은 Envoy를 통해 프록시된다. 이를 통해 서비스를 변경하지 않고 메시 내에서 트래픽을 직접 제어하고 관리할 수 있다. 서비스 메쉬 성숙도 모델 아래 그림의 화살표 순으로 고도화된 서비스 메쉬를 완성해갈 수 있다. Ku..
[Istio]Traffic Management - OverviewConcept Istio의 트래픽 라우팅 규칙을 사용하면 서비스 간의 트래픽 및 API 호출 흐름을 쉽게 제어할 수 있다. Istio는 circuit breakers, timeouts, retries같은 서비스 수준의 구성을 간소화하며, A/B 테스트, 카나리 배포 및 퍼센트 기반 트래픽 분할과 같은 작업을 쉽게 설정할 수 있다. Istio의 트래픽 관리 모델은 서비스와 함께 배포되는 Envoy 프록시에 의존한다. 메시 서비스가 보내고 받는 모든 트래픽(data plane traffic)은 Envoy를 통해 프록시된다. 이를 통해 서비스를 변경하지 않고 메시 내에서 트래픽을 직접 제어하고 관리할 수 있다. 서비스 메쉬 성숙도 모델 아래 그림의 화살표 순으로 고도화된 서비스 메쉬를 완성해갈 수 있다. Ku..
2023.05.06 -
💡Environment Client Version: v1.24.0 Kustomize Version: v4.5.4 Server Version: v1.24.12-eks-ec5523e Namespace: bookinfo으로 변경 후 진행 Deploy sample application # inject envoy proxy kubectl label namespace bookinfo istio-injection=enabled # apply bookinfo application kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml -n bookinfo # veryfy deploy ➜ kubectl exec "$(kubectl get pod -l app=rati..
[Istio]Deploy bookinfo sample application to demonstrate various Istio features💡Environment Client Version: v1.24.0 Kustomize Version: v4.5.4 Server Version: v1.24.12-eks-ec5523e Namespace: bookinfo으로 변경 후 진행 Deploy sample application # inject envoy proxy kubectl label namespace bookinfo istio-injection=enabled # apply bookinfo application kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml -n bookinfo # veryfy deploy ➜ kubectl exec "$(kubectl get pod -l app=rati..
2023.04.23