Envoy & Istio
-
envoy 환경설정하기Envoy & Istio 2020. 3. 27. 09:00
envoy 컨테이너로 실행하기 docker image를 이용해서 다음처럼 간단하게 실행해 볼 수 있습니다. docker run --rm -d -p 10000:10000 -p 9901:9901 envoyproxy/envoy-dev 브라우저에서 http://localhost:10000 으로 접근하면 기본 설정인 google 페이지가 뜨는걸 볼 수 있습니다. 현재 envoy의 설정내용은 다음처럼 컨테이너 id를 확인해서 cat 명령으로 설정파일 내용을 확인할 수 있습니다. $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d31c8d8d7168 envoyproxy/envoy-dev "/docker-entrypoint.…" 41 minutes ..
-
envoy 기본 개념Envoy & Istio 2020. 3. 25. 09:00
envoy 주요 용어 호스트(Host) : 논리적인 네트워크 애플리케이션을 의미합니다. 하나의 물리적인 장비에 여러개의 호스트가 있을 수 있습니다. 물리 장비 하나에 여러개의 주소가 있는 경우에 그 각각의 주소를 이용하는 애플리케이션들이 모두 하나의 호스트가 될 수 있습니다. 다운스트림(Downstream) : 엔보이에 요청을 보내고 응답을 받는 호스트입니다. 보통 요청을 보내는 클라이언트를 뜻합니다. 업스트림(Upstream) : 엔보이로 부터 요청을 받아서 응답을 보내는 호스트를 의미합니다. 보통 요청을 받아주는 서버를 뜻합니다. 리스너(Listener) : 다운스트림 클라이언트에서 연결할 수 있는 네트워크 위치(포트, 유닉스 도메인 소켓)를 의미합니다. 엔보이는 다운스트림에서 연결할 수 있는 리스너..
-
istio를 이용해서 클러스터 외부에서 내부로 접근하도록 설정해보기Envoy & Istio 2019. 8. 26. 09:00
istio를 설정하기 위해서 istio용으로 만들어둔 CRD를 사용한다. 이 중에서 이번에 Gateway와 VirtualService가 필요하다. istio에서 트래픽 라우팅을 조절하기 위해서는 VirtualService를 사용한다. 아래 내용 참조. 자세한 내용은 https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service/ 에 있음. apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata: name: test-route spec: hosts: - "*" gateways: - my-gateway http: - match: - uri: prefix: "/" ro..
-
istio 현재 설정 내용 확인하기Envoy & Istio 2019. 8. 23. 09:00
https://github.com/istio/istio/releases 에서 자신의 환경에 맞는 파일을 다운받아서 압축을 풀면 bin/istioctl 명령어가 있어서 istio 상태를 파악하는데 사용할 수 있다. ./bin/istioctl proxy-status NAME CDS LDS EDS RDS PILOT VERSION istio-egressgateway-68d9cfdd4-vkff8.istio-system SYNCED SYNCED SYNCED (100%) NOT SENT istio-pilot-56b4dd7bd7-h5mtr 1.1.3 istio-ingressgateway-7fbf7bcf45-vrmp5.istio-system SYNCED SYNCED SYNCED (100%) SYNCED istio-pil..
-
istio 설치하기Envoy & Istio 2019. 8. 19. 09:00
Docker for Desktop에 설치하기 준비하기 그림처럼 CPU는 4코어 이상사용하게 하고 메모리는 5기가 이상 사용하게 설정이 되어 있어야 함. istio를 다운로드 받아서 실행할수 있게 path에 추가 curl -L https://git.io/getLatestIstio | ISTIO_VERSION=1.1.7 sh - cd istio-1.1.7 export PATH=$PWD/bin:$PATH istio 설치 시작 istio용 CRD를 먼저 설치한다. for i in install/kubernetes/helm/istio-init/files/crd*yaml; do kubectl apply -f $i; done istio 설치 kubectl apply -f install/kubernetes/istio-..
-
istio란 무엇인가?Envoy & Istio 2019. 8. 15. 21:38
2017년 5월에 Google, Lyft, IBM에서 내놓은 서비스 메쉬(Service Mesh) 솔루션입니다. 서비스 메쉬는 마이크로서비스아키텍처(MSA) 구조에서 각 서비스들간의 트래픽을 제어하는 역할을 합니다. 주요 기능 서비스간의 트래픽이나 API 호출을 컨트롤 통신사이의 트래픽을 암호화하고 인증과 권한제어가 가능함. 트래픽 정책이나 자원 제어 서비스들에 대한 tracing, monitoring, logging을 자동으로 수행 아키텍처 이스티오의 구조는 논리적으로 data plane과 control plane 두 개의 영역으로 구분되어 있습니다. data plane : 실제 데이터 트래픽이 돌아다니는 영역. control plane : 트래픽 경로를 설정하고 관리하는 용도로 사용. Mixer의 정..
-
Envoy Proxy 소개Envoy & Istio 2019. 8. 8. 22:01
https://www.envoyproxy.io/ envoy는 클라우드 네이티브용으로 Lyft 사에서 C++로 개발해서 2016년 12월 14일 공개한 L7 프록시입니다. 2017년 5월에 Google, Lyft, IBM에서 공동으로 개발해서 내놓은 Service Mesh 오픈소스인 Istio의 메인 프록시가 됐습니다. 공개후 1년 뒤인 2017년 12월 14일에 CNCF에 11번째 프로젝트로 합류했습니다. 그리고 다시 1년뒤인 2018년 11월 28일 CNCF의 3번째 졸업 프로젝트가 되었습니다. CNCF의 첫번째 졸업프로젝트는 Kubernetes이고 두번째 졸업프로젝트는 Prometheus입니다. envoy는 다음을 목표로 하고 태어났습니다. "The network should be transparen..