ingress는 파일 크기가 364KB인 비위협적인 파일 소프트웨어입니다. 이는 외부 세계에 서비스를 노출하는 데 사용되는 k8s 리소스 개체입니다. 리소스 개체는 해당 백엔드에 대한 다양한 호스트 이름과 URL의 바인딩을 정의합니다. 서비스를 제공하고 다양한 경로 및 https 트래픽에 따라 http를 라우팅합니다.
Ingress 소개
Ingress는 파일 크기가 364KB인 위협적이지 않은 파일입니다. 서비스를 외부에 노출하는 데 사용되는 k8s 리소스 개체입니다. 이름) 및 URL과 해당 엔드엔드 서비스 바인딩(k8s 서비스)은 서로 다른 경로에 따라 http 및 https 트래픽을 라우팅합니다.
nodePort, LoadBalancer 및 Ingress 간의 관계
k8s 클러스터 외부에 서비스를 노출하는 방법에는 nodePort, LoadBalancer 및 Ingress의 세 가지가 있습니다.
nodePort 방식은 서비스 수가 증가하면 노드에서 점점 더 많은 포트가 열리게 되어 관리가 어려워집니다.
LoadBalancer는 클라우드 제공업체의 LB와 함께 사용하는 것이 더 적합하지만, LB가 점점 많아지면 비용도 과소평가할 수 없습니다.
LoadBalancer 22.33.44.55에 요청을 보내면 내부 서비스-nginx 서비스로 리디렉션됩니다. 77.66.55.44로 요청을 보내면 내부 서비스-파이썬 서비스로 리디렉션됩니다.
이것은 정말 편리하지만 IP 주소는 드물고 저렴하지 않다는 점을 알아야 합니다. Kubernetes 클러스터에 서비스가 두 개만 있는 것이 아니라 서비스가 많으면 이러한 서비스에 대한 LoadBalancer를 생성하는 비용이 기하급수적으로 증가할 것이라고 상상해 보세요.
Ingress는 서비스를 외부에 노출시키기 위해 k8s에서 공식적으로 제공하는 방식이기도 합니다. 일반적으로 클라우드 환경에서는 외부에 서비스를 제공하기 위해 LB + Ingress Ctroller 방식을 사용합니다. Ingress를 사용하여 클러스터 외부로 나가면 여러 LoadBalancer 서비스를 선언할 필요가 없기 때문에 귀중한 고정 IP를 절약할 수 있습니다.
ingress Controller
Ingress Controller는 웹 프런트엔드 로드 밸런서를 캡슐화함과 동시에 이를 기반으로 Ingress의 동적 인식을 구현하고 프런트엔드 웹 로드를 동적으로 생성하는 Pod 서비스입니다. Nginx Ingress Controller와 같은 구성 파일은 Ingress 정의를 기반으로 하며 Ingress 리소스 정의를 기반으로 Nginx 구성 파일을 동적으로 생성한 다음 동적으로 다시 로드할 수 있다는 점을 제외하면 본질적으로 Nginx입니다.
따라서 일반적으로 Ingress를 사용하려면 먼저 Ingress Controller 엔터티(프론트엔드 Nginx에 해당)를 배포한 다음 Ingress를 생성해야 합니다(Nginx 구성의 k8s 리소스 반영에 해당). Ingress Controller가 배포되면 Ingress 생성을 동적으로 감지하고 해당 구성을 생성합니다. Ingress 컨트롤러에는 많은 구현이 있습니다. 일부는 Nginx를 기반으로 하고, 일부는 HAProxy를 기반으로 하며, OpenResty 등을 기반으로 하는 Kong Ingress 컨트롤러도 있습니다.
위 내용은 인그레스란 어떤 소프트웨어인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!