반응형
저는 sakd.uk에 쿠버네티스 도입을 진행하다 이 고민을 했습니다.
누구나 처음으로 Kubernetes에 여러 서비스를 실행해본다면 필연적으로 이 고민을 하게 될 것입니다.
어느 서비스로 보내야 하는지는 어떻게 제어하지?
오늘은 K8S에 Ingress를 적용하는 방법을 간략하게 정리해봅니다.
목표
- API 서비스와 Client 서비스를 하나의 K8S 클러스터에서 실행한다.
- 요청하는 Hostname을 기반으로 각각의 서비스로 연결한다.
Ingress
Ingress(인그레스)는 클러스터 외부에서 클러스터 내부로 접근하는 트래픽에 HTTP, HTTPS 라우팅을 제공하는 리소스입니다.
더 쉽게 설명한다면 클러스터 외부에서 내부로 이동하는 이정표라고 볼 수 있죠.
때문에 Ingress는 가상 호스트와 TLS 통신, 로드밸러서 등으로 사용할 수 있습니다.
파일 준비
이제 각 서비스에서 출력할 페이지를 준비해보겠습니다.
편한 장소에 hello-api/index.html 파일과 hello-client/index.html 파일을 생성하고 아래 명령어로 configmap에 등록합니다.
deployment.yaml 작성
본문
host-basic.yaml 작성
본문
테스트
본문
참고 문서
- 인그레스(Ingress) - Kubernetes (https://kubernetes.io/ko/docs/concepts/services-networking/ingress)
반응형