쿠버네티스를 처음 시작하면서 Ingress와 Ingress Controller의 차이점이 헷갈리시나요? 걱정 마세요! 오늘은 실제 사례를 통해 둘의 차이를 쉽게 설명해드릴게요.
📝 3줄 요약
- Ingress는 트래픽 라우팅 규칙을 정의하는 설정
- Ingress Controller는 실제로 트래픽을 처리하는 실행 프로그램
- 둘의 관계는 “설계도”와 “건설사”의 관계와 비슷함
🤔 Ingress와 Ingress Controller가 필요한 이유
여러분이 쿠버네티스에서 웹 서비스를 운영한다고 생각해보세요. 수많은 서비스들이 있는데, 외부에서 들어오는 트래픽을 어떻게 관리해야 할까요? 바로 이때 필요한 것이 Ingress와 Ingress Controller입니다.
🎯 Ingress란?
Ingress는 쉽게 말해서 트래픽 관리 규칙을 담은 설정 파일이에요. 마치 교통 신호등의 신호 체계와 같죠!
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: myapp.example.com
http:
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api-service
port:
number: 80
🛠 Ingress Controller란?
Ingress Controller는 실제로 이 규칙들을 실행하는 프로그램입니다. 가장 인기 있는 것들은:
- Nginx Ingress Controller
- HAProxy Ingress Controller
- Traefik
💡 이해하기 쉬운 비유
이렇게 생각해보세요:
- Ingress = 교통 법규
- Ingress Controller = 교통 경찰
교통 법규(Ingress)가 있어도, 이를 실제로 실행하고 관리하는 교통 경찰(Ingress Controller)이 없다면 아무 소용이 없죠!
🔧 실제 사용 예시
실제로 어떻게 동작하는지 보여드릴게요:
- 도메인 기반 라우팅:
- shop.example.com → 쇼핑몰 서비스
- blog.example.com → 블로그 서비스
- 경로 기반 라우팅:
- example.com/api → API 서비스
- example.com/admin → 관리자 페이지
⚠️ 주의할 점
- Ingress만 설정하고 Controller를 설치하지 않으면 동작하지 않아요!
- 한 클러스터에 여러 종류의 Controller를 설치할 수 있지만, 추천하지 않아요.
- SSL/TLS 설정은 꼭 확인하세요!
🎁 마치며
Ingress와 Ingress Controller는 마치 레스토랑의 메뉴판과 직원의 관계와 같아요:
- 메뉴판(Ingress): 무엇을 주문할 수 있는지 보여줌
- 직원(Ingress Controller): 실제로 주문을 받고 음식을 가져다줌
함께 보면 좋은 글
리눅스 top 명령어 마스터하기: VM 성능 분석의 비밀