9장. FeatureGate [config.openshift.io/v1]
- 설명
-
기능에는 기능 게이트에 대한 클러스터 전체 정보가 있습니다. 표준 이름은
클러스터
호환성 수준 1: 최소 12 개월 또는 3 개의 마이너 릴리스 (더 긴 버전)의 주요 릴리스 내에서 사용할 수 있습니다. - 유형
-
object
- 필수 항목
-
spec
-
9.1. 사양
속성 | 유형 | 설명 |
---|---|---|
|
| APIVersion은 버전이 지정된 이 오브젝트 표현의 스키마를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식되지 않는 값을 거부할 수 있습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
| kind는 이 오브젝트가 나타내는 REST 리소스에 해당하는 문자열 값입니다. 서버는 클라이언트에서 요청을 제출한 끝점에서 이를 유추할 수 있습니다. CamelCase로 업데이트할 수 없습니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| 표준 오브젝트의 메타데이터입니다. 자세한 내용은 https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata | |
|
| spec에는 구성에 대한 사용자 설정 가능 값이 있습니다. |
|
| status에는 클러스터에서 관찰된 값이 포함되어 있습니다. 재정의할 수 없습니다. |
9.1.1. .spec
- 설명
- spec에는 구성에 대한 사용자 설정 가능 값이 있습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
| `` | CustomNoUpgrade를 사용하면 모든 기능을 활성화 또는 비활성화할 수 있습니다. 이 기능을 켜는 것은 지원되지 않음, cannot SUPDONE, 그리고 PREVENTS UPGRADES입니다. 해당 특성으로 인해 이 설정을 검증할 수 없습니다. 오타가 있거나 실수로 잘못된 조합을 적용하는 경우 클러스터에서 복구할 수 없는 방식으로 실패할 수 있습니다. featureSet은 "CustomNoUpgrade"와 같아야 합니다. |
|
| featureSet은 클러스터의 기능 목록을 변경합니다. 기본값은 비어 있습니다. 이 설정을 신중하게 조정합니다. 기능을 켜거나 끄면 클러스터에서 되돌릴 수 없으므로 취소할 수 없습니다. |
9.1.2. .status
- 설명
- status에는 클러스터에서 관찰된 값이 포함되어 있습니다. 재정의할 수 없습니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| 조건은 현재 상태의 관찰을 나타냅니다. 알려진 .status.conditions.type은 "DeterminationDegraded"입니다. |
|
|
condition에는 이 API 리소스의 현재 상태에 대한 세부 정보가 포함됩니다. --- 이 구조는 필드 경로 .status.conditions에서 배열로 직접 사용하기 위한 것입니다. 예를 들어 FooStatus struct{ // foo의 현재 상태의 관찰을 나타냅니다. // knownn .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchStrategy=merge // +listType=map // +listKey=type // +listKey=type [] |
|
| FeatureGates에는 payloadVersion에서 키를 지정하는 enabled 및 disabled featureGates 목록이 포함되어 있습니다. CVO 및 cluster-config-operator 이외의 Operator는 .status.featureGates를 읽고, 관리 중인 버전을 찾고, 활성화/비활성화된 기능 게이트를 찾고, 피연산자와 Operator를 일치시켜야 합니다. 특정 버전에 대해 활성화된/비활성화된 값은 다양한 .spec.featureSet 값이 선택되면 클러스터 수명 동안 변경될 수 있습니다. Operator는 프로세스를 다시 시작하여 이러한 변경 사항을 선택하도록 선택할 수 있지만 이전에 활성화/비활성화된 목록은 이 API의 범위를 벗어나며 개별 Operator의 책임이 있습니다. ClusterVersion.status에서 .version이 있는 featureGates만 이 목록에 표시됩니다. |
|
|
9.1.3. .status.conditions
- 설명
- 조건은 현재 상태의 관찰을 나타냅니다. 알려진 .status.conditions.type은 "DeterminationDegraded"입니다.
- 유형
-
array
9.1.4. .status.conditions[]
- 설명
-
condition에는 이 API 리소스의 현재 상태에 대한 세부 정보가 포함됩니다. --- 이 구조는 필드 경로 .status.conditions에서 배열로 직접 사용하기 위한 것입니다. 예를 들어 FooStatus struct{ // foo의 현재 상태의 관찰을 나타냅니다. // knownn .status.conditions.type are: "Available", "Progressing", and "Degraded" // +patchStrategy=merge // +listType=map // +listKey=type // +listKey=type []
omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"
// 기타 필드 } - 유형
-
object
- 필수 항목
-
lastTransitionTime
-
message
-
reason
-
status
-
type
-
속성 | 유형 | 설명 |
---|---|---|
|
| lastTransitionTime은 마지막으로 한 상태에서 다른 상태로 전환된 시간입니다. 기본 조건이 변경된 경우여야 합니다. 이를 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다. |
|
| message는 변환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. 빈 문자열일 수 있습니다. |
|
| observedGeneration은 조건에 따라 설정된 .metadata.generation을 나타냅니다. 예를 들어 .metadata.generation이 현재 12이지만 .status.conditions[x].observedGeneration이 9인 경우 현재 인스턴스 상태와 관련된 조건이 최신 상태가 아닙니다. |
|
| 이유에는 조건의 마지막 전환 이유를 나타내는 프로그래밍 식별자가 포함되어 있습니다. 특정 조건 유형의 생산자는 이 필드에 예상되는 값과 의미를 정의할 수 있으며 값이 보장된 API로 간주되는지 여부를 정의할 수 있습니다. 값은 CamelCase 문자열이어야 합니다. 이 필드는 비어 있지 않을 수 있습니다. |
|
| 조건의 상태, True, False, 알 수 없음. |
|
| CamelCase 또는 foo.example.com/CamelCase의 조건 유형. --- many .condition.type 값은 Available와 같은 리소스 간에 일관되지만 임의의 조건이 유용할 수 있으므로 (.node.status.conditions 참조), deconflict 기능이 중요합니다. 정규 표현식이 일치하는 정규 표현식은 (dns1123SubdomainFmt/)?(qualifiedNameFmt)입니다. |
9.1.5. .status.featureGates
- 설명
- FeatureGates에는 payloadVersion에서 키를 지정하는 enabled 및 disabled featureGates 목록이 포함되어 있습니다. CVO 및 cluster-config-operator 이외의 Operator는 .status.featureGates를 읽고, 관리 중인 버전을 찾고, 활성화/비활성화된 기능 게이트를 찾고, 피연산자와 Operator를 일치시켜야 합니다. 특정 버전에 대해 활성화된/비활성화된 값은 다양한 .spec.featureSet 값이 선택되면 클러스터 수명 동안 변경될 수 있습니다. Operator는 프로세스를 다시 시작하여 이러한 변경 사항을 선택하도록 선택할 수 있지만 이전에 활성화/비활성화된 목록은 이 API의 범위를 벗어나며 개별 Operator의 책임이 있습니다. ClusterVersion.status에서 .version이 있는 featureGates만 이 목록에 표시됩니다.
- 유형
-
array
9.1.6. .status.featureGates[]
- 설명
- 유형
-
object
- 필수 항목
-
version
-
속성 | 유형 | 설명 |
---|---|---|
|
| disabled는 이름이 지정된 버전에 대해 클러스터에서 비활성화된 모든 기능 게이트 목록입니다. |
|
| |
|
| enabled는 이름이 지정된 버전에 대해 클러스터에서 활성화된 모든 기능 게이트 목록입니다. |
|
| |
|
| Version은 ClusterVersion 및 ClusterOperator.Status.Versions 필드에서 제공하는 버전과 일치합니다. |
9.1.7. .status.featureGates[].disabled
- 설명
- disabled는 이름이 지정된 버전에 대해 클러스터에서 비활성화된 모든 기능 게이트 목록입니다.
- 유형
-
array
9.1.8. .status.featureGates[].disabled[]
- 설명
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 FeatureGate의 이름입니다. |
9.1.9. .status.featureGates[].enabled
- 설명
- enabled는 이름이 지정된 버전에 대해 클러스터에서 활성화된 모든 기능 게이트 목록입니다.
- 유형
-
array
9.1.10. .status.featureGates[].enabled[]
- 설명
- 유형
-
object
- 필수 항목
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| name은 FeatureGate의 이름입니다. |