반응형
클러스터 내의 서비스에 대한 '외부 접근을 관리하는 API 오브젝트'(일반적으로 HTTP를 관리함)
인그레스는 부하 분산, SSL종료, 명칭 기반의 가상 호스팅을 제공할 수 있다.
인그레스란?
클러스터 외부에서 클러스터 내부서비스로 HTTP, HTTPS경로를 노출한다.
트래픽은 인그레스 리소스에 정의된 규칙에 의해서 컨트롤 된다.
임의의 포트 또는 프로토콜을 노출시키지 않는다.
인그레스가 제공할 수 있는 구성
- 외부에서 서비스 접속이 가능한 URL
- 트래픽 로드 밸런스
- SSL/TLS 종료
- 이름-기반의 가상 호스팅
※ 전제조건
- 인그레스 컨트롤러가 있어야한다. (ex. Ingress-nginx)
인그레스 리소스
쿠버네티스의 다른 리소스와 마찬가지로 apiVersion, kind, metadata 필드가 필요.
인그레스 오브젝트의 이름은 'DNS 서브도메인 이름'이어야 한다.
(Ex. Proxy.test.com 이면, proxy.yaml…)
자세한 내용은 설정파일 작성의 내용에서 참고
인그레스 사양에는 로드밸런서 or 프록시 서버를 구성하는데 필요한 모든 정보가 있다.
가장중요한 점은 들어오는 요청과 일치하는 규칙목록을 포함하는 것이다.
인그레스 리소스는 HTTP(S) 트로팩을 지시하는 규칙만 지원한다.
인그레스 규칙
- 선택적 호스트 : 호스트가 적용되면 규칙이 해당 호스트에 적용(ex. Foo.bar.com). 호스트가 지정되지 않으면 모든 인바운드 트래픽에 용
- 경로 목록 : (ex. Testpath) 로드밸런서가 트래픽을 보내기전에 호스트와 경로가 모두 일치해야 한다.
- 백엔드 : 서비스와 포트이름의 조합
- 호스트
- 정확한 일치 : (ex. Foo.bar.com)
- 와일드카드 : (ex. *.bar.com)
- 경로목록
- ImplementationSpecific : 경로의 일치 여부는 ingressclass에 따라 달라진다.
- Exact : URL경로의 대소문자를 엄격히 일치.
- Prefix : URL경로의 "/" 을 기준으로 분리한 값와 일치시킨다.
- 백엔드
- DefaultBackend : 규칙이 없는 모든 트래픽을 defaultBackend로 전송한다.
- Resource 백엔드 : 인그레스 오브젝트와 동일한 네임스페이스 내에 있는 다른 쿠버네티스 리소스에 대한 ObjectRef 이다.
- 백엔드 확인방법 : kubectl describe ingress ingress-resource-backend
참고 : kubernetes 홈페이지 개념 참고
반응형
'IT Knowledge > Kubernetes' 카테고리의 다른 글
kubernetes Deploy Strategy(배포전략) (0) | 2020.12.29 |
---|---|
kubernetes의 포드(Pod) 소개 (0) | 2020.12.28 |
Kubernetes, Docker 지원중단(Deprecation) 발표 12.02 (4) | 2020.12.22 |
Kubernetes 기본 명령어 정리(kubectl) (0) | 2020.12.21 |
Kubernetes Ingress Controller 설명 및 사용법 (0) | 2020.12.17 |
댓글