다음을 통해 공유


sfctl replica

서비스 파티션에 속하는 복제본을 관리합니다.

명령

명령 설명
배포됨 Service Fabric 노드에 배포된 복제본의 세부 정보를 가져옵니다.
deployed-list Service Fabric 노드에 배포된 복제본 목록을 가져옵니다.
Health Service Fabric 상태 저장 서비스 복제본 또는 상태 비정상 서비스 인스턴스의 상태를 가져옵니다.
info Service Fabric 파티션의 복제본에 대한 정보를 가져옵니다.
list Service Fabric 서비스 파티션의 복제본에 대한 정보를 가져옵니다.
remove 노드에서 실행되는 서비스 복제본을 제거합니다.
report-health Service Fabric 복제본에 상태 보고서를 보냅니다.
restart 노드에서 실행되는 지속형 서비스의 서비스 복제본을 다시 시작합니다.

배포된 sfctl 복제본

Service Fabric 노드에 배포된 복제본의 세부 정보를 가져옵니다.

Service Fabric 노드에 배포된 복제본의 세부 정보를 가져옵니다. 이 정보에는 서비스 종류, 서비스 이름, 현재 서비스 작업, 현재 서비스 작업 시작 날짜 시간, 파티션 ID, 복제본/인스턴스 ID, 보고된 로드 및 기타 정보가 포함됩니다.

인수

Argument 설명
--node-name [필수] 노드의 이름입니다.
--partition-id [필수] 파티션의 ID입니다.
--replica-id[필수] 복제본의 식별자입니다.
--timeout -t 작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 클라이언트가 요청된 작업이 완료되기를 기다리는 기간을 지정합니다. 이 매개 변수의 기본값은 60초입니다. 기본값: 60.

전역 인수

인수 설명
--debug 로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.
--help -h 이 도움말 메시지를 표시하고 종료합니다.
--output -o 출력 형식입니다. 허용되는 값: json, jsonc, table, tsv 기본값: json
--쿼리 JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.
--verbose 로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

sfctl replica deployed-list

Service Fabric 노드에 배포된 복제본 목록을 가져옵니다.

Service Fabric 노드에 배포된 복제본에 대한 정보를 포함하는 목록을 가져옵니다. 정보에는 파티션 ID, 복제본 ID, 복제본 상태, 서비스 이름, 서비스 유형 이름 및 기타 정보가 포함됩니다. PartitionId 또는 ServiceManifestName 쿼리 매개 변수를 사용하여 해당 매개 변수에 대해 지정된 값과 일치하는 배포된 복제본에 대한 정보를 반환합니다.

인수

Argument 설명
--application-id [필수] 애플리케이션 ID입니다. 일반적으로 'fabric:' URI 스키마가 없는 애플리케이션의 전체 이름입니다. 버전 6.0부터 계층 이름은 "~" 문자로 구분됩니다. 예를 들어 애플리케이션 이름이 "fabric:/myapp/app1"인 경우 애플리케이션 ID는 6.0 이상에서는 "myapp~app1"이고 이전 버전에서는 "myapp/app1"입니다.
--node-name [필수] 노드의 이름입니다.
--partition-id 파티션의 ID입니다.
--service-manifest-name Service Fabric 클러스터에서 애플리케이션 유형의 일부로 등록된 서비스 매니페스트의 이름입니다.
--timeout -t 작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 클라이언트가 요청된 작업이 완료되기를 기다리는 기간을 지정합니다. 이 매개 변수의 기본값은 60초입니다. 기본값: 60.

전역 인수

인수 설명
--debug 로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.
--help -h 이 도움말 메시지를 표시하고 종료합니다.
--output -o 출력 형식입니다. 허용되는 값: json, jsonc, table, tsv 기본값: json
--쿼리 JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.
--verbose 로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

sfctl replica health

Service Fabric 상태 저장 서비스 복제본 또는 상태 비정상 서비스 인스턴스의 상태를 가져옵니다.

Service Fabric 복제본의 상태를 가져옵니다. 상태에 따라 복제본에 보고된 상태 이벤트의 컬렉션을 필터링하려면 EventsHealthStateFilter를 사용합니다.

인수

Argument 설명
--partition-id [필수] 파티션의 ID입니다.
--replica-id[필수] 복제본의 식별자입니다.
--events-health-state-filter 상태에 따라 반환된 HealthEvent 개체의 컬렉션을 필터링할 수 있습니다. 이 매개 변수에 사용할 수 있는 값은 다음 상태 중 하나의 정수 값을 포함합니다. 필터와 일치하는 이벤트만 반환됩니다. 모든 이벤트는 집계된 상태를 평가하는 데 사용됩니다. 지정하지 않으면 모든 항목이 반환됩니다. 상태 값은 플래그 기반 열거형이므로 값은 비트 'OR' 연산자를 사용하여 가져온 이러한 값의 조합일 수 있습니다. 예를 들어 제공된 값이 6이면 HealthState 값이 OK(2) 및 Warning(4)인 모든 이벤트가 반환됩니다.
- 기본 - 기본값. 모든 HealthState와 일치합니다. 값이 0입니다.
- None - HealthState 값과 일치하지 않는 필터입니다. 주어진 상태 컬렉션에 대해 결과를 반환하지 않기 위해 사용됩니다. 값은 1입니다.
- Ok – HealthState 값이 Ok인 입력과 일치하는 필터입니다. 값은 2입니다.
- Warning – HealthState 값이 Warning인 입력과 일치하는 필터입니다. 값은 4입니다.
- Error - HealthState 값이 Error인 입력과 일치하는 필터입니다. 값은 8입니다.
- All - 모든 HealthState 값의 입력과 일치하는 필터입니다. 값은 65535입니다.
--timeout -t 작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 클라이언트가 요청된 작업이 완료되기를 기다리는 기간을 지정합니다. 이 매개 변수의 기본값은 60초입니다. 기본값: 60.

전역 인수

인수 설명
--debug 로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.
--help -h 이 도움말 메시지를 표시하고 종료합니다.
--output -o 출력 형식입니다. 허용되는 값: json, jsonc, table, tsv 기본값: json
--쿼리 JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.
--verbose 로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

sfctl replica info

Service Fabric 파티션의 복제본에 대한 정보를 가져옵니다.

응답에는 ID, 역할, 상태, 상태, 노드 이름, 가동 시간 및 복제본에 대한 기타 세부 정보가 포함됩니다.

인수

Argument 설명
--partition-id [필수] 파티션의 ID입니다.
--replica-id[필수] 복제본의 식별자입니다.
--timeout -t 작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 클라이언트가 요청된 작업이 완료되기를 기다리는 기간을 지정합니다. 이 매개 변수의 기본값은 60초입니다. 기본값: 60.

전역 인수

인수 설명
--debug 로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.
--help -h 이 도움말 메시지를 표시하고 종료합니다.
--output -o 출력 형식입니다. 허용되는 값: json, jsonc, table, tsv 기본값: json
--쿼리 JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.
--verbose 로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

sfctl replica list

Service Fabric 서비스 파티션의 복제본에 대한 정보를 가져옵니다.

GetReplicas 엔드포인트는 지정된 파티션의 복제본에 대한 정보를 반환합니다. 응답에는 ID, 역할, 상태, 상태, 노드 이름, 가동 시간 및 복제본에 대한 기타 세부 정보가 포함됩니다.

인수

Argument 설명
--partition-id [필수] 파티션의 ID입니다.
--continuation-token 연속 토큰 매개 변수는 다음 결과 집합을 얻는 데 사용됩니다. 빈 값이 아닌 연속 토큰은 시스템의 결과가 단일 응답에 맞지 않는 경우 API의 응답에 포함됩니다. 이 값이 다음 API 호출에 전달되면 API는 다음 결과 집합을 반환합니다. 결과가 더 이상 없으면 연속 토큰에 값이 포함되지 않습니다. 이 매개 변수의 값은 URL 인코딩이 되지 말아야 합니다.
--timeout -t 작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 클라이언트가 요청된 작업이 완료되기를 기다리는 기간을 지정합니다. 이 매개 변수의 기본값은 60초입니다. 기본값: 60.

전역 인수

인수 설명
--debug 로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.
--help -h 이 도움말 메시지를 표시하고 종료합니다.
--output -o 출력 형식입니다. 허용되는 값: json, jsonc, table, tsv 기본값: json
--쿼리 JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.
--verbose 로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

sfctl replica remove

노드에서 실행되는 서비스 복제본을 제거합니다.

이 API는 Service Fabric 클러스터에서 복제본을 제거하여 Service Fabric 복제본 오류를 시뮬레이션합니다. 제거는 복제본을 닫고 복제본을 None 역할로 전환한 다음 클러스터에서 복제본의 모든 상태 정보를 제거합니다. 이 API는 복제본 상태 제거 경로를 테스트하고 클라이언트 API를 통해 보고서 오류 영구 경로를 시뮬레이션합니다. 경고 ‑ 이 API가 사용될 때 수행되는 안전 검사가 없습니다. 이 API를 잘못 사용하면 상태 저장 서비스에 대한 데이터 손실이 발생할 수 있습니다. 또한 forceRemove 플래그는 동일한 프로세스에서 호스트되는 다른 모든 복제본에 영향을 줍니다.

인수

Argument 설명
--node-name [필수] 노드의 이름입니다.
--partition-id [필수] 파티션의 ID입니다.
--replica-id[필수] 복제본의 식별자입니다.
--force-remove 정상적인 종료 시퀀스를 거치지 않고 Service Fabric 애플리케이션 또는 서비스를 강제로 제거합니다. 이 매개 변수는 복제본을 정상적으로 닫지 못하게 하는 서비스 코드의 문제로 인해 삭제가 제한되는 애플리케이션 또는 서비스를 강제로 삭제하는 데 사용할 수 있습니다.
--timeout -t 작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 클라이언트가 요청된 작업이 완료되기를 기다리는 기간을 지정합니다. 이 매개 변수의 기본값은 60초입니다. 기본값: 60.

전역 인수

인수 설명
--debug 로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.
--help -h 이 도움말 메시지를 표시하고 종료합니다.
--output -o 출력 형식입니다. 허용되는 값: json, jsonc, table, tsv 기본값: json
--쿼리 JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.
--verbose 로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

sfctl replica report-health

Service Fabric 복제본에 상태 보고서를 보냅니다.

지정된 Service Fabric 복제본의 상태를 보고합니다. 보고서에는 보고되는 상태 보고서 및 속성의 원본에 대한 정보가 포함되어야 합니다. 보고서는 상태 저장소로 전달되는 Service Fabric 게이트웨이 복제본으로 전송됩니다. 보고서는 게이트웨이에서 수락할 수 있지만 추가 유효성 검사 후 상태 저장소에서 거부됩니다. 예를 들어 상태 저장소는 부실 시퀀스 번호와 같은 잘못된 매개 변수로 인해 보고서를 거부할 수 있습니다. 보고서가 상태 저장소에 적용되었는지 확인하려면 복제본 상태 가져오기를 실행하고 HealthEvents 섹션에 보고서가 표시되는지 확인합니다.

인수

Argument 설명
--health-property [필수] 상태 정보의 속성입니다.

엔터티는 다양한 속성에 대한 상태 보고서를 가질 수 있습니다. 이 속성은 보고서를 트리거하는 상태 조건을 보고자가 유연하게 분류할 수 있도록 하는 고정 열거형이 아닌 문자열입니다. 예를 들어 SourceId "LocalWatchdog"를 사용하는 기자는 노드에서 사용 가능한 디스크의 상태를 모니터링할 수 있으므로 해당 노드에서 "AvailableDisk" 속성을 보고할 수 있습니다. 동일한 보고자는 노드 연결을 모니터링할 수 있으므로 동일한 노드에서 "Connectivity" 속성을 보고할 수 있습니다. 상태 저장소에서 이러한 보고서는 지정된 노드에 대한 별도의 상태 이벤트로 처리됩니다. SourceId와 함께 이 속성은 상태 정보를 고유하게 식별합니다.
--health-state[필수] 가능한 값은 'Invalid', 'Ok', 'Warning', 'Error', 'Unknown'입니다.
--partition-id [필수] 파티션의 ID입니다.
--replica-id[필수] 파티션의 ID입니다.
--source-id [필수] 상태 정보를 생성한 클라이언트/watchdog/시스템 구성 요소를 식별하는 원본 이름입니다.
--묘사 상태 정보에 대한 설명입니다.

보고서에 대한 사람이 읽을 수 있는 정보를 추가하는 데 사용되는 무료 텍스트를 나타냅니다. 설명의 최대 문자열 길이는 4096자입니다. 제공된 문자열이 더 길면 자동으로 잘립니다. 잘린 경우 설명의 마지막 문자에는 "[Truncated]" 표식이 포함되고 총 문자열 크기는 4096자입니다. 표식은 사용자에게 잘림이 발생했음을 나타냅니다. 잘린 경우 설명은 원래 문자열에서 4096자 미만입니다.
--즉시 보고서를 즉시 보낼지 여부를 나타내는 플래그입니다.

상태 보고서는 상태 저장소로 전달되는 Service Fabric 게이트웨이 애플리케이션으로 전송됩니다. 직접 실행이 true로 설정되면 HTTP 게이트웨이 애플리케이션에서 사용하는 패브릭 클라이언트 설정에 관계없이 보고서가 HTTP 게이트웨이에서 상태 저장소로 즉시 전송됩니다. 이는 가능한 한 빨리 전송해야 하는 중요한 보고서에 유용합니다. 타이밍 및 기타 조건에 따라 보고서 전송이 여전히 실패할 수 있습니다. 예를 들어, HTTP 게이트웨이가 닫혀 있거나 메시지가 게이트웨이에 도달하지 않는 경우입니다. Immediate가 false로 설정된 경우 보고서는 HTTP 게이트웨이의 상태 클라이언트 설정에 따라 전송됩니다. 따라서 HealthReportSendInterval 구성에 따라 일괄 처리됩니다. 상태 클라이언트가 상태 보고서 처리뿐만 아니라 상태 저장소에 대한 상태 보고 메시지를 최적화할 수 있으므로 이 설정을 사용하는 것이 좋습니다. 기본적으로 보고서는 즉시 전송되지 않습니다.
--remove-when-expired 보고서가 만료될 때 Health 스토어에서 제거할지 여부를 나타내는 값입니다.

true로 설정하면 보고서가 만료된 후 상태 저장소에서 제거됩니다. false로 설정하면 보고서가 만료될 때 오류로 처리됩니다. 이 속성의 값은 기본적으로 false입니다. 클라이언트가 주기적으로 보고하는 경우 RemoveWhenExpired를 false(기본값)로 설정해야 합니다. 이렇게 하면 보고자에게 문제가 있고(예: 교착 상태) 보고할 수 없으므로 상태 보고서가 만료되면 엔터티가 오류로 평가됩니다. 이렇게 하면 엔터티가 오류 상태인 것으로 플래그가 지정됩니다.
--sequence-number 이 상태 보고서의 시퀀스 번호(숫자 문자열)입니다.

보고서 시퀀스 번호는 상태 저장소에서 부실 보고서를 검색하는 데 사용됩니다. 지정하지 않으면 보고서가 추가될 때 상태 클라이언트에서 시퀀스 번호가 자동으로 생성됩니다.
--service-kind 상태가 보고되는 서비스 복제본의 종류입니다(상태 비저장 또는 상태 저장). 다음은 가능한 값 '상태 비저장', '상태 저장'입니다. 기본값: 상태 저장.
--timeout -t 기본값: 60.
--ttl 이 상태 보고서가 유효한 기간입니다. 이 필드는 기간을 지정하는 데 ISO8601 형식을 사용합니다.

클라이언트가 주기적으로 보고하는 경우 TTL(Time to Live)보다 높은 빈도로 보고서를 보내야 합니다. 클라이언트가 전환에 대해 보고하는 경우 시간을 무한으로 설정할 수 있습니다. TTL(Time to Live)이 만료되면 상태 정보가 포함된 상태 이벤트가 Health 스토어에서 제거되거나 RemoveWhenExpired가 true인 경우 또는 RemoveWhenExpired false인 경우 오류로 평가됩니다. 지정하지 않으면 TL(Time to Live)은 기본적으로 무한값으로 설정됩니다.

전역 인수

인수 설명
--debug 로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.
--help -h 이 도움말 메시지를 표시하고 종료합니다.
--output -o 출력 형식입니다. 허용되는 값: json, jsonc, table, tsv 기본값: json
--쿼리 JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.
--verbose 로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

sfctl replica restart

노드에서 실행되는 지속형 서비스의 서비스 복제본을 다시 시작합니다.

노드에서 실행되는 지속형 서비스의 서비스 복제본을 다시 시작합니다. 경고 ‑ 이 API가 사용될 때 수행되는 안전 검사가 없습니다. 이 API를 잘못 사용하면 상태 저장 서비스의 가용성 손실이 발생할 수 있습니다.

인수

Argument 설명
--node-name [필수] 노드의 이름입니다.
--partition-id [필수] 파티션의 ID입니다.
--replica-id[필수] 복제본의 식별자입니다.
--timeout -t 작업을 수행하기 위한 서버 제한 시간(초)입니다. 이 시간 제한은 클라이언트가 요청된 작업이 완료되기를 기다리는 기간을 지정합니다. 이 매개 변수의 기본값은 60초입니다. 기본값: 60.

전역 인수

인수 설명
--debug 로깅의 자세한 정도를 늘려 모든 디버그 로그를 표시합니다.
--help -h 이 도움말 메시지를 표시하고 종료합니다.
--output -o 출력 형식입니다. 허용되는 값: json, jsonc, table, tsv 기본값: json
--쿼리 JMESPath 쿼리 문자열입니다. 자세한 내용과 예제는 http://jmespath.org/를 참조하세요.
--verbose 로깅의 자세한 정도를 늘립니다. 전체 디버그 로그를 표시하려면 --debug를 사용합니다.

다음 단계