Kubernetes Ingress
공식 문서 : https://kubernetes.io/ko/docs/concepts/services-networking/ingress/
Kubernetes Ingress는 Kubernetes(이하 K8s) 클러스터 내에서 외부 HTTP 및 HTTPS 트래픽을 내부 서비스로 라우팅하는 방법을 제공하는 API 객체입니다. Ingress는 로드 밸런싱, SSL/TLS 종료, 호스트 및 경로 기반의 라우팅과 같은 다양한 트래픽 관리 기능을 지원합니다. 이를 통해 클러스터 외부에서 K8s 내부 서비스에 접근할 수 있게 해주는 중요한 역할을 합니다.
주요 개념
- Ingress 객체
- Ingress 컨트롤러
- 트래픽 라우팅
- SSL/TLS 지원
- 로드 밸런싱
- 인증 및 권한 관리
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 |