목표
Ingress를 이용해 여러 Service의 단일 IP를 생성
- Ingress 규칙을 선언하는 방법
- Ingress IP를 이용해서 여러 Service에 접근하는 방법 확인
Host 헤더 | IP:PORT | URL Path | 결과 | 서비스 매핑 |
---|
order.sanckbar.com | Ingress Adress: 80 | /menus | 메뉴 조회 | order |
| | /order | 주문 신청 | |
payment.snackbar.com | | /receipt | 영수증 조회 | payment |
delivery.snackbar.com | | / | 시작페이지 조회 | delivery |
디폴트 백엔드
- home 서비스: 선언하지 않은 Host 헤더 요청을 받았을 때 처리
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: snackbar
namespace: snackbar
labels:
project:snackbar
defaultBackend
spec:
defaultBackend:
service:
name: home
port:
number: 80
rules (Multiple hosts)
spec:
rules:
- host: order.snackbar.com # Host 매치
http:
path:
- pathType: Prefix
path: / # 경로 매치
backend: # 조건이 충족될 경우 연결될 서비스
service:
name: order
port:
number: 80
사용할 명령어
Ingress IP와 Port 확인
kubectl get ingress snackbar -n snackbar
/etc/hosts 파일 변경
# kubernetes Host
1.1.1.1 order.snackbar.com
1.1.1.1 payment.snackbar.com
....
Ingress 로드밸런서 IP 조회
kubectl get ingress <ingress-name> -n <namespace> -o jsonpath="{.status.loadBalancer.ingress[0].ip}"