minikube
Istio 정복하기 #4 - 트래픽 관리 - 상
Istio 정복하기 #4 - 트래픽 관리 - 상
2025.03.23다양한 트래픽 제어 기법을 제공하여 마이크로서비스 간의 통신을 보다 효율적이고 안정적으로 관리할 수 있다. 이 중에서 4개를 알아볼 예정이고, 상에서는 Routing과 Traffic Shifting을 알아본다. Routing라우팅은 클라이언트 요청을 올바른 서비스나 서비스의 특정 버전으로 보내는 방식이다. 이것은 새롭게 배포한 버전에 클라이언트가 바로 요청을 보내지 않고, 내부에서 테스트한 후에 요청을 보낼 수 있도록 활용할 수 있다. 이전에 사용한 VirtualService와 DestinationRule을 추가하면 된다. 리소스는 다음과 같이 있다고 가정하자. apiVersion: networking.istio.io/v1alpha3kind: Gatewaymetadata: name: test-gate..
Istio 정복하기 #3 - Istio Ingress Gateway - 하
Istio 정복하기 #3 - Istio Ingress Gateway - 하
2025.03.20이번에는 Plain TCP와 Ingress Gateway 분리 방법에 대해서 알아보겠다. Plane TCPPlain TCP는 Istio의 서비스 메시에서 TCP 트래픽을 관리하고 제어하는 방법을 의미한다. database (like mysql), mq (like rabbitmq) 등을 expose 할 수 있다. 단 plain TCP를 다룰 때는 istio가 프로토콜의 종류를 알 수 없으므로 retries, circuit breaking, context를 이해해야 하는 기능들은 사용할 수 없다. ingressgateway의 tcp를 보면 아래와 같이 보인다. 31400kubectl get svc istio-ingressgateway -n istio-system \-o jsonpath='{.spec.por..
Istio 정복하기 #2 - Istio Ingress Gateway - 상
Istio 정복하기 #2 - Istio Ingress Gateway - 상
2025.03.20개요Istio Ingress Gateway는 Istio에서 외부 요청을 내부 시스템으로 전달하는 역할을 하는 구성 요소다. 일반적으로 Kubernetes에서 사용되는 Ingress 리소스와 유사한 개념이지만, Istio에서는 더 많은 기능과 flexibility를 제공한다. - 클러스터의 관문 역할- outside → inside traffic의 인입 처리 담당- Security 가 중요함.- 인입을 위한 룰 매칭 등을 처리- 인입 후에는 inside 서비스로 라우팅도 담당 약어는 다음과 같다. gw : gatewayvs : virtual serviceVIP : virtual IP 나는 minikube를 사용하기에 tunnel을 이용해서 외부 진입점을 생성해야 한다. 그러면 {EXTERNAL-IP}:{..
Istio 정복하기 #1 - 기본 개념 정리
Istio 정복하기 #1 - 기본 개념 정리
2025.03.20개요마이크로 서비스 아키텍처로 구성된 서비스가 확장되다 보면, 관리하는 서비스가 많아져 서비스 간의 트래픽, 라우팅 관리가 어려워지는 순간이 찾아오게 된다. 이때 Istio라는 오픈 서비스 메쉬를 도입하면, 상호작용하는 마이크로서비스의 네트워크를 관리하고, 이를 통해 보안, 트래픽 관리, 모니터링 등의 기능을 사용할 수 있다. 따라서 Istio는 애플리케이션 코드와는 독립적으로 이러한 기능을 구현할 수 있도록 도와주며, 개발자는 비즈니스 로직에 집중할 수 있게 해준다. 아키텍처는 다음과 같다. Data Plane Data Plane은 마이크로 서비스와 프록시로 결합된 서비스들로 구성된다. 마이크로 서비스에 배포되어 트래픽을 가로채 모든 트래픽을 통제한다. Data Plane의 Envoy 프록시를 통해서..
로컬 Minikube로 외부에 서비스 하기
로컬 Minikube로 외부에 서비스 하기
2025.03.18사이드 프로젝트를 간단히 진행하면서 쿠버네티스에 익숙해지기 위해 Minikube로 환경을 구성해 보기로 했다. 외부에서 서비스를 노출해야 했지만, Minikube만으로는 이를 해결할 수 없어서 방법을 공유하려고 한다.(minikube 설치는 생략한다.) 인프라 세팅 편리성을 위해서 무료 도메인이 필요한데, 나 같은 경우 무료 도메인 발급 여기에서 무료로 생성한다. 그후에 도메인을 내 IP와 연결해 주면 된다. 그 후에 공유기를 사용하고 있다면, 공유기에서 80이나 ssl을 사용한다면 443 포트를 열어줘야 한다. 나 같은 경우 netis 공유기를 사용하기에 http://192.168.1.1/ 로 접근해서 고급 설정 -> 방화벽에서 80 포트를 허용해 줬다. 다음은 minikube 셋팅이다. mini..
Mac m1, m2 minikube 설치
Mac m1, m2 minikube 설치
2023.01.041. minikube란? 로컬 환경에서 쿠버네티스 환경을 사용할 수 있게 해주는 프로젝트입니다. 간단한 명령어로 클러스터를 구축할 수 있고, 최근에는 다중 노드를 사용할 수 있게 됐습니다. minikube를 시작하기 위해선 가상 환경을 사용하거나, Docker를 기반으로 진행할 수 있습니다. 저는 Docker로 진행하겠습니다 https://docs.docker.com/desktop/install/mac-install/ Install on Mac docs.docker.com 2. minikube 설치하기 homebrew 패키지 관리자를 이용해 설치합니다. 만약 설치 돼있지 않다면, 터미널에 아래 명령어를 입력해주고 설치합니다. /bin/bash -c "$(curl -fsSL https://raw.githu..