헬스 체크 구성 참조

헬스 체크 구성 참조

헬스 체크에 대한 구성 참조 정보를 설명해 드릴게요. check 블록과 checks 블록의 구성 옵션을 하나씩 살펴볼게요.

출처: 문서

본문

이 문서는 헬스 체크에 대한 구성 참조 정보를 제공해요. 다양한 종류의 헬스 체크와 그 정의 방법에 대한 지침은 헬스 체크 정의를 참고해 주세요.

소개

헬스 체크는 웹 로드 밸런서가 실패한 노드를 정상적으로 제거하도록 하고 데이터베이스가 실패한 보조 노드를 교체하도록 하는 등 여러 안전 기능을 수행해요. 전체 노드의 상태를 모니터링하도록 헬스 체크를 구성할 수 있어요. Consul에서 사용할 수 있는 다양한 유형의 헬스 체크를 정의하는 방법에 대한 정보는 헬스 체크 정의를 참고해 주세요.

check 블록

헬스 체크 옵션을 check 블록에 지정해 주세요. 동일한 구성에 두 개 이상의 헬스 체크를 등록하려면 checks 블록을 사용해 주세요. 다음 표는 check 블록에 포함된 구성 옵션을 설명해요.

Parameter Description Check types
name 체크의 이름을 지정하는 필수 문자열 값. 기본값은 service:<service-id>예요. 여러 서비스 체크가 등록되면 자동 생성된 기본값에 콜론과 1부터 시작하는 증가 번호가 추가돼요. Script HTTP TCP UDP OSService TTL Docker gRPC H2ping Alias
id 체크의 ID를 지정하는 고유 문자열 값. name 값으로 기본 설정돼요. name 값이 충돌하면 동일한 노드에서 동일한 ID를 가진 기존 체크를 덮어쓰지 않도록 고유 ID를 지정해 주세요. 체크가 서비스 정의 파일에 정의되면 Consul이 자동으로 ID를 생성해요. Script HTTP TCP UDP OSService TTL Docker gRPC H2ping Alias
notes 체크의 사람이 읽을 수 있는 설명을 제공하는 문자열 값. 내용은 Consul에 표시되지 않아요. Script HTTP TCP UDP OSService TTL Docker gRPC H2ping Alias
interval 체크 실행 빈도를 지정하는 필수 문자열 값. 지원되는 체크 유형에는 interval 매개변수가 필요해요. 값은 golang time 포맷 사양으로 파싱돼요. Script HTTP TCP UDP OSService Docker gRPC H2ping
timeout 실패한 요청이 시간 초과로 끝나는 데 걸리는 시간을 지정하는 문자열 값. 지원되는 체크 유형에는 timeout이 선택 사항이며 다음 기본값이 있어요: Script: 30s HTTP: 10s TCP: 10s UDP: 10s gRPC: 10s H2ping: 10s Script HTTP TCP UDP gRPC H2ping
status 헬스 체크의 초기 상태를 지정하는 선택적 문자열 값. critical(기본값) warning passing 값을 지정할 수 있어요. Script HTTP TCP UDP OSService TTL Docker gRPC H2ping Alias
deregister_critical_service_after 서비스와 관련 체크가 critical 상태에 있을 수 있는 시간을 지정하는 문자열 값. 서비스가 지정된 시간 동안 critical이면 Consul이 서비스 등록을 해제해요. 값은 golang time 포맷 사양으로 파싱돼요. Script HTTP TCP UDP OSService TTL Docker gRPC H2ping Alias
success_before_passing Consul이 서비스 또는 노드를 passing으로 표시하기 전에 체크가 연속적으로 통과해야 하는 횟수를 지정하는 정수 값. 기본값은 0이에요. Script HTTP TCP UDP OSService TTL Docker gRPC H2ping Alias
failures_before_warning Consul이 서비스 또는 노드를 warning으로 표시하기 전에 체크가 연속적으로 실패해야 하는 횟수를 지정하는 정수 값. 값은 failures_before_critical보다 클 수 없어요. failures_before_critical에 지정된 값으로 기본 설정돼요. Script HTTP TCP UDP OSService TTL Docker gRPC H2ping Alias
failures_before_critical Consul이 서비스 또는 노드를 critical로 표시하기 전에 체크가 연속적으로 실패해야 하는 횟수를 지정하는 정수 값. 기본값은 0이에요. Script HTTP TCP UDP OSService TTL Docker gRPC H2ping Alias
args 명령줄에 전달할 인수 문자열 목록을 지정해요. 값 목록에는 호출할 스크립트 파일 또는 외부 애플리케이션의 경로와 스크립트 또는 애플리케이션 실행을 위한 추가 매개변수가 포함돼요. ScriptDocker
docker_container_id 외부 헬스 체크 애플리케이션을 실행할 Docker 컨테이너 ID를 지정해요. 외부 애플리케이션은 args 매개변수로 지정해 주세요. Docker
shell 헬스 체크 애플리케이션을 실행하는 데 사용할 명령줄 셸 유형을 지정하는 문자열 값. 외부 애플리케이션은 args 매개변수로 지정해 주세요. Docker
grpc 요청을 보낼 gRPC 엔드포인트(포트 번호 포함)를 지정하는 문자열 값. 특정 서비스를 확인하려면 엔드포인트에 :/와 서비스 식별자를 추가해 주세요. 엔드포인트는 gRPC health checking protocol을 지원해야 해요. gRPC
grpc_use_tls true로 설정하면 gRPC 체크에 TLS를 활성화하는 불리언 값. gRPC
h2ping HTTP2 요청을 보낼 HTTP2 엔드포인트(포트 번호 포함)를 지정하는 문자열 값. H2ping
h2ping_use_tls true로 설정하면 H2ping 체크에 TLS를 활성화하는 불리언 값. H2ping
http 요청을 보낼 HTTP 엔드포인트를 지정하는 문자열 값. HTTP
tls_server_name tls_skip_verify가 제공되지 않는 한 반환된 인증서에서 호스트 이름을 확인하는 데 사용되는 서버 이름을 지정하는 문자열 값. SNI를 지원하기 위해 클라이언트의 핸드셰이크에도 포함돼요. 이 필드는 비워 두는 것이 좋아요. TLS 클라이언트는 체크 주소가 IP가 아닌 한 체크 주소에서 SNI의 서버 이름을 추론해요(RFC 6066, Section 3). tls_server_name을 제공하는 것이 유익한 두 가지 일반적인 상황이 있어요: 체크 주소가 IP일 때 SNI에 tls_server_name을 지정할 수 있어요. tls_server_name을 설정하면 확인되는 서버에서 제시하는 인증서를 확인하는 데 사용되는 호스트 이름도 재정의해요. 체크 주소의 호스트 이름이 확인되는 서버가 제시하는 인증서의 SAN(Subject Alternative Name) 필드에 없을 때. tls_server_name을 설정하면 SNI에 사용되는 호스트 이름도 재정의해요. HTTP H2Ping gRPC
tls_skip_verify 체크가 서버가 제시하는 인증서의 체인과 호스트 이름을 확인할지 여부를 결정하는 불리언 값. 확인을 비활성화하려면 true로 설정해 주세요. 프로덕션 사용에는 false로 설정할 것을 권장해요. 기본값은 false예요. HTTP H2Ping gRPC TCP
method HTTP 체크 중에 보낼 요청 메서드를 지정하는 문자열 값. 기본값은 GET이에요. HTTP
header HTTP 체크 요청에서 보낼 헤더 필드를 지정하는 객체. header 객체에 지정된 각 헤더는 문자열 값 목록을 포함해요. HTTP
body HTTP 체크 요청에서 보낼 JSON 속성을 포함하는 문자열 값. 각 속성의 키와 값 주위의 따옴표를 이스케이프해야 해요. HTTP
disable_redirects true로 설정하면 HTTP 체크가 리다이렉트를 따르지 않도록 하는 불리언 값. 기본값은 false예요. HTTP
os_service OSService 체크 중에 확인할 서비스 이름을 지정하는 문자열 값. OSService
service_id OSService 체크와 연결할 서비스 인스턴스의 ID를 지정하는 문자열 값. 해당 서비스 인스턴스는 체크와 동일한 노드에 있어야 해요. 지정하지 않으면 체크는 노드의 상태를 확인해요. OSService
tcp 체크가 TCP 연결을 설정할 IP 주소 또는 호스트 및 포트 번호를 지정하는 문자열 값. TCP
tcp_use_tls true로 설정하면 TCP 체크에 TLS를 활성화하는 불리언 값. TCP
udp 체크가 UDP 데이터그램을 보낼 IP 주소 또는 호스트 및 포트 번호를 지정하는 문자열 값. UDP
ttl TTL 체크 중에 외부 프로세스의 업데이트를 기다리는 시간을 지정하는 문자열 값. TTL
alias_service 헬스 체크와 연결된 서비스가 별칭을 지정하는 서비스 또는 노드를 지정하는 문자열 값. Alias

checks 블록

단일 checks 블록에서 여러 헬스 체크를 정의할 수 있어요. checks 블록은 check 블록 구성 참조에 설명된 구성 옵션을 포함하는 객체 배열이에요.

더 알아보기 (Learn more)