Cloud

마이크로서비스, 서비스 메시 관련 기술을 공유합니다.

Istio Circuit Breaking


Circuit Breaking이란 전기의 회로차단기에서 차용한 개념으로 전기가 흐르다가 문제가 생기면 회로를 open하여 더이상 전기가 흐르지 않도록하여 문제가 되는 부분으로 부터 전체 시스템에 장애가 전파되지 않도록 하는데 목적이 있습니다. Istio 에서는 envoy 를 활용하여 circuit breaking 기능을 제공하고 있습니다. 이중 Istio 의 destinationrul의 connectionPool, outlierDetection 스펙을 활용한 circuit breaking 기능을 간단한 예제를 통해 검증해 봅니다.

New 2019/08/20 14:35

 #istio  #kubernetes  #쿠버네티스  #circuit break  #destinationrule

[Istio] 간단한 시나리오를 통해 Canary 배포 구현해보기


Canary 배포는 예전 광산에 유독가스가 있는지 확인하기 위해 카나리아를 광산에 가지고 들어간 것에 아이디어를 얻은 배포 방법으로 Istio 의 virtualservice 와 destinationrule 을 활용하여 비교적 손쉽게(?) 구현 할 수 있습니다. 이 글에서는 간단한 시나리오를 통해 Istio 의 Canary 배포를 어떻게 구현하고 활용할 수 있는지를 확인해봅니다.

New 2019/07/30 09:08

 #istio  #kubernetes  #쿠버네티스  #virtualservice  #destinationrule  #routing

간단한 예제로 보는 Istio VirtualService와 Destination 을 활용한 Istio Traffic Routing의 이해


Istio 의 VirtualService는 Kubernetes service 를 세분화한 추상화된 Custom Resource Definition이며, 다양한 조건 정의를 통해 사용자에게 소스 또는 어플리케이션 설정정보 변경없이 선언적으로 트래픽이 라우트 되도록 해준다. Traffic Management 는 소스코드의 변경없이 트래픽의 경로를 경로를 변경 관리할 수 있는 기능으로 수많은 마이크로서비스과 그들간의 트래픽이 오고가는 서비스메시에서 기본이 되는 주요한 기능이라 할 수 있을 것입니다. 이 포스트는 이렇게 Istio 에서도 주요 feature 중 하나인 Traffic Management 의 핵심인 VirtualService 와 DestinationRule 동작 원리를 간단한 예제를 활용해서 룰셋을 적용해보고 Kubernetes의 _service_ 와 비교를 통해 Istio 라우팅의 기본 개념을 이해하는데 목적이 있습니다.

New 2019/07/24 10:01

 #istio  #kubernetes  #쿠버네티스  #virtualservice  #destinationrule  #routing

knative 에서 Github에 있는 hello 앱 소스를 Build 컴포넌트로 빌드하고 서비스 배치 해보기


Knative의 Build 컴포넌트는 git 같은 SCM에서 소스를 pull 하고 해당 소스로부터 컨테이너 이미지를 생성하여 레지스트리에 Push 하는 프로세스를 가지고 있습니다.. 이러한 일련의 Knatvie 빌드 프로세스를 간단한 hello 앱을 만들어 그 동작 원리를 확인해 보고자 합니다.

New 2019/06/10 13:04

 #Knative  #kubernetes  #istio  #install  #쿠버네티스  #serverless

Minikube에 Knative 설치해보고 처음으로 앱 배포해보기


Knativ는 AWS의 람다(Lambda)나, Google의 펑션(Function) 같은 Serverless 서비스를 할 수 있도록 워크로드를 구축 및 관리하는 Kubernetes 기반 오픈소스 플랫폼입니다. 이에 minikuke를 활용해 로컬에 설치해보고 샘플 앱을 배포 및 실행을 통해 Knative 의 개념 및 동작원리를 이해하고 Knative 하에서 Blue/Green Deployment 가 어떤 방식으로 정의되고 동작되는지 확인해 보고자 합니다.

New 2019/06/03 13:35

 #Knative  #kubernetes  #istio  #install  #쿠버네티스  #이스티오  #minikube  #serverless

Istio Sidecar Injection


만일 나의 클러스터내에 Istio-system 이 설치가 되었다면 가장 먼저 해야 할 일은 envoy sidecar 를 설치하는 것입니다. sidecar-injection 이란 이렇게 파드에 sidecar를 설치하는 과정으로 3가지 설정 정보에 의해서 결정되며 istio는 수동/자동 2가지 방법을 통해 sidecar-injection 을 수행합니다

New 2019/05/09 17:05

 #istio  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube  #sidecar  #sidecar-injection  #istio-injection

Istio 연습과제 - Authorization for HTTP Services


Istio는 ClusterRbacConfig 를 통해 권한(접근제어)를 활성화하고 ServiceRole에 대상 서비스들 접근권한 Rule 정의한 후 ServiceRoleBinding을 통해 특정 대상에 해당 ServiceRole에 지정하여 접근통제(권한)를 수행합니다.

2019/04/26 14:20

 #istio  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube  #authorization

Istio 연습과제 - Authentication Policy


Istio는 서비스와 서비스간의 'Transport authentication', end-user 와 서비스간의 'Origin authentication' 2가지 인증처리 기능을 제공하고 있으며 MeshPolicy, Policy, DestinnationRule 3가지 CDR(Custom Define Resource)을 활용하여 인증 환경을 구성할 수 있습니다.

2019/04/25 09:20

 #istio  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube  #authentication

Istio 연습과제 - Distributed Tracing with Jaeger and Zipkin


Service Mesh 환경은 모놀리틱한 아키텍쳐 환경과는 달리 수 많은 Microservice 간 복잡한 호출 관계를 가지고 있습니다. Istion에 포함되어 있는 jaeger, zipkin는 이러한 복잡하고 분산되어 있는 Microservice 간 논리적인 tracing 을 샘플링하여 그 결과를 시각화해 보여줍니다.

2019/04/18 18:20

 #istio  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube  #jaeger  #zipkin

Istio 연습과제 - Logging with Fluentd on minikube


Fluentd + Elasticsearch + Kibana Stack 을 구성해보고 Istio에서 telemetry metric, 수집하는 handler, metric 과 handler를 연결하는 rule 정의를 통하여 telemetry 데이터를 elasticsearch 로 수집하고 수집된 데이터를 kibana를 통해 조회해 봅니다.

2019/04/18 13:15

 #istio  #fluentd  #elasticsearch  #kibana  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube

Istio 연습과제 - Telemetry - collect metrics & logs


Istio에서 telemetry metric, 수집하는 handler, metric 과 handler를 연결하는 rule 정의를 통하여 telemetry 데이터를 수집하고 grafana를 통해 그 결과를 조회해 봅니다.

2019/04/17 13:15

 #istio  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube  #grafana

Visualizing mesh with Kiali


Istio에서 수집된 각종 지표를 기반으로, 서비스간의 관계와 처리량, 정상 여부, 응답 시간등 각종 지표들을 를 시각화해주는 Kiali를 minikube 환경에서 설치해보고 실행해봅니다.

2019/04/16 14:55

 #istio  #kiali  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube

Istio 연습과제 - Traffic Management on minikube


minikube 에서 Istio 공식 TASK > Traffic Management 문서 Istio Traffic Management 를 토대로 minikube 환경에서 실행해보고 개인적으로 정리한 내용을 공유합니다.

2019/04/11 18:10

 #istio  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube

Istio 연습과제 수행을 위한 minikube 환경 구성


minikube 에서 Istio 공식 TASK 문서를 토대로 minikube 환경에서 연습과제를 실행해 보기 위한 사전 준비 작업을 공유합니다.

2019/04/11 10:00

 #istio  #kubernetes  #install  #쿠버네티스  #이스티오  #minikube

Kubernetes에 Istio Control Plane을 Helm template 으로 설치하는 방법


Kubernetes에 Istio Control Plane를 설치 하는 방법 중에서 Helm template을 활용하여 설치하는 방법을 수행해 봅니다.

2019/04/10 15:05

 #istio  #Helm  #kubernetes  #install  #쿠버네티스  #이스티오

Istio Performance & Stability


Istio의 성능 결과 문서를 정리하고 github 에 공개되어 있는 벤치마크 프로젝트를 minikube 환경에서 직접 실행해 봅니다.

2019/04/08 10:30

 #istio  #kubernetes  #performance  #stability  #쿠버네티스  #이스티오  # 성능  #안전성