Cloud/Kubernetes

Kubernetes) Ingress

Adım Kim 2022. 10. 30. 20:43
학습 목표 : 4계층에서 사용되는 Service와 다르게 7계층에서 사용되는 Ingress를 알아본다.

Ingress 란?

  • 클러스터 외부에서 내부로 접근하는 요청들을 어떻게 처리할지 정의해둔 규칙모음.
  • 클러스터 외부에서 접근할 URL, 트래픽 로드밸런싱, SSL 인증서 처리, 도메인 기반 가상 호스팅 등 규칙들을 제공한다.
  • Ingress는 Deployment와 Service에 접근하기 위한 일종의 Gateway같은 역할을 담당한다.
# ingress.yaml
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: my-ingress
spec:
 backend:
   serviceName: other
   servicePort: 8080
 rules:
 - host: foo.mydomain.com
   http:
     paths:
     - backend:
         serviceName: foo
         servicePort: 8080
 - host: mydomain.com
   http:
     paths:
     - path: /bar/*
       backend:
         serviceName: bar
         servicePort: 8080


 


Ingress Controller 란?

  • Ingress는 규칙들을 정의해둔 자원, 실제로 동작시키는 것은 Ingress Controller.
  • 클라우드 서비스를 사용하면, 별다른 설정없이 자체 로드밸런서 서비스와  Ingress를 연동할 수 있다.
  • 클라우드 서비스를 사용하지 않는다면, 직접 Ingress Controller를 Ingress와 연동해야 한다.



참고 자료

 

Installation Guide - NGINX Ingress Controller

Installation Guide There are multiple ways to install the NGINX ingress controller: with Helm, using the project repository chart; with kubectl apply, using YAML manifests; with specific addons (e.g. for minikube or MicroK8s). On most Kubernetes clusters,

kubernetes.github.io

 

Ingress 활용 예제

 

guide.ncloud-docs.com