Traffic control: Fine-grained traffic routing [실습 환경 구성] k8s(1.23.17) 배포 : NodePort(30000 HTTP, 30005 HTTPS)#git clone https://github.com/AcornPublishing/istio-in-actioncd istio-in-action/book-source-code-masterpwd # 각자 자신의 pwd 경로code .# 아래 extramounts 생략 시, myk8s-control-plane 컨테이너 sh/bash 진입 후 직접 git clone 가능kind create cluster --name myk8s --image kindest/node:v1.23.17 --config - [실습 환경 구성] ..
TCP traffic이스티오 게이트웨이는 HTTP/HTTPS 트래픽뿐 아니라 TCP로 접근하는 모든 트래픽을 처리할 수 있음예를 들어, 인그레스 게이트웨이로 데이터베이스(MongoDB 등)나 메시지 큐(카프카 등)를 노출할 수 있음이스티오가 트래픽을 단순 TCP로 다루면 재시도, 요청 수준 서킷 브레이킹, 복잡한 라우팅 등과 같은 유용한 기능을 사용할 수 없다.단순히 이스티오가 어떤 프로토콜을 사용하는지 분간할 수 없기 때문이다. (MongoDB 처럼 이스티오-엔보이가 이해하는 프로토콜을 사용하는 것이 아닌 이상).클러스터 외부의 클라이언트가 클러스터 내에서 실행 중인 서비스와 통신할 수 있도록 이스티오 게이트웨이에 TCP 트래픽을 노출하는 방법을 알아보자.Exposing TCP ports on an I..
Istio gateways: Getting traffic into a cluster 실습환경: kind - k8s 1.23.17NodePort(30000 HTTP, 30005 HTTPS)#git clone https://github.com/AcornPublishing/istio-in-actioncd istio-in-action/book-source-code-masterpwd # 각자 자신의 pwd 경로code .# 아래 extramounts 생략 시, myk8s-control-plane 컨테이너 sh/bash 진입 후 직접 git clone 가능kind create cluster --name myk8s --image kindest/node:v1.23.17 --config - istio 1.17.8(’2..
Istio’s data plane: Envoy Proxy엔보이는 분산 시스템을 구축할 때 발생하는 어려운 애플리케이션 네트워킹 문제를 해결하고자 리프트가 개발엔보이는 2016년 9월 오픈소스 프로젝트로 공개됐으며, 1년 후인 2017년 9월에는 CNCF에 합류엔보이는 C++로 작성됐는데, 그 목표는 성능을 늘리는 것, 특히 높은 부하에서도 더 안정적이고 결정론적일 수 있도록 만드는 것엔보이 2가지 중요 원칙애플리케이션에게 네트워크는 투명해야 한다.네트워크 및 애플리케이션 문제가 발생할 때는 문제의 원인을 파악하기 쉬워야 한다. proxy 역할: Client와 Server 중간에 중계자 역할 수행프록시가 서비스 인스턴스 간에 로드 밸런싱을 처리엔보이 프록시는 특히 서비스 디스커버리, 로드 밸런싱,..
PKI Secrets운영자가 단일 Vault PKI 시크릿을 단일 Kubernetes 시크릿으로 동기화하는 데 필요한 구성Ingress, mTLS, Webapp 등 PKI 인증서를 사용하는 애플리케이션에서 동적으로 변경된 PKI 인증서를 사용할 수 있도록 지원Vault PKI 시크릿엔진 사용을 위한 설정#kubectl exec --stdin=true --tty=true vault-0 -n vault -- /bin/sh#1. PKI 엔진 활성화(마운트)vault secrets enable -path=pki pki#2. Root CA(Common Name) 인증서 생성(발급)- Vault 자체가 루트 인증기관(CA)이 됨- Root CA 인증서와 개인키를 Vault 내부에 생성·보관 - 10년 TTL- PE..
Vault Secrets Operator (VSO) VSO을 통해서 획득한 시크릿을 Kubernetes Secret을 자동으로 동기화하고 관리하는 방법Vault Secrets Operator는 지원하는 Custom Resource Definitions(CRD) 집합의 변경 사항을 감시하여 작동CRD는 시크릿의 지원되는 소스 중 하나에서 Kubernetes Secret으로 동기화할 수 있도록 필요한 사양을 제공오퍼레이터는 소스 시크릿 데이터를 대상 Kubernetes Secret에 직접 작성하며, 소스에 변경 사항이 발생할 경우 해당 내용을 대상에도 수명 주기 동안 지속적으로 반영이렇게 함으로써 애플리케이션은 대상 시크릿에만 접근하면 그 안의 시크릿 데이터를 사용할 수 있음기능여러 시크릿 소스로부터의 동기..