DevOps, 클라우드/Service Mesh
-
[서비스메시] Istio로 트래픽 관리하기DevOps, 클라우드/Service Mesh 2024. 10. 5. 18:04
서비스메시서비스메시를 가볍게 훑어보면서 느낀 점이 하나 있다.쿠버네티스와 같은 기존의 오케스트레이션에 포함된 기능과 유사한 역할을 하는 것이 많다는 것이다. 물론, 내가 아직 명확한 유즈케이스를 직접 접해보지 못해서 그런 것이라 생각한다.분명히 쿠버네티스 단독으로 해결하지 못하는 페인포인트가 있을 것이다. 그래도 서비스메시, 특히 Istio가 제공하는 트래픽 제어에 관한 내용을 살짝 정리해 보자.세부적인 디테일은 따로. 서비스의 추상화서비스가 파드에 대한 라우팅을 결정하는 것처럼, 버추얼서비스(VirtualService)도 서비스에 대한 라우팅을 결정한다. 아래의 예시처럼, VirtualService 리소스가 라우팅 정책을 적용해서 특정 서비스로 트래픽을 라우팅한다.그리고 이렇게 라우팅된 트래픽에 대한 ..
-
[서비스메시] Ambient Mesh에 대해서DevOps, 클라우드/Service Mesh 2024. 8. 5. 00:08
궁금증서비스 메시를 공부하다가 문득 이런 궁금증이 생겼다. "Kube-proxy도 노드 상에 데몬셋의 형태로 존재하며 파드로 요청을 라우팅하는데, Envoy와 같이 Istio가 사용하는 프록시는 데몬셋의 형태로 관리할 수 없을까?" 프록시를 노드 별로 데몬셋(혹은 유사한 형태)로 서빙하려면 다음과 조건들이 붙지 않을까 생각했다. Istio를 사용하지 않는 네임스페이스의 리소스에 대한 라우팅은 무시할 것프록시를 통과하는 요청을 네임스페이스 별로 격리할 것동일 네임스페이스 내 파드 간 요청이 발생해도 노드의 프록시를 경유할 것... 물론 이런 조건들을 생각해보기는 했지만 이게 꼭 지켜져야 하는 필수 조건인가도 고민이 좀 됐다.그러다 문득 Istio 블로그에서 요런 글을 보게 된다. Introducing A..
-
[서비스메시] 변수명은 중요하다.DevOps, 클라우드/Service Mesh 2024. 7. 28. 00:49
서론서비스 메시를 공부하다가 핸즈온 과정에서 Jaeger를 배포했다.업무 중에 Jaeger로 추적 스팬들을 뽑아낼 일이 있어서 익숙하다고 생각했는데, 지금 돌이켜보니 신규 구축이라 최신 버전을 끌어다 썼던 것이다. 핸즈온 과정에서는 v1.20을 사용하고 있었고, arm 환경에서 테스트하려면 아래 포스팅에서 언급한 바와 같이 v1.24 이상의 버전을 사용해야 했다. [서비스메시] Istio, Envoy서비스 메시, Istio와 Envoy서비스 메시는 주로 분산 아키텍처에서 각 소프트웨어 컴포넌트 간의 네트워킹을 관리한다.특히 쿠버네티스 환경에서 마이크로서비스 간의 상호 연결을 관리하고, 그에www.floodnut.com minikube에서 처음 테스트를 한 후, 내 개인 클러스터에서 다시 배포하려는데 아키..
-
[서비스메시] Istio, EnvoyDevOps, 클라우드/Service Mesh 2024. 7. 13. 18:24
서비스 메시, Istio와 Envoy서비스 메시는 주로 분산 아키텍처에서 각 소프트웨어 컴포넌트 간의 네트워킹을 관리한다.특히 쿠버네티스 환경에서 마이크로서비스 간의 상호 연결을 관리하고, 그에 대한 가시성을 제공한다.기본 쿠버네티스 기능만으로는 어렵다.서비스 메시를 사용하면 네트워크 트래픽을 경유하는 다양한 로직을 구성할 수 있다.이를 통해 원격 측정, 보안, 트래픽 관리 등 여러 기능을 구현 가능하다. Istio는 각 파드에 프록시 컨테이너를 주입하여 네트워크 요청을 관리한다.프록시는 네트워크 호출을 가로채어 서비스 메시의 로직을 적용하고, 이를 대상 컨테이너로 전달한다.이 과정에서 Istio는 원격 측정 데이터를 수집하고, 호출 체인을 추적한다. Istio의 구성 요소는 크게 데이터 플레인과 컨트롤..