💻
DevOps Cookbook
  • Home
    • Meiko DevOps Cookbook
  • Gitlab
    • Tips
      • 사전 정의된 CI/CD 변수의 기본 세트
    • 딥다이브 Gitlab CI/CD
      • GitLab CI/CD 시작하기
        • .gitlab-ci.yml 파일
        • Runner
        • 파이프라인
        • CI/CD 변수
        • CI/CD 컴포넌트
      • CI/CD YAML 구문 참조
    • CI/CD Notifications
      • CI/CD slack notifiaction 구축작업 결과
  • Kubernetes
    • Persistence Volume
      • play-cluster
    • Ingress
      • Ingress란
      • 수동으로 ingress 배포하기
    • Security
    • HPA
      • hpa troubleshooting history
        • 1. HELM_UPGRADE_VALUES_FILE로 hpa가 추가되지 않는 원인
        • 2. targetCPUUtilizationPercentage 계산은 어떻게 되는가
        • 3. helm values에 cpu resource 단위를 1로 했을 때 실제 파드에 1m( 0.001 ) 코어가 부여된 것
        • 4. pod cpu resources가 할당받은 것을 나타내는 것인 지 현재 사용량을 나타내는 것인지 검증
        • 5. 설정한 hpa를 기반으로 pod auto scaling이 동작하는 지 검증
      • HorizontalPodAutoscaler의 behavior 필드 중 stabilizationWindowSeconds 값이 Kubernetes 코드에서 어떻게 사용되는지 분석
  • prometheus
    • prometheus 리소스 alert 세팅
      • 슬랙 채널 구성
      • alert 환경 구성 가이드
  • Loki
    • loki-grafana alert 세팅
      • 1차 검증 결과
      • Alert 환경 구성 가이드
  • load test
    • nGrinder
      • nGrinder Test Configuration 값들
      • 질문리스트
        • groovy는 JUnit 스타일에 포함되지 않는건가 ? + GTest가 뭔지 좀 헷갈린다
      • Script
        • Groovy Script Structure
          • reference
          • Groovy script deep dive
          • Groovy Script 실행 구조 분석
      • Test
        • [nGrinder] single endpoint load test 하기
          • [nGrinder] single endpoint load test script 기반 cpu 사용량 테스트
          • [nGrinder] single endpoint load test script 기반 pod autoscaling 테스트
        • [nGrinder] multi endpoint load test 하기
          • [nGrinder] multi endpoint load test script에 정의한 test들이 실행 순서를 보장 받는가?
  • AWS
    • aws-cli
      • eks cluster vpc 스펙보기
    • aws-vpc
  • EKS
    • youtube links
    • EKS best practice
    • 질문 정리
  • Istio
    • Istio Basic
      • Istio 컴포넌트 별 역할
      • Kubernetes Ingress와 Istio VirtualService의 관계
    • Gateway
      • Gateway 주요 특징
      • Istio Gateway와 Kubernetes Ingress의 주요 차이점
  • IAC
    • Terraform
      • 테라폼 설치
      • 테라폼 문서
      • 테라폼 개념
        • 언어 구조
        • 사용 순서
        • 상태파일 (tfstate)
        • 변수 정의 방법
      • Terraform - AWS VPC
    • Ansible
      • Ansible 초기 학습 내용
      • Ansible Playbook
      • Ansible Study
        • Inventory
        • Playbook
          • Module
        • Variable
  • etc
    • Toss SLASH24
    • Elastic Load Balancing
    • 낙서장
      • IRSA
    • deep dive
      • Istio 공식문서 번역
        • Overview
          • What is Istio?
          • Why choose Istio?
          • Sidecar or ambient?
        • Concepts
          • Traffic Management
        • Page
      • eks 에서 control plane < - > data plane 통신 원리
Powered by GitBook
On this page
Edit on GitHub
  1. Istio
  2. Gateway

Istio Gateway와 Kubernetes Ingress의 주요 차이점

Istio Gateway와 Kubernetes Ingress의 주요 차이점은 트래픽 라우팅 방식에 있습니다. Istio Gateway는 단독으로 사용되지 않고, 일반적으로 VirtualService와 함께 사용되어 더 유연하고 강력한 트래픽 관리를 제공합니다. 이에 대해 자세히 설명:

  1. Istio Gateway의 역할:

    • Gateway는 메시의 경계에서 들어오는 트래픽을 받아들이는 진입점 역할을 합니다.

    • 주로 포트, 프로토콜, 호스트 등의 기본적인 설정만 정의합니다.

  2. VirtualService의 역할:

    • Gateway에서 받은 트래픽의 실제 라우팅 규칙을 정의합니다.

    • 특정 호스트, 경로, 헤더 등에 따라 트래픽을 다양한 서비스로 라우팅할 수 있습니다.

  3. Gateway와 VirtualService의 연동:

    • VirtualService에서 'gateways' 필드를 통해 특정 Gateway와 연결됩니다.

    • 이를 통해 Gateway로 들어온 트래픽에 대한 세부적인 라우팅 규칙을 정의할 수 있습니다.

  4. 라우팅 예시:

    textapiVersion: networking.istio.io/v1alpha3
    kind: VirtualService
    metadata:
      name: my-virtualservice
    spec:
      hosts:
      - "myapp.example.com"
      gateways:
      - my-gateway
      http:
      - match:
        - uri:
            prefix: "/api"
        route:
        - destination:
            host: my-service
            port:
              number: 8080

    이 예시에서 'my-gateway'로 들어온 트래픽 중 "/api" 경로로 시작하는 요청은 'my-service'로 라우팅됩니다.

  5. 유연성과 확장성:

    • Istio의 방식은 더 복잡한 라우팅 시나리오를 지원합니다 (예: 가중치 기반 라우팅, 헤더 기반 라우팅 등).

    • 트래픽 관리, 보안 정책, 모니터링 등 Istio의 다양한 기능을 활용할 수 있습니다.

  6. 구성 분리:

    • Gateway와 VirtualService를 분리함으로써 인프라 설정(Gateway)과 애플리케이션 라우팅 로직(VirtualService)을 독립적으로 관리할 수 있습니다.

결론적으로, Istio Gateway는 Kubernetes Ingress보다 더 유연하고 강력한 트래픽 관리 기능을 제공합니다. Gateway와 VirtualService의 조합을 통해 복잡한 라우팅 시나리오를 구현할 수 있으며, Istio의 다양한 트래픽 관리 기능을 활용할 수 있습니다.

PreviousGateway 주요 특징NextTerraform

Last updated 9 months ago