DevOps/Kubernetes
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 프록시를 통해서..
Kubernetes ReplicaSet, Deployment
Kubernetes ReplicaSet, Deployment
2023.01.17apiVersion: apps/v1 kind: Deployment metadata: labels: app: nginx-deployment name: nginx-deployment spec: replicas: 4 // 유지할 파드 개수 selector: matchLabels: app: nginx-deployment template: metadata: labels: app: nginx-deployment spec: containers: - name: nginx image: nginx ReplicaSet이란? 레플리카셋은 지정된 수의 파드 레플리카가 항상 실행되도록 보장하는 오브젝트입니다. 따라서 레플리카를 3으로 설정한다면, 레플리카에 종속되는 파드의 수는 3개가 되며, 개수를 세 파드를 재생성하거나, 삭제..
Kubernetes Pod
Kubernetes Pod
2023.01.08kubernetes Pod가 무엇인지 알아보고, 사용하는 옵션에 대해서 알아보겠습니다. 환경: 맥북 프로 m2, minikube 실습에 사용된 모든 코드는 글 마지막에 적혀있는 Github에서 볼 수 있습니다. 1. Pod란? 쿠버네티스에서 관리하는 가장 작은 배포 단위입니다. 도커가 컨테이너를 만든다면, 쿠버네티스는 파드를 생성합니다. 이때 다른 점은 파드는 하나 이상의 컨테이너를 포함할 수 있습니다. 파드에 1개의 컨테이너가 동작할 수도 있고, 서로 긴밀히 동작하는 여러 개의 컨테이너가 있을 수 있습니다. 2. Pod 생성하기 파드를 만들 수 있는 방법은 여러 가지가 있습니다. 하나씩 해보겠습니다. 2-1. run 명령어 가장 간단하지만, 상세히 설정하기에 번거로운 명령어입니다. kubectl run..
Kubernetes 구성 요소
Kubernetes 구성 요소
2023.01.07쿠버네티스 컨트롤 플레인 구성 요소에 대해서 알아보겠습니다. 먼저 쿠버테니스를 배포하면, 클러스터를 얻습니다. 클러스터란? 애플리케이션 컨테이너를 실행하기 위한 일련의 노드 머신입니다. 최소 수준에서 클러스터는 컨트롤 플레인 및 하나 이상의 노드라는 워커 머신의 집합을 가지고 있습니다. 워커 노드란? 애플리케이션의 구성 요소인 파드를 호스트 합니다. (파드는 다음 포스팅에서 설명하겠습니다.) 위의 사진을 보며, 컨트롤 플레인의 구성 요소 살펴보겠습니다. 1. Control Plane Component 1. kube-apiserver kube-apiserver는 마치 웹 애플리케이션에서 프런트 엔드가 있듯이 컨트롤 플레인에서의 프런트 엔드입니다. 즉 마스터 노드의 중심에서 모든 클라이언트, 컴포넌트로부터 ..
Kubernetes 란??
Kubernetes 란??
2023.01.07쿠버네티스가 무엇이고, IT에서 많은 관심을 가지는지 알아보겠습니다. 쿠버네티스란? 컨테이너화 된 워크로드와 서비스를 관리할 수 있고, 이식성과 확장성을 갖춘 오픈소스 플랫폼입니다. 선언적 구성으로서 명령이 아니라, 어떠한 것의 사실(fact)들의 집합으로 구성된 것을 의미합니다. 또한 자동화의 용이성을 갖추고 있습니다. 그렇다면 쿠버네티스가 왜 사용되기 시작했는지 알아보겠습니다. 전통적인 배포 (Tranditional Deployment) 한 물리서버(hardware)에서 여러 애플리케이션을 실행합니다. 이때 애플리케이션의 리소스의 한계를 정의할 수 없어 애플리케이션 간의 성능 저하등 간섭을 발생시킬 수 있습니다. 예로 살펴보겠습니다. 2개의 애플리케이션이 있을 때 하나는 메일을 전송하는 애플리케이션이..