2017-12-22 13 views
0

kubernetes 배치를로드 밸런싱하기 위해 Nginx를 사용하고 싶습니다. 배포는 서비스의 일부입니다. 여기에는 크기 조정이 가능한 창을 포함하고 있습니다. 나는 NGINX가 축소되지 않고 서비스의 일부가되기를 바랍니다.서비스 내에서로드 밸런싱을 구현하는 Nginx

NGINX를 외부 DNS 리졸버로 구성하여 외부로드 밸런서로 사용할 수 있음을 알고 있습니다. 이를 통해 포드의 IP를 확장하고 자체로드 밸런싱 규칙을 적용 할 수 있습니다.

NGINX를 서비스에 포함시킬 수 있습니까? 그러면 포드에 DNS 확인을 수행하는 방법은 무엇입니까? 이 경우 어떤 서비스 이름이 참조됩니까?

마이크로 서비스를 나타내는 설정의 단일 정의를 유지하기 위해 두 가지 서비스 선언을 피하고 싶습니다. 나는 동일한 서비스에 선언 할 수있는 방법을 더 일반적으로

:

감사를 축소하지

  • 데이터베이스를 확장하지,
  • 백엔드를 조정하는 장치 모두

  • 답변

    0

    서비스의 일부로 NGINX를 사용할 수 없습니다. 서비스에는 포드가 포함되어 있지 않습니다. 그것은 당신이 입구 서비스를 원하는 것처럼, 즉 부하가 클러스터에있는 모든 서비스를 밸런서 것 소리

    편집 :

    본질적으로 입구 컨트롤러가 역할을하는 서비스로 공개적으로 노출의 nginx의 배포가 로드 밸런서/팬 아웃. 배포는 클러스터에서 검색 리소스를 검색하고 요청을 적절한 서비스로 전달하도록 NGINX를 다시 구성합니다.

    일반적으로 사람들은 모든 마이크로 서비스의로드 밸런서 역할을하는 단일 컨트롤러를 배포합니다. DNS, URI, 기타 헤더 등을 기반으로 팬 아웃 할 수 있습니다. 또한 TLS 종료를 수행하고 기본 인증을 특정 서비스에 추가 할 수 있으며 NGINX config snippet을 입력 자원에 직접 연결할 수도 있습니다.

    +0

    알겠습니다. 이해합니다. 즉, 서비스의 목적 중 하나는 부하 분산을 허용하기 위해 이름과 DNS 뒤에있는 집합 af 포드를 숨기는 것입니다. 그 맞습니까? 그래, 입구 컨트롤러에서 디어퍼 모양을 보도록하겠습니다. 5 가지 마이크로 서비스를 배포하려는 경우, 5 가지 전략/구성으로 NGINX를 기반으로 5 가지 입구 컨트롤러를 선언 할 수 있습니까? (캐싱,로드 균형 ..) – kinder5612