Consul 템플릿- "서비스가있는 경우"조건?

Shadowman

서비스 검색 및 등록을 위해 Consul 및 Consul 템플릿을 사용하는 Nginx 프록시 / 앱 서버 설정을 상속했습니다. Nginx 프록시에는 다운 스트림 앱 서버를 등록하기위한 다음과 같은 항목이있는 구성 파일이 있습니다.

<snip>

upstream appservers {
  {{ range service "my-app-servers" }}
     server {{ .Address }}.{{ .Port }};
  {{ end }}
}

<snip>

consul-template대한 업데이트를 포착 my-app-servers하고 nginx.conf파일을 적절하게 업데이트 한 다음 nginx 구성을 다시로드 하기 위해 백그라운드에서 실행 중입니다 . 이 모든 것이 훌륭하게 작동하며 필요에 따라 믹스에서 앱 서버를 추가 및 제거 할 수 있습니다. 즉, 사용 가능한 앱 서버 없는 시나리오가있는 경우 upstream블록으로 끝나고 nginx가 다시로드에 실패합니다.

가지고 영사 템플릿에 방법이 "if service my-app-servers exists, then...""if not, then..."논리는? nginx.conf업스트림 서버가있는 시나리오에 대해 하나의 구성과 업스트림 서버가 없을 때 오류 페이지를 표시하는 또 다른 비상 설정을 파일에 포함 하고 싶습니다 . 나는 여전히 consul-template에 대해 속도를 내고 있으며 그러한 논리에 대한 구문을 보여주는 예를 보지 못했습니다. 도움이 필요하세요?

블레이크 코바 루비 아스

service조회 결과를 변수 에 저장 한 다음 변수가 비어 있지 않은 경우에만 업스트림 블록을 출력하는 조건을 사용하여 이를 달성 할 수 있습니다 .

{{- $upstream_services := service "my-app-servers" -}}
{{- if $upstream_services -}}
upstream appservers {
  {{- range $upstream_services }}
     server {{ .Address }}.{{ .Port }};
  {{- end }}
}
{{- end }}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이미 알림 서비스가있는 경우 Office365 커넥터가 유용합니까?

분류에서Dev

서비스가있는 경우에만 blazor에 서비스를 삽입하려면 어떻게해야합니까?

분류에서Dev

생성자에서 언급 된 서비스가있는 경우 Angular에서 누락 된 구성 요소, 구성 요소 자체 내에서 사용되지 않습니다. JHipster 앱

분류에서Dev

Django 템플릿 'IF'조건

분류에서Dev

여러 템플릿에서 템플릿 enable_if 조건 반복

분류에서Dev

열의 JS 조건부 템플릿

분류에서Dev

Azure ARM 템플릿 변수 조건

분류에서Dev

underscore.js 템플릿의 조건

분류에서Dev

Mustache 템플릿에서 if 조건 구현

분류에서Dev

Swig 템플릿, 테스트 조건

분류에서Dev

C ++ 템플릿 재귀 중지 조건

분류에서Dev

템플릿의 전 처리기 조건

분류에서Dev

AngularJs의 조건부 템플릿

분류에서Dev

템플릿의 조건부 컴파일

분류에서Dev

Django 템플릿의 조건부 링크

분류에서Dev

C ++ 11 템플릿 조건부

분류에서Dev

Laravel Blade 템플릿 조건부 서식

분류에서Dev

조건부 이미지 템플릿 열

분류에서Dev

템플릿의 조건부 루프

분류에서Dev

Kendo DropDownList 조건부 if else 템플릿

분류에서Dev

emberjs-더 큰 템플릿 내에서 조건부로 템플릿 렌더링

분류에서Dev

템플릿 함수 오류가있는 C ++ 조건부 템플릿 유형

분류에서Dev

각도 구성 요소의 조건부 템플릿 또는 템플릿 URL

분류에서Dev

Azure ARM 템플릿 건너 뛰기 중첩 조건

분류에서Dev

실패 조건에 대한 OpenCV 템플릿 일치 플래그

분류에서Dev

C ++ / 참조의 템플릿

분류에서Dev

if 조건 인벤토리 이름이있는 ansible 템플릿

분류에서Dev

if 조건 인벤토리 이름이있는 ansible 템플릿

분류에서Dev

복잡한 조건이 충족 될 때 템플릿 재정의

Related 관련 기사

  1. 1

    이미 알림 서비스가있는 경우 Office365 커넥터가 유용합니까?

  2. 2

    서비스가있는 경우에만 blazor에 서비스를 삽입하려면 어떻게해야합니까?

  3. 3

    생성자에서 언급 된 서비스가있는 경우 Angular에서 누락 된 구성 요소, 구성 요소 자체 내에서 사용되지 않습니다. JHipster 앱

  4. 4

    Django 템플릿 'IF'조건

  5. 5

    여러 템플릿에서 템플릿 enable_if 조건 반복

  6. 6

    열의 JS 조건부 템플릿

  7. 7

    Azure ARM 템플릿 변수 조건

  8. 8

    underscore.js 템플릿의 조건

  9. 9

    Mustache 템플릿에서 if 조건 구현

  10. 10

    Swig 템플릿, 테스트 조건

  11. 11

    C ++ 템플릿 재귀 중지 조건

  12. 12

    템플릿의 전 처리기 조건

  13. 13

    AngularJs의 조건부 템플릿

  14. 14

    템플릿의 조건부 컴파일

  15. 15

    Django 템플릿의 조건부 링크

  16. 16

    C ++ 11 템플릿 조건부

  17. 17

    Laravel Blade 템플릿 조건부 서식

  18. 18

    조건부 이미지 템플릿 열

  19. 19

    템플릿의 조건부 루프

  20. 20

    Kendo DropDownList 조건부 if else 템플릿

  21. 21

    emberjs-더 큰 템플릿 내에서 조건부로 템플릿 렌더링

  22. 22

    템플릿 함수 오류가있는 C ++ 조건부 템플릿 유형

  23. 23

    각도 구성 요소의 조건부 템플릿 또는 템플릿 URL

  24. 24

    Azure ARM 템플릿 건너 뛰기 중첩 조건

  25. 25

    실패 조건에 대한 OpenCV 템플릿 일치 플래그

  26. 26

    C ++ / 참조의 템플릿

  27. 27

    if 조건 인벤토리 이름이있는 ansible 템플릿

  28. 28

    if 조건 인벤토리 이름이있는 ansible 템플릿

  29. 29

    복잡한 조건이 충족 될 때 템플릿 재정의

뜨겁다태그

보관