분류 전체보기 769

istio가 무엇인지 쉽게 이해해보자!

istio는 가상 네트워크 istio는 서비스 메시(service mesh)입니다. 하지만, 처음 서비스 메시를 들으면 무슨 뜻인지 매우 이해하기 어렵습니다. 그래서 저는 istio를 서비스 메시라고 표현하는 것보다, 다른 말로 바꿔서 istio를 해석했습니다. istio는 “내 마음대로 네트워크를 제어하는 가상 네트워크”입니다. 마음대로 제어하는 의미는 istio컨셉 3가지에서 설명합니다. 기능1. 트래픽 관리(Traffic Management) istio가 istio네트워크 트래픽을 마음대로 제어하는 것을 트래픽 관리(Traffic Management)라고 합니다. 트래픽 관리는 로드 밸런싱, 서킷 브레이크, 커스텀 HTTP 헤더 추가 등을 지원합니다. 예를 들어보겠습니다. A 서비스와 B 서비스가 ..

istiod 관리자 대시보드 여는 방법

istiod pod는 관리자(controlz) 대시보드를 가지고 있습니다. 대시보드는 로깅 레벨 즉시 변경, 메모리 사용량 보기 등 디버깅시 매우 유용합니다. istioctl dashboard를 사용하면 매우 쉽게 대시보드를 엽니다. 명령어 실행 원리는 istiod pod에 port-foward를 합니다. istioctl dashboard controlz deployment/istiod.istio-system istioctl 명령어가 없는 경우 수동으로 istiod pod에 port-foward합니다. kubectl port-forward -n istio-system deploy/istiod 15000:15000

istioctl로 istio-proxy 인증서 남은 기간 확인

istio-proxy 인증서 정보는 envoy proxy 설정 중 secret에 있습니다. istioctl를 이용하면 설정 정보를 직접 확인하지 않고 쉽게 인증서 정보를 조회합니다. 명령어 실행 원리는 envoy proxy API에서 "http://localhost:51625/config_dump"를 호출합니다. istioctl pc secret -n {namespace} {pod 이름} 아래 예제는 default namespace에 있는 pod 인증서 정보를 조회했습니다. 인증서 정보에 인증서 남은 기간이 있습니다. 참고자료 istio github issue: https://github.com/istio/istio/issues/37291 이하여백

Istio Error adding/updating listener(s) virtualInbound: Didn't find a registered implementation" 오류 해결 방법

오류 메세지 Istiod pod에서 아래처럼 오류가 발생했습니다. 약 50일동안 아무 문제 없었던 Istio pod에서 갑자기 오류가 발생했습니다. ADS:LDS: ACK ERROR Internal:Error adding/updating listener(s) virtualInbound: Didn't find a registered implementation for 'istio_authn' with type URL: 'io.istio.network.authn.Config' istio-proxy 컨테이너에서는 NOT ready오류 로그가 있었습니다. Envoy proxy is NOT ready: config received from XDS server, but was rejected 해결 방법 Istiod문..