8장. MachineHealthCheck [machine.openshift.io/v1beta1]


설명
MachineHealthCheck는 machinehealthchecks API 호환성 수준 2의 스키마입니다. 최소 9 개월 또는 3 개의 마이너 릴리스 (더 긴 버전)에 대한 주요 릴리스 내에서 사용할 수 있습니다.
유형
object

8.1. 사양

속성유형설명

apiVersion

string

APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

메타데이터

ObjectMeta

표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

object

머신 상태 점검 정책 사양

status

object

최근 MachineHealthCheck 리소스의 상태

8.1.1. .spec

설명
머신 상태 점검 정책 사양
유형
object
속성유형설명

maxUnhealthy

integer-or-string

"selector"에서 선택한 대부분의 "MaxUnhealthy" 머신이 정상이 아닌 경우에만 훨씬 더 많은 업데이트가 허용됩니다. postive 정수 값 또는 백분율 값이 필요합니다. 백분율 값은 양의 정수여야 하며 100%로 제한되어야 합니다. 0과 0%는 모두 유효하며 모든 수정을 차단합니다.

nodeStartupTimeout

string

노드가 없는 이 기간보다 오래된 머신은 실패한 것으로 간주되며 수정됩니다. 노드가 없는 머신이 제거되지 않도록 하려면 이 값을 명시적으로 "0"으로 설정하여 시작 검사를 비활성화합니다. 각각 선택적 분수와 단위 접미사(예: "300ms", "1.5h" 또는 "2h45m"가 있는 10진수의 부호 없는 기간 문자열이 필요합니다. 유효한 시간 단위는 "ns", "us"(또는 "us"), "ms", "s", "m", "h"입니다.

remediationTemplate

object

RemediationTemplate은 인프라 공급자가 제공하는 수정 템플릿에 대한 참조입니다. 이 필드는 완전히 선택 사항으로 채워지면 MachineHealthCheck 컨트롤러는 참조된 템플릿에서 새 오브젝트를 생성하고 머신 API Operator 외부에 있는 컨트롤러로 머신 수정을 종료합니다.

선택기

object

상태를 실행할 시스템과 일치하는 라벨 선택기입니다. 참고: 빈 선택기는 모든 시스템과 일치합니다.

unhealthyConditions

array

UnhealthyConditions에는 노드가 비정상으로 간주되는지 여부를 결정하는 조건 목록이 포함되어 있습니다. 조건은 논리 OR로 결합됩니다. 즉, 조건이 충족되면 노드가 비정상입니다.

unhealthyConditions[]

object

UnhealthyCondition은 기간으로 지정된 타임아웃이 있는 노드 조건 유형 및 값을 나타냅니다. named 조건이 적어도 타임아웃 값에 대해 지정된 상태에 있는 경우 노드는 비정상으로 간주됩니다.

8.1.2. .spec.remediationTemplate

설명
RemediationTemplate은 인프라 공급자가 제공하는 수정 템플릿에 대한 참조입니다. 이 필드는 완전히 선택 사항으로 채워지면 MachineHealthCheck 컨트롤러는 참조된 템플릿에서 새 오브젝트를 생성하고 머신 API Operator 외부에 있는 컨트롤러로 머신 수정을 종료합니다.
유형
object
속성유형설명

apiVersion

string

참조의 API 버전입니다.

fieldPath

string

전체 오브젝트 대신 오브젝트 조각을 참조하는 경우 이 문자열에는 desiredState.manifest.containers[2]와 같은 유효한 JSON/Go 필드 액세스 문이 포함되어야 합니다. 예를 들어 오브젝트 참조가 Pod 내의 컨테이너에 대한 경우 "spec.containers{name}"과 같은 값을 사용합니다(여기서 "name"은 이벤트를 트리거한 컨테이너 이름을 참조하거나 컨테이너 이름이 "spec.containers[2]"이 Pod에서 인덱스 2가 있는 컨테이너를 참조하는 경우). 이 구문은 오브젝트의 일부를 참조하는 잘 정의된 방법을 사용하는 경우에만 선택됩니다. TODO: 이 설계는 최종적이지 않으며 이 필드는 향후 변경될 수 있습니다.

kind

string

일종의 추천입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

name

string

추천자의 이름입니다. 자세한 내용은 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

네임스페이스

string

참조의 네임스페이스입니다. 자세한 내용은 https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

resourceVersion

string

이 참조가 수행되는 특정 resourceVersion(있는 경우). 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

uid

string

참조의 UID입니다. 자세한 내용은 https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

8.1.3. .spec.selector

설명
상태를 실행할 시스템과 일치하는 라벨 선택기입니다. 참고: 빈 선택기는 모든 시스템과 일치합니다.
유형
object
속성유형설명

matchExpressions

array

matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다.

matchExpressions[]

object

레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다.

matchLabels

오브젝트(문자열)

matchLabels는 {key,value} 쌍으로 구성된 맵입니다. matchLabels 맵의 단일 {key,value}는 키 필드가 "key"이고, 연산자는 "In"이고, values 배열에는 "value"만 포함된 matchExpressions 요소와 동일합니다. 요구 사항은 AND로 설정됩니다.

8.1.4. .spec.selector.matchExpressions

설명
matchExpressions는 라벨 선택기 요구 사항 목록입니다. 요구 사항은 AND로 설정됩니다.
유형
array

8.1.5. .spec.selector.matchExpressions[]

설명
레이블 선택기 요구 사항은 값, 키 및 키와 관련된 연산자를 포함하는 선택기입니다.
유형
object
필수 항목
  • key
  • operator
속성유형설명

key

string

key는 선택기가 적용되는 라벨 키입니다.

operator

string

Operator는 일련의 값과의 키 관계를 나타냅니다. 유효한 연산자는 In, NotIn, Exists 및 DoesNotExist입니다.

배열(문자열)

값은 문자열 값의 배열입니다. 연산자가 In 또는 NotIn인 경우 값 배열은 비어 있지 않아야 합니다. 연산자가 Exists 또는 DoesNotExist인 경우 값 배열은 비어 있어야 합니다. 이 배열은 전략적 병합 패치 중에 교체됩니다.

8.1.6. .spec.unhealthyConditions

설명
UnhealthyConditions에는 노드가 비정상으로 간주되는지 여부를 결정하는 조건 목록이 포함되어 있습니다. 조건은 논리 OR로 결합됩니다. 즉, 조건이 충족되면 노드가 비정상입니다.
유형
array

8.1.7. .spec.unhealthyConditions[]

설명
UnhealthyCondition은 기간으로 지정된 타임아웃이 있는 노드 조건 유형 및 값을 나타냅니다. named 조건이 적어도 타임아웃 값에 대해 지정된 상태에 있는 경우 노드는 비정상으로 간주됩니다.
유형
object
속성유형설명

status

string

 

timeout

string

각각 선택적 분수와 단위 접미사(예: "300ms", "1.5h" 또는 "2h45m"가 있는 10진수의 부호 없는 기간 문자열이 필요합니다. 유효한 시간 단위는 "ns", "us"(또는 "us"), "ms", "s", "m", "h"입니다.

type

string

 

8.1.8. .status

설명
최근 MachineHealthCheck 리소스의 상태
유형
object
속성유형설명

conditions

array

conditions는 MachineHealthCheck의 현재 상태를 정의합니다.

conditions[]

object

Condition은 Machine API 리소스 작동 상태를 관찰합니다.

currentHealthy

integer

이 머신 상태 점검에서 계산한 총 머신 수

expectedMachines

integer

이 머신 상태 점검에서 계산한 총 머신 수

remediationsAllowed

integer

RemediationsAllowed는 maxUnhealthy 단축 회로를 적용하기 전에 이 머신 상태 점검에서 허용하는 추가 수정 횟수입니다.

8.1.9. .status.conditions

설명
conditions는 MachineHealthCheck의 현재 상태를 정의합니다.
유형
array

8.1.10. .status.conditions[]

설명
Condition은 Machine API 리소스 작동 상태를 관찰합니다.
유형
object
속성유형설명

lastTransitionTime

string

조건이 한 상태에서 다른 상태로 전환된 마지막 시간입니다. 기본 조건이 변경된 경우여야 합니다. 이를 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다.

message

string

전환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. 이 필드는 비어 있을 수 있습니다.

reason

string

CamelCase에서 조건의 마지막 전환 이유는 다음과 같습니다. 특정 API는 이 필드가 보장된 API로 간주되는지 여부를 선택할 수 있습니다. 이 필드는 비어 있지 않을 수 있습니다.

심각도

string

심각도는 이유 코드에 대한 명시적 분류를 제공하므로 사용자 또는 머신이 현재 상황을 즉시 이해하고 그에 따라 조치를 취할 수 있습니다. 심각도 필드는 Status=False인 경우에만 설정해야 합니다.

status

string

조건의 상태, True, False, 알 수 없음.

type

string

CamelCase 또는 foo.example.com/CamelCase의 조건 유형입니다. 많은 .condition.type 값은 Available와 같은 리소스 간에 일관되지만 임의의 조건이 유용할 수 있으므로 (.node.status.conditions 참조), deconflict 기능이 중요합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.