Kubernetes Ingress

공식 문서 : https://kubernetes.io/ko/docs/concepts/services-networking/ingress/

Kubernetes Ingress Kubernetes(이하 K8s) 클러스터 내에서 외부 HTTP HTTPS 트래픽을 내부 서비스로 라우팅하는 방법을 제공하는 API 객체입니다. Ingress는 로드 밸런싱, SSL/TLS 종료, 호스트 및 경로 기반의 라우팅과 같은 다양한 트래픽 관리 기능을 지원합니다. 이를 통해 클러스터 외부에서 K8s 내부 서비스에 접근할 수 있게 해주는 중요한 역할을 합니다.

 

 

주요 개념

  1. Ingress 객체
  2. Ingress 컨트롤러
  3. 트래픽 라우팅
  4. SSL/TLS 지원
  5. 로드 밸런싱
  6. 인증 및 권한 관리

Ingress 예시 (YAML)

Ingress_example.yaml

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: example-ingress
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: example-service
            port:
              number: 80
  tls:
  - hosts:
    - example.com
    secretName: example-tls-secret
 

 

이 예시에서:

  • example.com 도메인으로 들어오는 요청은 example-service로 전달됩니다.
  • HTTPS 트래픽은 example-tls-secret으로 저장된 인증서를 사용해 보안 처리됩니다.

Ingress와 서비스 차이점

  • **서비스(Service)**는 클러스터 내부에서 파드 간 통신을 위한 로드 밸런싱과 접근을 관리하며, 클러스터 외부에서의 접근은 제한적입니다.
  • Ingress는 외부 트래픽을 클러스터 내부 서비스로 라우팅할 수 있는 고급 트래픽 관리 기능을 제공하며, 주로 HTTP(S) 요청을 처리합니다.

Ingress를 사용하면 다양한 트래픽 관리 요구 사항을 쉽게 처리할 수 있어 마이크로서비스 환경에서 매우 유용한 기능입니다.

'IT > kubernetes[k8s]' 카테고리의 다른 글

쿠버네티스 기본 명령어 모음  (0) 2024.11.15
Taints와 Tolerations  (1) 2024.11.15
쿠버네티스 서비스(Service)  (0) 2024.11.13
쿠버네티스 - 노드  (1) 2024.11.08
클러스터의 개념  (0) 2024.11.07

+ Recent posts