9장. Machine [machine.openshift.io/v1beta1]


설명
머신은 최소 9 개월 또는 3 개의 마이너 릴리스 (더 긴 버전) 동안 시스템 API 호환성 수준 2의 스키마입니다.
유형
object

9.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

MachineSpec은 원하는 머신 상태를 정의합니다.

status

object

MachineStatus는 머신의 관찰 상태를 정의합니다.

9.1.1. .spec

설명
MachineSpec은 원하는 머신 상태를 정의합니다.
유형
object
속성유형설명

lifecycleHooks

object

LifecycleHooks를 사용하면 머신 라이프사이클 내에서 사전 정의된 특정 시점에서 머신에서 작업을 일시 중지할 수 있습니다.

메타데이터

object

ObjectMeta가 생성된 노드를 자동으로 채웁니다. 이를 사용하여 노드를 생성할 때 사용해야 하는 레이블, 주석, 이름 접두사 등을 나타냅니다.

providerID

string

providerID는 공급자가 제공하는 머신의 ID입니다. 이 필드는 이 머신에 해당하는 노드 오브젝트에 표시된 공급자 ID와 일치해야 합니다. 이 필드는 cluster-api의 상위 수준 소비자에 필요합니다. 사용 사례는 cluster-api가 공급자인 클러스터 자동 스케일러입니다. 자동 스케일러의 정리 논리는 머신을 노드와 비교하여 Kubernetes 노드로 등록할 수 없는 공급자의 시스템을 찾습니다. 자동 스케일러의 일반 out-of-tree 공급자인 cluster-api를 사용하면 자동 스케일러에 시스템 목록의 공급자 보기를 사용할 수 있어야 합니다. k8s apiserver에서 다른 노드 목록을 쿼리한 다음, 등록되지 않은 시스템을 확인하기 위해 비교가 수행되며 삭제로 표시됩니다. 이 필드는 액추에이터에 의해 설정되며 일반 공급자로서 cluster-api와 상호 작용할 자동 스케일러와 같은 상위 수준 엔티티에서 사용합니다.

providerSpec

object

노드 생성 중에 사용할 providerSpec 세부 정보 공급자별 구성입니다.

테인트

array

추가 방식으로 해당 노드에 적용할 테인트 목록입니다. 이 목록은 다른 엔티티에 의해 지속적으로 노드에 추가된 다른 테인트를 덮어쓰지 않습니다. 예를 들어 머신 컨트롤러에서 테인트를 적용하도록 요청한 다음 테인트를 수동으로 제거하도록 요청하는 경우 이러한 테인트를 적극적으로 조정해야 하지만 머신 컨트롤러에서 테인트를 제거하지는 않습니다.

taints[]

object

이 테인트가 연결된 노드에는 테인트를 허용하지 않는 Pod에 "효과"가 있습니다.

9.1.2. .spec.lifecycleHooks

설명
LifecycleHooks를 사용하면 머신 라이프사이클 내에서 사전 정의된 특정 시점에서 머신에서 작업을 일시 중지할 수 있습니다.
유형
object
속성유형설명

preDrain

array

PreDrain 후크를 사용하면 시스템이 드레이닝되지 않습니다. 또한 종료와 같은 추가 라이프사이클 이벤트가 차단됩니다.

preDrain[]

object

LifecycleHook은 라이프사이클 후크의 단일 인스턴스를 나타냅니다.

preTerminate

array

사전 종료 후크를 사용하면 시스템이 종료되지 않습니다. 사전 종료 후크는 머신이 드레인된 후 작동합니다.

preTerminate[]

object

LifecycleHook은 라이프사이클 후크의 단일 인스턴스를 나타냅니다.

9.1.3. .spec.lifecycleHooks.preDrain

설명
PreDrain 후크를 사용하면 시스템이 드레이닝되지 않습니다. 또한 종료와 같은 추가 라이프사이클 이벤트가 차단됩니다.
유형
array

9.1.4. .spec.lifecycleHooks.preDrain[]

설명
LifecycleHook은 라이프사이클 후크의 단일 인스턴스를 나타냅니다.
유형
object
필수 항목
  • name
  • 소유자
속성유형설명

name

string

name은 lifcycle 후크의 고유한 이름을 정의합니다. 이름은 CamelCase에서 고유하고 설명적으로 1~3단어여야 하며, 네임스페이스(예: foo.example.com/CamelCase)여야 합니다. 이름은 고유해야 하며 단일 엔티티에서만 관리해야 합니다.

소유자

string

owner는 라이프사이클 후크의 소유자를 정의합니다. 이는 사용자가 라이프사이클 차단을 담당하는 사람/누구를 식별할 수 있도록 충분히 설명해야 합니다. 컨트롤러의 이름(예: clusteroperator/etcd) 또는 후크를 관리하는 관리자일 수 있습니다.

9.1.5. .spec.lifecycleHooks.preTerminate

설명
사전 종료 후크를 사용하면 시스템이 종료되지 않습니다. 사전 종료 후크는 머신이 드레인된 후 작동합니다.
유형
array

9.1.6. .spec.lifecycleHooks.preTerminate[]

설명
LifecycleHook은 라이프사이클 후크의 단일 인스턴스를 나타냅니다.
유형
object
필수 항목
  • name
  • 소유자
속성유형설명

name

string

name은 lifcycle 후크의 고유한 이름을 정의합니다. 이름은 CamelCase에서 고유하고 설명적으로 1~3단어여야 하며, 네임스페이스(예: foo.example.com/CamelCase)여야 합니다. 이름은 고유해야 하며 단일 엔티티에서만 관리해야 합니다.

소유자

string

owner는 라이프사이클 후크의 소유자를 정의합니다. 이는 사용자가 라이프사이클 차단을 담당하는 사람/누구를 식별할 수 있도록 충분히 설명해야 합니다. 컨트롤러의 이름(예: clusteroperator/etcd) 또는 후크를 관리하는 관리자일 수 있습니다.

9.1.7. .spec.metadata

설명
ObjectMeta가 생성된 노드를 자동으로 채웁니다. 이를 사용하여 노드를 생성할 때 사용해야 하는 레이블, 주석, 이름 접두사 등을 나타냅니다.
유형
object
속성유형설명

annotations

오브젝트(문자열)

주석은 임의의 메타데이터를 저장 및 검색하기 위해 외부 툴에서 설정할 수 있는 리소스와 함께 저장되는 구조화되지 않은 키 값 맵입니다. 오브젝트를 수정할 때 쿼리할 수 없으며 보존해야 합니다. 자세한 내용은 http://kubernetes.io/docs/user-guide/annotations

generateName

string

generateName은 서버에서 사용하는 선택적 접두사로, Name 필드가 제공되지 않은 고유한 이름만 생성하는 데 사용됩니다. 이 필드를 사용하면 클라이언트에 반환되는 이름이 전달된 이름과 다릅니다. 이 값은 고유한 접미사와 결합됩니다. 제공된 값은 Name 필드와 동일한 검증 규칙을 가지며 서버에서 고유 값을 만드는 데 필요한 접미사 길이로 잘릴 수 있습니다. 이 필드가 지정되고 생성된 이름이 있는 경우 서버는 409를 반환하지 않습니다. 대신 201 Created 또는 500을 반환합니다. Reason ServerTimeout은 할당된 시간에 고유 이름을 찾을 수 없으며 클라이언트가 재시도해야 함을 나타냅니다(선택적으로 Retry-After 헤더에 표시된 시간 후). Name이 지정되지 않은 경우에만 적용됩니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency

labels

오브젝트(문자열)

개체를 구성 및 분류(범위 및 선택)하는 데 사용할 수 있는 문자열 키와 값의 맵입니다. 복제 컨트롤러 및 서비스의 선택기와 일치할 수 있습니다. 자세한 내용은 http://kubernetes.io/docs/user-guide/labels

name

string

이름은 네임스페이스 내에서 고유해야 합니다. 일부 리소스는 클라이언트가 적절한 이름의 생성을 자동으로 요청할 수 있지만 리소스를 생성할 때 필요합니다. 이름은 주로 생성 멱등 및 구성 정의를 위한 것입니다. CamelCase로 자세한 내용은 http://kubernetes.io/docs/user-guide/identifiers#names

네임스페이스

string

namespace는 각 이름 내의 공간을 고유해야 합니다. 빈 네임스페이스는 "default" 네임스페이스와 동일하지만 "default"는 표준 표현입니다. 모든 오브젝트의 범위를 네임스페이스로 지정해야 하는 것은 아닙니다. 해당 오브젝트에 대한 이 필드의 값은 비어 있습니다. DNS_LABEL이어야 합니다. CamelCase로 자세한 내용은 http://kubernetes.io/docs/user-guide/namespaces

OwnerReferences

array

이 오브젝트에서 사용하는 오브젝트 목록입니다. 목록에 있는 모든 개체가 삭제된 경우 이 개체는 가비지 수집됩니다. 컨트롤러에서 이 오브젝트를 관리하는 경우 이 목록의 항목이 이 컨트롤러를 가리키며 controller 필드가 true로 설정됩니다. 컨트롤러가 여러 개 있을 수 없습니다.

ownerReferences[]

object

OwnerReference에는 소유 개체를 식별할 수 있는 충분한 정보가 포함되어 있습니다. 소유 오브젝트는 종속 항목과 동일한 네임스페이스에 있거나 클러스터 범위여야 하므로 네임스페이스 필드가 없습니다.

9.1.8. .spec.metadata.ownerReferences

설명
이 오브젝트에서 사용하는 오브젝트 목록입니다. 목록에 있는 모든 개체가 삭제된 경우 이 개체는 가비지 수집됩니다. 컨트롤러에서 이 오브젝트를 관리하는 경우 이 목록의 항목이 이 컨트롤러를 가리키며 controller 필드가 true로 설정됩니다. 컨트롤러가 여러 개 있을 수 없습니다.
유형
array

9.1.9. .spec.metadata.ownerReferences[]

설명
OwnerReference에는 소유 개체를 식별할 수 있는 충분한 정보가 포함되어 있습니다. 소유 오브젝트는 종속 항목과 동일한 네임스페이스에 있거나 클러스터 범위여야 하므로 네임스페이스 필드가 없습니다.
유형
object
필수 항목
  • apiVersion
  • kind
  • name
  • uid
속성유형설명

apiVersion

string

참조의 API 버전입니다.

blockOwnerDeletion

boolean

If true, and if the owner has the "foreworkspaceDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. 가비지 수집기가 이 필드와 상호 작용하고 전경 삭제를 적용하는 방법은 https://kubernetes.io/docs/concepts/architecture/garbage-collection/#foreground-deletion 를 참조하십시오. 기본값은 false입니다. 이 필드를 설정하려면 사용자에게 소유자의 "삭제" 권한이 필요하며, 그렇지 않으면 422(프로세스할 수 없는 엔티티)가 반환됩니다.

controller

boolean

true인 경우 이 참조는 관리 컨트롤러를 가리킵니다.

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

uid

string

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

9.1.10. .spec.providerSpec

설명
노드 생성 중에 사용할 providerSpec 세부 정보 공급자별 구성입니다.
유형
object
속성유형설명

value

``

value는 리소스 구성을 인라인으로 직렬화한 표현입니다. 공급자는 이 필드에서 직렬화/직렬화해야 하는 자체 버전이 지정된 API 유형을 구성 요소와 유사한 상태로 유지하는 것이 좋습니다.

9.1.11. .spec.taints

설명
추가 방식으로 해당 노드에 적용할 테인트 목록입니다. 이 목록은 다른 엔티티에 의해 지속적으로 노드에 추가된 다른 테인트를 덮어쓰지 않습니다. 예를 들어 머신 컨트롤러에서 테인트를 적용하도록 요청한 다음 테인트를 수동으로 제거하도록 요청하는 경우 이러한 테인트를 적극적으로 조정해야 하지만 머신 컨트롤러에서 테인트를 제거하지는 않습니다.
유형
array

9.1.12. .spec.taints[]

설명
이 테인트가 연결된 노드에는 테인트를 허용하지 않는 Pod에 "효과"가 있습니다.
유형
object
필수 항목
  • effect
  • key
속성유형설명

effect

string

필수 항목입니다. 테인트를 허용하지 않는 pod에 테인트의 영향을 미칩니다. 유효한 영향은 NoSchedule, PreferNoSchedule 및 NoExecute입니다.

key

string

필수 항목입니다. 노드에 적용할 taint 키입니다.

timeAdded

string

TimeAdded는 테인트가 추가된 시간을 나타냅니다. NoExecute 테인트에만 작성됩니다.

value

string

taint 키에 해당하는 taint 값입니다.

9.1.13. .status

설명
MachineStatus는 머신의 관찰 상태를 정의합니다.
유형
object
속성유형설명

주소

array

address는 시스템에 할당된 주소 목록입니다. 사용 가능한 경우 클라우드 공급자에서 쿼리합니다.

addresses[]

object

NodeAddress에는 노드 주소에 대한 정보가 포함되어 있습니다.

conditions

array

조건은 머신의 현재 상태를 정의합니다.

conditions[]

object

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

errorMessage

string

시스템 조정 터미널 문제가 있는 경우 errorMessage가 설정되며 로깅 및 사용자 소비에 적합한 더 자세한 문자열이 포함됩니다. 이 필드는 시간이 지남에 따라 컨트롤러가 자동으로 수정될 것으로 예상되는 전송 오류(예: 서비스 중단)에 대해 설정하지 않아야 하지만 대신 머신 사양 또는 컨트롤러 구성에 근본적으로 문제가 있음을 나타내며 수동 개입이 필요하다는 것을 나타냅니다. 터미널 오류의 예로는 사양의 설정이 유효하지 않거나, 컨트롤러에서 지원하지 않는 값 또는 담당 컨트롤러 자체가 매우 잘못 구성되어 있습니다. 머신 조정 중에 발생하는 일시적인 오류는 머신 오브젝트에 이벤트로 추가 및/또는 컨트롤러의 출력에 로그인할 수 있습니다.

errorReason

string

ErrorReason은 머신을 조정하는데 터미널 문제가 있는 경우 설정되며, 머신 해석에 적합한 succinct 값을 포함합니다. 이 필드는 시간이 지남에 따라 컨트롤러가 자동으로 수정될 것으로 예상되는 전송 오류(예: 서비스 중단)에 대해 설정하지 않아야 하지만 대신 머신 사양 또는 컨트롤러 구성에 근본적으로 문제가 있음을 나타내며 수동 개입이 필요하다는 것을 나타냅니다. 터미널 오류의 예로는 사양의 설정이 유효하지 않거나, 컨트롤러에서 지원하지 않는 값 또는 담당 컨트롤러 자체가 매우 잘못 구성되어 있습니다. 머신 조정 중에 발생하는 일시적인 오류는 머신 오브젝트에 이벤트로 추가 및/또는 컨트롤러의 출력에 로그인할 수 있습니다.

lastOperation

object

LastOperation은 machine-controller에서 수행한 마지막 작동을 설명합니다. 이 API는 특정 머신에서 수행되는 최신 작업의 관점에서 기록으로 유용할 수 있습니다. 또한 최신 작동 상태를 전달해야 합니다. 예를 들어 계속 진행 중이거나 실패하거나 성공적으로 완료된 경우입니다.

lastUpdated

string

LastUpdated는 이 상태가 마지막으로 관찰된 시기를 식별합니다.

nodeRef

object

NodeRef는 해당 노드가 있는 경우 해당 노드를 가리킵니다.

phase

string

단계(Step)는 머신 작동의 현재 단계를 나타냅니다. 다음 중 하나: Failed, Provisioning, Provisioned, Running, Deleting

providerStatus

``

providerStatus는 공급자별 상태를 자세히 설명합니다. 공급자는 이 필드에서 직렬화/직렬화해야 하는 자체 버전의 API 유형을 유지 관리하는 것이 좋습니다.

9.1.14. .status.addresses

설명
address는 시스템에 할당된 주소 목록입니다. 사용 가능한 경우 클라우드 공급자에서 쿼리합니다.
유형
array

9.1.15. .status.addresses[]

설명
NodeAddress에는 노드 주소에 대한 정보가 포함되어 있습니다.
유형
object
필수 항목
  • address
  • type
속성유형설명

address

string

노드 주소입니다.

type

string

노드 주소 유형, 호스트 이름, ExternalIP 또는 InternalIP 중 하나

9.1.16. .status.conditions

설명
조건은 머신의 현재 상태를 정의합니다.
유형
array

9.1.17. .status.conditions[]

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

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 기능이 중요합니다.

9.1.18. .status.lastOperation

설명
LastOperation은 machine-controller에서 수행한 마지막 작동을 설명합니다. 이 API는 특정 머신에서 수행되는 최신 작업의 관점에서 기록으로 유용할 수 있습니다. 또한 최신 작동 상태를 전달해야 합니다. 예를 들어 계속 진행 중이거나 실패하거나 성공적으로 완료된 경우입니다.
유형
object
속성유형설명

description

string

설명은 마지막 작업에 대해 사람이 읽을 수 있는 설명입니다.

lastUpdated

string

LastUpdated는 LastOperation API가 마지막으로 업데이트된 타임스탬프입니다.

상태

string

state는 마지막으로 수행된 작업의 현재 상태입니다. 예: 처리, 실패, 성공 등

type

string

type은 마지막으로 수행된 작업 유형입니다. 예: 생성, 삭제, 업데이트 등

9.1.19. .status.nodeRef

설명
NodeRef는 해당 노드가 있는 경우 해당 노드를 가리킵니다.
유형
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

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.