16장. GatewayClass [gateway.networking.k8s.io/v1]
- 설명
GatewayClass는 사용자가 게이트웨이 리소스를 만드는 데 사용할 수 있는 게이트웨이 클래스를 설명합니다.
이 리소스를 게이트웨이의 템플릿으로 사용하는 것이 좋습니다. 즉, 게이트웨이는 생성 시 GatewayClass의 상태를 기반으로 하며 GatewayClass 또는 관련 매개변수에 대한 변경 사항은 기존 게이트웨이로 전파되지 않습니다. 이 권장 사항은 GatewayClass 또는 관련 매개변수로 변경의 마지막 반경을 제한하기 위한 것입니다. 구현에서 GatewayClass 변경 사항을 기존 게이트웨이에 전파하는 경우 구현에 따라 명확하게 문서화해야 합니다.
하나 이상의 게이트웨이에서 GatewayClass를 사용할 때마다 SHOULD 구현에서는 연결된 GatewayClass에서
gateway-exists-finalizer.gateway.networking.k8s.io
종료자를 추가합니다. 이렇게 하면 사용 중인 동안 게이트웨이와 연결된 GatewayClass가 삭제되지 않습니다.GatewayClass는 클러스터 수준 리소스입니다.
- 유형
-
object
- 필수 항목
-
spec
-
16.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은 GatewayClass의 원하는 상태를 정의합니다. |
|
| 상태는 GatewayClass의 현재 상태를 정의합니다. 구현은 컨트롤러 이름을 지정하는 모든 GatewayClass 리소스에 상태를 채워야 합니다. |
16.1.1. .spec 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- spec은 GatewayClass의 원하는 상태를 정의합니다.
- 유형
-
object
- 필수 항목
-
controllerName
-
속성 | 유형 | 설명 |
---|---|---|
|
| ControllerName은 이 클래스의 게이트웨이를 관리하는 컨트롤러의 이름입니다. 이 필드의 값은 도메인 접두사 경로여야 합니다. Example: "example.net/gateway-controller". 이 필드는 변경할 수 없으며 비워 둘 수 없습니다. 지원: Core |
|
| 설명은 GatewayClass에 대한 자세한 내용을 설명하는 데 도움이 됩니다. |
|
| ParametersRef는 GatewayClass에 해당하는 구성 매개변수를 포함하는 리소스에 대한 참조입니다. 컨트롤러에 추가 구성이 필요하지 않은 경우 선택 사항입니다. ParametersRef는 표준 Kubernetes 리소스(예: ConfigMap 또는 구현별 사용자 정의 리소스)를 참조할 수 있습니다. 리소스는 클러스터 범위 또는 네임스페이스 범위일 수 있습니다. 참조자를 찾을 수 없거나 지원되지 않는 종류를 참조하거나 해당 리소스 내의 데이터가 잘못된 형식인 경우 GatewayClass SHOULD는 "False"로 설정된 "Accepted" 상태 조건 및 "InvalidParameters" 이유와 함께 거부됩니다.
이 GatewayClass의 게이트웨이는 자체 지원: 구현별 |
16.1.2. .spec.parametersRef 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
ParametersRef는 GatewayClass에 해당하는 구성 매개변수를 포함하는 리소스에 대한 참조입니다. 컨트롤러에 추가 구성이 필요하지 않은 경우 선택 사항입니다.
ParametersRef는 표준 Kubernetes 리소스(예: ConfigMap 또는 구현별 사용자 정의 리소스)를 참조할 수 있습니다. 리소스는 클러스터 범위 또는 네임스페이스 범위일 수 있습니다.
참조자를 찾을 수 없거나 지원되지 않는 종류를 참조하거나 해당 리소스 내의 데이터가 잘못된 형식인 경우 GatewayClass SHOULD는 "False"로 설정된 "Accepted" 상태 조건 및 "InvalidParameters" 이유와 함께 거부됩니다.
이 GatewayClass의 게이트웨이는 자체
매개변수Ref
를 제공할 수 있습니다. 둘 다 지정되면 병합 동작이 구현됩니다. 일반적으로 GatewayClass는 Gateway에서 재정의할 수 있는 기본값을 제공하는 것이 좋습니다.지원: 구현별
- 유형
-
object
- 필수 항목
-
group
-
kind
-
name
-
속성 | 유형 | 설명 |
---|---|---|
|
| 그룹은 참조 그룹의 그룹입니다. |
|
| 이는 일종의 참조입니다. |
|
| 이름은 참조의 이름입니다. |
|
| 네임스페이스는 참조의 네임스페이스입니다. 이 필드는 네임스페이스 범위 리소스를 참조할 때 필요하며 클러스터 범위 리소스를 참조할 때 설정되지 않아야 합니다. |
16.1.3. .status 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
상태는 GatewayClass의 현재 상태를 정의합니다.
구현은 컨트롤러 이름을 지정하는 모든 GatewayClass 리소스에 상태를 채워야 합니다.
- 유형
-
object
속성 | 유형 | 설명 |
---|---|---|
|
| conditions는 이 GatewayClass에 대한 컨트롤러의 현재 상태입니다. 컨트롤러는 각 조건의 유형에 대해 GatewayClassConditionType 값을 사용하여 조건을 게시하는 것을 선호해야 합니다. |
|
| condition에는 이 API 리소스의 현재 상태에 대한 한 가지 측면에 대한 세부 정보가 포함되어 있습니다. |
16.1.4. .status.conditions 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
conditions는 이 GatewayClass에 대한 컨트롤러의 현재 상태입니다.
컨트롤러는 각 조건의 유형에 대해 GatewayClassConditionType 값을 사용하여 조건을 게시하는 것을 선호해야 합니다.
- 유형
-
array
16.1.5. .status.conditions[] 링크 복사링크가 클립보드에 복사되었습니다!
- 설명
- condition에는 이 API 리소스의 현재 상태에 대한 한 가지 측면에 대한 세부 정보가 포함되어 있습니다.
- 유형
-
object
- 필수 항목
-
lastTransitionTime
-
message
-
reason
-
status
-
type
-
재산 | 유형 | 설명 |
---|---|---|
|
| lastTransitionTime은 조건이 한 상태에서 다른 상태로 전환된 마지막 시간입니다. 이는 기본 조건이 변경된 시점이어야 합니다. 이를 알 수 없는 경우 API 필드가 변경된 시간을 사용합니다. |
|
| 메시지는 전환에 대한 세부 정보를 나타내는 사람이 읽을 수 있는 메시지입니다. 빈 문자열일 수 있습니다. |
|
| observedGeneration은 조건이 설정된 .metadata.generation을 나타냅니다. 예를 들어, .metadata.generation이 현재 12이지만 .status.conditions[x].observedGeneration이 9인 경우 해당 조건은 인스턴스의 현재 상태를 기준으로 오래되었습니다. |
|
| reason에는 조건의 마지막 전환에 대한 이유를 나타내는 프로그래밍 식별자가 포함되어 있습니다. 특정 조건 유형의 생산자는 이 필드에 대한 예상 값과 의미를 정의하고, 해당 값이 보장된 API로 간주되는지 여부를 결정할 수 있습니다. 값은 CamelCase 문자열이어야 합니다. 이 필드는 비어 있을 수 없습니다. |
|
| 조건의 상태는 True, False, Unknown 중 하나입니다. |
|
| CamelCase 또는 foo.example.com/CamelCase의 조건 유형입니다. |