ValidatingWebhookConfiguration
ValidatingWebhookConfiguration (검증형 웹훅 구성)
ValidatingWebhookConfiguration은 객체를 변경하지 않고 승인하거나 거부하는 admission 웹훅의 구성을 설명합니다.
본문
ValidatingWebhookConfiguration
apiVersion: admissionregistration.k8s.io/v1
import "k8s.io/api/admissionregistration/v1"
ValidatingWebhookConfiguration
ValidatingWebhookConfiguration describes the configuration of and admission webhook that accept or reject and object without changing it.
| Field | Description |
|---|---|
| apiVersion string |
APIVersion은 이 객체 표현의 버전이 붙은 스키마(versioned schema)를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식할 수 없는 값은 거부할 수 있습니다. 자세한 정보: 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 |
| metadata ObjectMeta |
metadata는 표준 객체 메타데이터입니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata. |
| webhooks ValidatingWebhook array patch strategy: merge on key name |
webhooks는 웹훅들과 이들이 영향받는 리소스 및 연산의 목록입니다. |
ValidatingWebhookConfigurationList
ValidatingWebhookConfigurationList is a list of ValidatingWebhookConfiguration.
| Field | Description |
|---|---|
| apiVersion string |
APIVersion은 이 객체 표현의 버전이 붙은 스키마(versioned schema)를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식할 수 없는 값은 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
| items * ValidatingWebhookConfiguration array |
ValidatingWebhookConfiguration의 목록입니다. |
| kind string |
Kind는 이 객체가 나타내는 REST 리소스를 나타내는 문자열 값입니다. 서버는 클라이언트가 요청을 제출하는 엔드포인트에서 이를 유추할 수 있습니다. 업데이트할 수 없습니다. CamelCase를 사용합니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
| metadata ListMeta |
metadata는 표준 목록 메타데이터입니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
ValidatingWebhook
ValidatingWebhook describes an admission webhook and the resources and operations it applies to.
| Field | Description |
|---|---|
| admissionReviewVersions * string array |
admissionReviewVersions는 웹훅이 기대하는 선호 AdmissionReview 버전들의 순서가 있는 목록입니다. API 서버는 목록에서 자신이 지원하는 첫 번째 버전을 사용하려고 합니다. 이 목록에 지정된 버전 중 API 서버가 지원하는 버전이 없으면 이 객체의 검증(validation)은 실패합니다. 영속화된 웹훅 구성이 허용 버전을 지정했지만 API 서버가 아는 버전을 포함하지 않는 경우, 웹훅 호출은 실패하며 failure policy가 적용됩니다. |
| clientConfig * WebhookClientConfig |
clientConfig는 훅과 통신하는 방법을 정의합니다. 필수입니다. |
| failurePolicy string |
failurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Fail. Possible enum values: - "Fail" means that an error calling the webhook causes the admission to fail. - "Ignore" means that an error calling the webhook is ignored. |
| matchConditions MatchCondition array patch strategy: merge on key name |
matchConditions is a list of conditions that must be met for a request to be sent to this webhook. Match conditions filter requests that have already been matched by the rules, namespaceSelector, and objectSelector. An empty list of matchConditions matches all requests. There are a maximum of 64 match conditions allowed. The exact matching logic is (in order): 1. If ANY matchCondition evaluates to FALSE, the webhook is skipped. 2. If ALL matchConditions evaluate to TRUE, the webhook is called. 3. If any matchCondition evaluates to an error (but none are FALSE): - If failurePolicy=Fail, reject the request - If failurePolicy=Ignore, the error is ignored and the webhook is skipped |
| matchPolicy string |
matchPolicy defines how the "rules" list is used to match incoming requests. Allowed values are "Exact" or "Equivalent". - Exact: match a request only if it exactly matches a specified rule. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, but "rules" only included apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], a request to apps/v1beta1 or extensions/v1beta1 would not be sent to the webhook. - Equivalent: match a request if modifies a resource listed in rules, even via another API group or version. For example, if deployments can be modified via apps/v1, apps/v1beta1, and extensions/v1beta1, and "rules" only included apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"], a request to apps/v1beta1 or extensions/v1beta1 would be converted to apps/v1 and sent to the webhook. Defaults to "Equivalent" Possible enum values: - "Equivalent" means requests should be sent to the webhook if they modify a resource listed in rules via another API group or version. - "Exact" means requests should only be sent to the webhook if they exactly match a given rule. |
| name * string |
name은 admission 웹훅의 이름입니다. 이름은 정규화된 형식이어야 합니다. 예를 들어 imagepolicy.kubernetes.io에서 "imagepolicy"는 웹훅 이름이고 kubernetes.io는 조직 이름입니다. 필수입니다. |
| namespaceSelector LabelSelector |
namespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook. For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] } If instead you want to only run the webhook on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] } See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels for more examples of label selectors. Default to the empty LabelSelector, which matches everything. |
| objectSelector LabelSelector |
objectSelector decides whether to run the webhook based on if the object has matching labels. objectSelector is evaluated against both the oldObject and newObject that would be sent to the webhook, and is considered to match if either object matches the selector. A null object (oldObject in the case of create, or newObject in the case of delete) or an object that cannot have labels (like a DeploymentRollback or a PodProxyOptions object) is not considered to match. Use the object selector only if the webhook is opt-in, because end users may skip the admission webhook by setting the labels. Default to the empty LabelSelector, which matches everything. |
| rules RuleWithOperations array |
rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches any Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects. |
| sideEffects * string |
sideEffects states whether this webhook has side effects. Acceptable values are: None, NoneOnDryRun (webhooks created via v1beta1 may also specify Some or Unknown). Webhooks with side effects MUST implement a reconciliation system, since a request may be rejected by a future step in the admission chain and the side effects therefore need to be undone. Requests with the dryRun attribute will be auto-rejected if they match a webhook with sideEffects == Unknown or Some. Possible enum values: - "None" means that calling the webhook will have no side effects. - "NoneOnDryRun" means that calling the webhook will possibly have side effects, but if the request being reviewed has the dry-run attribute, the side effects will be suppressed. - "Some" means that calling the webhook will possibly have side effects. If a request with the dry-run attribute would trigger a call to this webhook, the request will instead fail. - "Unknown" means that no information is known about the side effects of calling the webhook. If a request with the dry-run attribute would trigger a call to this webhook, the request will instead fail. |
| timeoutSeconds integer |
timeoutSeconds는 이 웹훅의 타임아웃을 지정합니다. 타임아웃이 지나면 failure policy에 따라 웹훅 호출이 무시되거나 API 호출이 실패합니다. 타임아웃 값은 1~30초 사이여야 하며 기본값은 10초입니다. |
연산 (Operations)
post Create
HTTP 요청 (HTTP Request)
POST /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
| dryRun | string | 설정되면 수정 사항이 영속화(persist)되지 않아야 함을 나타냅니다. 유효하지 않거나 인식할 수 없는 dryRun 지시어는 오류 응답을 초래하며 요청을 더 이상 처리하지 않습니다. 허용 값: - All: 모든 dry run 단계가 처리됩니다. |
| fieldManager | string | fieldManager는 이러한 변경을 수행하는 주체(actor)나 엔터티와 연결된 이름입니다. 값은 128자 이하이어야 하며, https://golang.org/pkg/unicode/#IsPrint 에 정의된 대로 인쇄 가능한 문자만 포함해야 합니다. |
| fieldValidation | string | fieldValidation은 알 수 없는(unknown) 필드나 중복(duplicate) 필드를 포함하는 요청(POST/PUT/PATCH) 객체를 서버가 어떻게 처리할지 지시합니다. 허용 값: - Ignore: 객체에서 조용히 제거되는 모든 unknown 필드를 무시하고, 디코더가 만나는 중복 필드 중 마지막을 제외한 모든 필드를 무시합니다. v1.23 이전의 기본 동작입니다. - Warn: 객체에서 제거되는 각 unknown 필드와 만나는 각 중복 필드에 대해 표준 warning 응답 헤더로 경고를 보냅니다. 다른 오류가 없다면 요청은 여전히 성공하며 중복 필드 중 마지막 값만 영속화합니다. v1.23+의 기본 동작입니다. - Strict: 객체에서 unknown 필드가 제거되거나 중복 필드가 존재하면 BadRequest 오류로 요청을 실패시킵니다. 서버가 반환하는 오류에는 발견된 모든 unknown/duplicate 필드가 포함됩니다. |
본문 매개변수 (Body Parameters)
| Name | Type | Description |
|---|---|---|
| body | ValidatingWebhookConfiguration |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | ValidatingWebhookConfiguration |
| 201 | Created | ValidatingWebhookConfiguration |
| 202 | Accepted | ValidatingWebhookConfiguration |
patch Patch
HTTP 요청 (HTTP Request)
PATCH /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | ValidatingWebhookConfiguration의 이름입니다. |
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
| dryRun | string | 설정되면 수정 사항이 영속화(persist)되지 않아야 함을 나타냅니다. 유효하지 않거나 인식할 수 없는 dryRun 지시어는 오류 응답을 초래하며 요청을 더 이상 처리하지 않습니다. 허용 값: - All: 모든 dry run 단계가 처리됩니다. |
| fieldManager | string | fieldManager는 이러한 변경을 수행하는 주체(actor)나 엔터티와 연결된 이름입니다. 값은 128자 이하이어야 하며, https://golang.org/pkg/unicode/#IsPrint 에 정의된 대로 인쇄 가능한 문자만 포함해야 합니다. 이 필드는 apply 요청(application/apply-patch)에는 필수이며, apply가 아닌 patch 유형(JsonPatch, MergePatch, StrategicMergePatch)에는 선택 사항입니다. |
| fieldValidation | string | fieldValidation은 알 수 없는(unknown) 필드나 중복(duplicate) 필드를 포함하는 요청(POST/PUT/PATCH) 객체를 서버가 어떻게 처리할지 지시합니다. 허용 값: - Ignore: 객체에서 조용히 제거되는 모든 unknown 필드를 무시하고, 디코더가 만나는 중복 필드 중 마지막을 제외한 모든 필드를 무시합니다. v1.23 이전의 기본 동작입니다. - Warn: 객체에서 제거되는 각 unknown 필드와 만나는 각 중복 필드에 대해 표준 warning 응답 헤더로 경고를 보냅니다. 다른 오류가 없다면 요청은 여전히 성공하며 중복 필드 중 마지막 값만 영속화합니다. v1.23+의 기본 동작입니다. - Strict: 객체에서 unknown 필드가 제거되거나 중복 필드가 존재하면 BadRequest 오류로 요청을 실패시킵니다. 서버가 반환하는 오류에는 발견된 모든 unknown/duplicate 필드가 포함됩니다. |
| force | boolean | Force는 Apply 요청을 "강제(force)"하는 데 사용됩니다. 즉 사용자가 다른 사람이 소유한 충돌 필드를 다시 획득하게 됩니다. apply가 아닌 patch 요청에서는 Force 플래그가 설정되지 않은 상태여야 합니다. |
본문 매개변수 (Body Parameters)
| Name | Type | Description |
|---|---|---|
| body | Patch |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | ValidatingWebhookConfiguration |
| 201 | Created | ValidatingWebhookConfiguration |
put Replace
HTTP 요청 (HTTP Request)
PUT /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | ValidatingWebhookConfiguration의 이름입니다. |
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
| dryRun | string | 설정되면 수정 사항이 영속화(persist)되지 않아야 함을 나타냅니다. 유효하지 않거나 인식할 수 없는 dryRun 지시어는 오류 응답을 초래하며 요청을 더 이상 처리하지 않습니다. 허용 값: - All: 모든 dry run 단계가 처리됩니다. |
| fieldManager | string | fieldManager는 이러한 변경을 수행하는 주체(actor)나 엔터티와 연결된 이름입니다. 값은 128자 이하이어야 하며, https://golang.org/pkg/unicode/#IsPrint 에 정의된 대로 인쇄 가능한 문자만 포함해야 합니다. |
| fieldValidation | string | fieldValidation은 알 수 없는(unknown) 필드나 중복(duplicate) 필드를 포함하는 요청(POST/PUT/PATCH) 객체를 서버가 어떻게 처리할지 지시합니다. 허용 값: - Ignore: 객체에서 조용히 제거되는 모든 unknown 필드를 무시하고, 디코더가 만나는 중복 필드 중 마지막을 제외한 모든 필드를 무시합니다. v1.23 이전의 기본 동작입니다. - Warn: 객체에서 제거되는 각 unknown 필드와 만나는 각 중복 필드에 대해 표준 warning 응답 헤더로 경고를 보냅니다. 다른 오류가 없다면 요청은 여전히 성공하며 중복 필드 중 마지막 값만 영속화합니다. v1.23+의 기본 동작입니다. - Strict: 객체에서 unknown 필드가 제거되거나 중복 필드가 존재하면 BadRequest 오류로 요청을 실패시킵니다. 서버가 반환하는 오류에는 발견된 모든 unknown/duplicate 필드가 포함됩니다. |
본문 매개변수 (Body Parameters)
| Name | Type | Description |
|---|---|---|
| body | ValidatingWebhookConfiguration |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | ValidatingWebhookConfiguration |
| 201 | Created | ValidatingWebhookConfiguration |
delete Delete
HTTP 요청 (HTTP Request)
DELETE /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | ValidatingWebhookConfiguration의 이름입니다. |
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
| dryRun | string | 설정되면 수정 사항이 영속화(persist)되지 않아야 함을 나타냅니다. 유효하지 않거나 인식할 수 없는 dryRun 지시어는 오류 응답을 초래하며 요청을 더 이상 처리하지 않습니다. 허용 값: - All: 모든 dry run 단계가 처리됩니다. |
| gracePeriodSeconds | integer | 객체가 삭제되기까지의 시간(초)입니다. 값은 음이 아닌 정수여야 합니다. 값 0은 즉시 삭제를 의미합니다. 이 값이 nil이면 지정된 유형의 기본 유예 기간(grace period)이 사용됩니다. 지정하지 않으면 객체별 기본값이 적용됩니다. 0은 즉시 삭제를 의미합니다. |
| ignoreStoreReadErrorWithClusterBreakingPotential | boolean | true로 설정하면 일반 삭제 흐름이 손상된 객체(corrupt) 오류로 실패할 때 리소스의 비안전 삭제(unsafe deletion)를 트리거합니다. 리소스는 a) 데이터를 변환할 수 없거나[예: 복호화 실패] b) 객체로 디코딩에 실패하는 등, 기본 스토리지에서 성공적으로 검색할 수 없을 때 손상된 것으로 간주합니다. 참고: 비안전 삭제는 finalizer 제약을 무시하고, 사전 조건(precondition) 검사를 건너뛰며, 스토리지에서 객체를 제거합니다. 경고: 비안전 삭제되는 리소스와 연관된 워크로드가 일반 삭제 흐름에 의존한다면 클러스터가 손상될 수 있습니다. 정말로 잘 알고 있을 때만 사용하세요. 기본값은 false이며 사용자가 명시적으로 활성화해야 합니다. |
| orphanDependents | boolean | 사용 중단(Deprecated): PropagationPolicy를 사용하세요. 이 필드는 1.7에서 폐기 예정입니다. 종속 객체를 고아(orphan)로 만들지 여부입니다. true/false이면 객체의 finalizers 목록에서 "orphan" finalizer가 추가/제거됩니다. 이 필드 또는 PropagationPolicy 중 하나만 설정할 수 있으며 둘 다는 안 됩니다. |
| propagationPolicy | string | 가비지 컬렉션을 수행할지, 어떻게 수행할지입니다. 이 필드 또는 OrphanDependents 중 하나만 설정할 수 있으며 둘 다는 안 됩니다. 기본 정책은 metadata.finalizers에 설정된 기존 finalizer와 리소스별 기본 정책에 따라 결정됩니다. 허용 값: 'Orphan' - 종속 객체를 고아로 만듦; 'Background' - 가비지 컬렉터가 백그라운드에서 종속 객체를 삭제하도록 허용; 'Foreground' - 포그라운드에서 모든 종속 객체를 삭제하는 계단식(cascading) 정책. |
본문 매개변수 (Body Parameters)
| Name | Type | Description |
|---|---|---|
| body | DeleteOptions |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | Status |
| 202 | Accepted | Status |
delete Delete Collection
HTTP 요청 (HTTP Request)
DELETE /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
| continue | string | 서버에서 더 많은 결과를 가져올 때는 continue 옵션을 설정해야 합니다. 이 값은 서버가 정의하므로 클라이언트는 continue 값 자체를 제외하고 동일한 쿼리 매개변수를 사용한 이전 쿼리 결과의 continue 값만 사용할 수 있으며, 서버는 인식하지 못하는 continue 값을 거부할 수 있습니다. 지정된 continue 값이 만료(보통 5~15분)되거나 서버의 구성 변경으로 더 이상 유효하지 않으면, 서버는 continue 토큰과 함께 410 ResourceExpired 오류로 응답합니다. 클라이언트가 일관된 목록을 원한다면 continue 필드 없이 목록을 다시 시작해야 합니다. 그렇지 않으면 클라이언트는 410 오류로 받은 토큰으로 다른 목록 요청을 보낼 수 있으며, 서버는 다음 키부터 시작하되 최신 스냅샷 기준의 목록으로 응답하는데, 이는 이전 목록 결과와 일치하지 않을 수 있습니다(첫 목록 요청 이후 생성/수정/삭제된 객체는 키가 "다음 키" 이후라면 응답에 포함됩니다). watch가 true일 때는 이 필드가 지원되지 않습니다. 클라이언트는 서버가 반환한 마지막 resourceVersion 값부터 watch를 시작하여 변경 사항을 놓치지 않을 수 있습니다. |
| dryRun | string | 설정되면 수정 사항이 영속화(persist)되지 않아야 함을 나타냅니다. 유효하지 않거나 인식할 수 없는 dryRun 지시어는 오류 응답을 초래하며 요청을 더 이상 처리하지 않습니다. 허용 값: - All: 모든 dry run 단계가 처리됩니다. |
| fieldSelector | string | 반환되는 객체 목록을 필드 기준으로 제한하는 선택자(selector)입니다. 기본값은 모든 것을 대상으로 합니다. |
| gracePeriodSeconds | integer | 객체가 삭제되기까지의 시간(초)입니다. 값은 음이 아닌 정수여야 합니다. 값 0은 즉시 삭제를 의미합니다. 이 값이 nil이면 지정된 유형의 기본 유예 기간(grace period)이 사용됩니다. 지정하지 않으면 객체별 기본값이 적용됩니다. 0은 즉시 삭제를 의미합니다. |
| ignoreStoreReadErrorWithClusterBreakingPotential | boolean | true로 설정하면 일반 삭제 흐름이 손상된 객체(corrupt) 오류로 실패할 때 리소스의 비안전 삭제(unsafe deletion)를 트리거합니다. 리소스는 a) 데이터를 변환할 수 없거나[예: 복호화 실패] b) 객체로 디코딩에 실패하는 등, 기본 스토리지에서 성공적으로 검색할 수 없을 때 손상된 것으로 간주합니다. 참고: 비안전 삭제는 finalizer 제약을 무시하고, 사전 조건(precondition) 검사를 건너뛰며, 스토리지에서 객체를 제거합니다. 경고: 비안전 삭제되는 리소스와 연관된 워크로드가 일반 삭제 흐름에 의존한다면 클러스터가 손상될 수 있습니다. 정말로 잘 알고 있을 때만 사용하세요. 기본값은 false이며 사용자가 명시적으로 활성화해야 합니다. |
| labelSelector | string | 반환되는 객체 목록을 라벨 기준으로 제한하는 선택자(selector)입니다. 기본값은 모든 것을 대상으로 합니다. |
| limit | integer | limit은 목록 호출에서 반환할 최대 응답 수입니다. 더 많은 항목이 존재하면 서버는 목록 메타데이터의 continue 필드에 동일한 초기 쿼리로 다음 결과 집합을 가져오는 데 사용할 수 있는 값을 설정합니다. limit을 설정하면 요청된 모든 객체가 필터링되는 경우 요청한 수보다 적게(최대 0개까지) 반환될 수 있으며, 클라이언트는 더 많은 결과가 있는지 여부를 판단할 때 continue 필드의 존재만 사용해야 합니다. 서버는 limit 인자를 지원하지 않기로 선택하고 사용 가능한 모든 결과를 반환할 수 있습니다. limit이 지정되고 continue 필드가 비어 있으면 클라이언트는 더 이상 사용 가능한 결과가 없다고 가정할 수 있습니다. watch가 true이면 이 필드는 지원되지 않습니다. 서버는 continue를 사용할 때 반환되는 객체가 limit 없이 한 번의 목록 호출을 수행한 것과 동일함을 보장합니다. 즉 첫 요청 이후 생성/수정/삭제된 객체는 이후의 지속 요청에 포함되지 않습니다. 이를 일관된 스냅샷(consistent snapshot)이라고도 하며, limit으로 매우 큰 결과를 작은 조각으로 나누어 받는 클라이언트가 모든 가능한 객체를 볼 수 있도록 보장합니다. 청크 목록 중 객체가 업데이트되면 첫 목록 결과가 계산된 시점에 존재했던 객체 버전이 반환됩니다. |
| orphanDependents | boolean | 사용 중단(Deprecated): PropagationPolicy를 사용하세요. 이 필드는 1.7에서 폐기 예정입니다. 종속 객체를 고아(orphan)로 만들지 여부입니다. true/false이면 객체의 finalizers 목록에서 "orphan" finalizer가 추가/제거됩니다. 이 필드 또는 PropagationPolicy 중 하나만 설정할 수 있으며 둘 다는 안 됩니다. |
| propagationPolicy | string | 가비지 컬렉션을 수행할지, 어떻게 수행할지입니다. 이 필드 또는 OrphanDependents 중 하나만 설정할 수 있으며 둘 다는 안 됩니다. 기본 정책은 metadata.finalizers에 설정된 기존 finalizer와 리소스별 기본 정책에 따라 결정됩니다. 허용 값: 'Orphan' - 종속 객체를 고아로 만듦; 'Background' - 가비지 컬렉터가 백그라운드에서 종속 객체를 삭제하도록 허용; 'Foreground' - 포그라운드에서 모든 종속 객체를 삭제하는 계단식(cascading) 정책. |
| resourceVersion | string | resourceVersion은 요청이 제공될 수 있는 리소스 버전에 대한 제약을 설정합니다. 자세한 내용은 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 를 참조하세요. 기본값은 설정되지 않은 상태(unset)입니다. |
| resourceVersionMatch | string | resourceVersionMatch는 resourceVersion이 목록 호출에 어떻게 적용되는지 결정합니다. resourceVersion이 설정된 목록 호출에서는 resourceVersionMatch를 설정하는 것이 매우 권장됩니다. 자세한 내용은 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 를 참조하세요. 기본값은 설정되지 않은 상태(unset)입니다. |
| sendInitialEvents | boolean | sendInitialEvents=true는 watch=true와 함께 설정할 수 있습니다. 이 경우 watch 스트림은 현재 컬렉션에 있는 객체들의 상태를 만들어 내는 합성(synthetic) 이벤트로 시작합니다. 그러한 이벤트가 모두 전송되면 합성 "Bookmark" 이벤트가 전송됩니다. 이 bookmark는 객체 집합에 해당하는 ResourceVersion(RV)을 보고하며 "k8s.io/initial-events-end": "true" 어노테이션으로 표시됩니다. 이후 watch 스트림은 평소처럼 진행되며, 감시 대상 객체의 변경(RV 이후)에 해당하는 이벤트를 보냅니다. sendInitialEvents 옵션을 설정할 때는 resourceVersionMatch 옵션도 반드시 설정해야 합니다. watch 요청의 의미는 다음과 같습니다: |
| shardSelector | string | shardSelector는 CEL 기반 샤드 선택자(shard selector) 표현식을 사용하여 반환되는 객체 목록을 제한합니다. 형식은 shardRange() 함수와 ||(논리 OR)을 결합하여 하나 이상의 해시 범위를 지정합니다: shardRange(object.metadata.uid, '0x0', '0x8000000000000000') shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000') 필드 경로는 CEL 스타일의 객체 루트 구문(예: "object.metadata.uid")을 사용하며, fieldSelector 형식("metadata.uid")이 아닙니다. 현재 지원되는 경로: - object.metadata.uid - object.metadata.namespace hexStart와 hexEnd는 '0x' 접두사가 붙은 단일 인용 CEL 문자열 리터럴로, 64비트 FNV-1a 해시 공간의 포함하는 하한과 배타적 상한을 정의합니다. 전체 범위는 [0x0, 0x10000000000000000)이며, 배타적 상한은 2^64와 같습니다. 예: 2-샤드 분할: 샤드 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000') 샤드 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000') 4-샤드 분할: 샤드 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000') 샤드 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000') 샤드 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000') 샤드 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000') 이는 알파 필드이며 ShardedListAndWatch 기능 게이트(feature gate)를 활성화해야 합니다. |
| timeoutSeconds | integer | list/watch 호출의 타임아웃입니다. 활동 여부와 관계없이 호출 시간을 제한합니다. |
본문 매개변수 (Body Parameters)
| Name | Type | Description |
|---|---|---|
| body | DeleteOptions |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | Status |
get Read
HTTP 요청 (HTTP Request)
GET /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | ValidatingWebhookConfiguration의 이름입니다. |
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | ValidatingWebhookConfiguration |
get List
HTTP 요청 (HTTP Request)
GET /apis/admissionregistration.k8s.io/v1/validatingwebhookconfigurations
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
| allowWatchBookmarks | boolean | allowWatchBookmarks는 "BOOKMARK" 타입의 watch 이벤트를 요청합니다. 북마크를 구현하지 않은 서버는 이 플래그를 무시할 수 있으며, 북마크 전송은 서버의 판단에 따릅니다. 클라이언트는 북마크가 특정 간격으로 반환된다고 가정해서는 안 되며, 세션 중 서버가 BOOKMARK 이벤트를 보낼 것이라고 가정해서도 안 됩니다. 이 요청이 watch가 아니라면 이 필드는 무시됩니다. |
| continue | string | 서버에서 더 많은 결과를 가져올 때는 continue 옵션을 설정해야 합니다. 이 값은 서버가 정의하므로 클라이언트는 continue 값 자체를 제외하고 동일한 쿼리 매개변수를 사용한 이전 쿼리 결과의 continue 값만 사용할 수 있으며, 서버는 인식하지 못하는 continue 값을 거부할 수 있습니다. 지정된 continue 값이 만료(보통 5~15분)되거나 서버의 구성 변경으로 더 이상 유효하지 않으면, 서버는 continue 토큰과 함께 410 ResourceExpired 오류로 응답합니다. 클라이언트가 일관된 목록을 원한다면 continue 필드 없이 목록을 다시 시작해야 합니다. 그렇지 않으면 클라이언트는 410 오류로 받은 토큰으로 다른 목록 요청을 보낼 수 있으며, 서버는 다음 키부터 시작하되 최신 스냅샷 기준의 목록으로 응답하는데, 이는 이전 목록 결과와 일치하지 않을 수 있습니다(첫 목록 요청 이후 생성/수정/삭제된 객체는 키가 "다음 키" 이후라면 응답에 포함됩니다). watch가 true일 때는 이 필드가 지원되지 않습니다. 클라이언트는 서버가 반환한 마지막 resourceVersion 값부터 watch를 시작하여 변경 사항을 놓치지 않을 수 있습니다. |
| fieldSelector | string | 반환되는 객체 목록을 필드 기준으로 제한하는 선택자(selector)입니다. 기본값은 모든 것을 대상으로 합니다. |
| labelSelector | string | 반환되는 객체 목록을 라벨 기준으로 제한하는 선택자(selector)입니다. 기본값은 모든 것을 대상으로 합니다. |
| limit | integer | limit은 목록 호출에서 반환할 최대 응답 수입니다. 더 많은 항목이 존재하면 서버는 목록 메타데이터의 continue 필드에 동일한 초기 쿼리로 다음 결과 집합을 가져오는 데 사용할 수 있는 값을 설정합니다. limit을 설정하면 요청된 모든 객체가 필터링되는 경우 요청한 수보다 적게(최대 0개까지) 반환될 수 있으며, 클라이언트는 더 많은 결과가 있는지 여부를 판단할 때 continue 필드의 존재만 사용해야 합니다. 서버는 limit 인자를 지원하지 않기로 선택하고 사용 가능한 모든 결과를 반환할 수 있습니다. limit이 지정되고 continue 필드가 비어 있으면 클라이언트는 더 이상 사용 가능한 결과가 없다고 가정할 수 있습니다. watch가 true이면 이 필드는 지원되지 않습니다. 서버는 continue를 사용할 때 반환되는 객체가 limit 없이 한 번의 목록 호출을 수행한 것과 동일함을 보장합니다. 즉 첫 요청 이후 생성/수정/삭제된 객체는 이후의 지속 요청에 포함되지 않습니다. 이를 일관된 스냅샷(consistent snapshot)이라고도 하며, limit으로 매우 큰 결과를 작은 조각으로 나누어 받는 클라이언트가 모든 가능한 객체를 볼 수 있도록 보장합니다. 청크 목록 중 객체가 업데이트되면 첫 목록 결과가 계산된 시점에 존재했던 객체 버전이 반환됩니다. |
| resourceVersion | string | resourceVersion은 요청이 제공될 수 있는 리소스 버전에 대한 제약을 설정합니다. 자세한 내용은 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 를 참조하세요. 기본값은 설정되지 않은 상태(unset)입니다. |
| resourceVersionMatch | string | resourceVersionMatch는 resourceVersion이 목록 호출에 어떻게 적용되는지 결정합니다. resourceVersion이 설정된 목록 호출에서는 resourceVersionMatch를 설정하는 것이 매우 권장됩니다. 자세한 내용은 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 를 참조하세요. 기본값은 설정되지 않은 상태(unset)입니다. |
| sendInitialEvents | boolean | sendInitialEvents=true는 watch=true와 함께 설정할 수 있습니다. 이 경우 watch 스트림은 현재 컬렉션에 있는 객체들의 상태를 만들어 내는 합성(synthetic) 이벤트로 시작합니다. 그러한 이벤트가 모두 전송되면 합성 "Bookmark" 이벤트가 전송됩니다. 이 bookmark는 객체 집합에 해당하는 ResourceVersion(RV)을 보고하며 "k8s.io/initial-events-end": "true" 어노테이션으로 표시됩니다. 이후 watch 스트림은 평소처럼 진행되며, 감시 대상 객체의 변경(RV 이후)에 해당하는 이벤트를 보냅니다. sendInitialEvents 옵션을 설정할 때는 resourceVersionMatch 옵션도 반드시 설정해야 합니다. watch 요청의 의미는 다음과 같습니다: |
| shardSelector | string | shardSelector는 CEL 기반 샤드 선택자(shard selector) 표현식을 사용하여 반환되는 객체 목록을 제한합니다. 형식은 shardRange() 함수와 ||(논리 OR)을 결합하여 하나 이상의 해시 범위를 지정합니다: shardRange(object.metadata.uid, '0x0', '0x8000000000000000') shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000') 필드 경로는 CEL 스타일의 객체 루트 구문(예: "object.metadata.uid")을 사용하며, fieldSelector 형식("metadata.uid")이 아닙니다. 현재 지원되는 경로: - object.metadata.uid - object.metadata.namespace hexStart와 hexEnd는 '0x' 접두사가 붙은 단일 인용 CEL 문자열 리터럴로, 64비트 FNV-1a 해시 공간의 포함하는 하한과 배타적 상한을 정의합니다. 전체 범위는 [0x0, 0x10000000000000000)이며, 배타적 상한은 2^64와 같습니다. 예: 2-샤드 분할: 샤드 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000') 샤드 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000') 4-샤드 분할: 샤드 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000') 샤드 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000') 샤드 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000') 샤드 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000') 이는 알파 필드이며 ShardedListAndWatch 기능 게이트(feature gate)를 활성화해야 합니다. |
| timeoutSeconds | integer | list/watch 호출의 타임아웃입니다. 활동 여부와 관계없이 호출 시간을 제한합니다. |
| watch | boolean | 설명된 리소스의 변경 사항을 감시(watch)하여 add, update, remove 알림의 스트림으로 반환합니다. resourceVersion을 지정하세요. |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | ValidatingWebhookConfigurationList |
get Watch
HTTP 요청 (HTTP Request)
GET /apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | ValidatingWebhookConfiguration의 이름입니다. |
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| allowWatchBookmarks | boolean | allowWatchBookmarks는 "BOOKMARK" 타입의 watch 이벤트를 요청합니다. 북마크를 구현하지 않은 서버는 이 플래그를 무시할 수 있으며, 북마크 전송은 서버의 판단에 따릅니다. 클라이언트는 북마크가 특정 간격으로 반환된다고 가정해서는 안 되며, 세션 중 서버가 BOOKMARK 이벤트를 보낼 것이라고 가정해서도 안 됩니다. 이 요청이 watch가 아니라면 이 필드는 무시됩니다. |
| continue | string | 서버에서 더 많은 결과를 가져올 때는 continue 옵션을 설정해야 합니다. 이 값은 서버가 정의하므로 클라이언트는 continue 값 자체를 제외하고 동일한 쿼리 매개변수를 사용한 이전 쿼리 결과의 continue 값만 사용할 수 있으며, 서버는 인식하지 못하는 continue 값을 거부할 수 있습니다. 지정된 continue 값이 만료(보통 5~15분)되거나 서버의 구성 변경으로 더 이상 유효하지 않으면, 서버는 continue 토큰과 함께 410 ResourceExpired 오류로 응답합니다. 클라이언트가 일관된 목록을 원한다면 continue 필드 없이 목록을 다시 시작해야 합니다. 그렇지 않으면 클라이언트는 410 오류로 받은 토큰으로 다른 목록 요청을 보낼 수 있으며, 서버는 다음 키부터 시작하되 최신 스냅샷 기준의 목록으로 응답하는데, 이는 이전 목록 결과와 일치하지 않을 수 있습니다(첫 목록 요청 이후 생성/수정/삭제된 객체는 키가 "다음 키" 이후라면 응답에 포함됩니다). watch가 true일 때는 이 필드가 지원되지 않습니다. 클라이언트는 서버가 반환한 마지막 resourceVersion 값부터 watch를 시작하여 변경 사항을 놓치지 않을 수 있습니다. |
| fieldSelector | string | 반환되는 객체 목록을 필드 기준으로 제한하는 선택자(selector)입니다. 기본값은 모든 것을 대상으로 합니다. |
| labelSelector | string | 반환되는 객체 목록을 라벨 기준으로 제한하는 선택자(selector)입니다. 기본값은 모든 것을 대상으로 합니다. |
| limit | integer | limit은 목록 호출에서 반환할 최대 응답 수입니다. 더 많은 항목이 존재하면 서버는 목록 메타데이터의 continue 필드에 동일한 초기 쿼리로 다음 결과 집합을 가져오는 데 사용할 수 있는 값을 설정합니다. limit을 설정하면 요청된 모든 객체가 필터링되는 경우 요청한 수보다 적게(최대 0개까지) 반환될 수 있으며, 클라이언트는 더 많은 결과가 있는지 여부를 판단할 때 continue 필드의 존재만 사용해야 합니다. 서버는 limit 인자를 지원하지 않기로 선택하고 사용 가능한 모든 결과를 반환할 수 있습니다. limit이 지정되고 continue 필드가 비어 있으면 클라이언트는 더 이상 사용 가능한 결과가 없다고 가정할 수 있습니다. watch가 true이면 이 필드는 지원되지 않습니다. 서버는 continue를 사용할 때 반환되는 객체가 limit 없이 한 번의 목록 호출을 수행한 것과 동일함을 보장합니다. 즉 첫 요청 이후 생성/수정/삭제된 객체는 이후의 지속 요청에 포함되지 않습니다. 이를 일관된 스냅샷(consistent snapshot)이라고도 하며, limit으로 매우 큰 결과를 작은 조각으로 나누어 받는 클라이언트가 모든 가능한 객체를 볼 수 있도록 보장합니다. 청크 목록 중 객체가 업데이트되면 첫 목록 결과가 계산된 시점에 존재했던 객체 버전이 반환됩니다. |
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
| resourceVersion | string | resourceVersion은 요청이 제공될 수 있는 리소스 버전에 대한 제약을 설정합니다. 자세한 내용은 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 를 참조하세요. 기본값은 설정되지 않은 상태(unset)입니다. |
| resourceVersionMatch | string | resourceVersionMatch는 resourceVersion이 목록 호출에 어떻게 적용되는지 결정합니다. resourceVersion이 설정된 목록 호출에서는 resourceVersionMatch를 설정하는 것이 매우 권장됩니다. 자세한 내용은 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 를 참조하세요. 기본값은 설정되지 않은 상태(unset)입니다. |
| sendInitialEvents | boolean | sendInitialEvents=true는 watch=true와 함께 설정할 수 있습니다. 이 경우 watch 스트림은 현재 컬렉션에 있는 객체들의 상태를 만들어 내는 합성(synthetic) 이벤트로 시작합니다. 그러한 이벤트가 모두 전송되면 합성 "Bookmark" 이벤트가 전송됩니다. 이 bookmark는 객체 집합에 해당하는 ResourceVersion(RV)을 보고하며 "k8s.io/initial-events-end": "true" 어노테이션으로 표시됩니다. 이후 watch 스트림은 평소처럼 진행되며, 감시 대상 객체의 변경(RV 이후)에 해당하는 이벤트를 보냅니다. sendInitialEvents 옵션을 설정할 때는 resourceVersionMatch 옵션도 반드시 설정해야 합니다. watch 요청의 의미는 다음과 같습니다: |
| shardSelector | string | shardSelector는 CEL 기반 샤드 선택자(shard selector) 표현식을 사용하여 반환되는 객체 목록을 제한합니다. 형식은 shardRange() 함수와 ||(논리 OR)을 결합하여 하나 이상의 해시 범위를 지정합니다: shardRange(object.metadata.uid, '0x0', '0x8000000000000000') shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000') 필드 경로는 CEL 스타일의 객체 루트 구문(예: "object.metadata.uid")을 사용하며, fieldSelector 형식("metadata.uid")이 아닙니다. 현재 지원되는 경로: - object.metadata.uid - object.metadata.namespace hexStart와 hexEnd는 '0x' 접두사가 붙은 단일 인용 CEL 문자열 리터럴로, 64비트 FNV-1a 해시 공간의 포함하는 하한과 배타적 상한을 정의합니다. 전체 범위는 [0x0, 0x10000000000000000)이며, 배타적 상한은 2^64와 같습니다. 예: 2-샤드 분할: 샤드 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000') 샤드 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000') 4-샤드 분할: 샤드 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000') 샤드 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000') 샤드 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000') 샤드 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000') 이는 알파 필드이며 ShardedListAndWatch 기능 게이트(feature gate)를 활성화해야 합니다. |
| timeoutSeconds | integer | list/watch 호출의 타임아웃입니다. 활동 여부와 관계없이 호출 시간을 제한합니다. |
| watch | boolean | 설명된 리소스의 변경 사항을 감시(watch)하여 add, update, remove 알림의 스트림으로 반환합니다. resourceVersion을 지정하세요. |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | WatchEvent |
get Watch List
HTTP 요청 (HTTP Request)
GET /apis/admissionregistration.k8s.io/v1/watch/validatingwebhookconfigurations
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| allowWatchBookmarks | boolean | allowWatchBookmarks는 "BOOKMARK" 타입의 watch 이벤트를 요청합니다. 북마크를 구현하지 않은 서버는 이 플래그를 무시할 수 있으며, 북마크 전송은 서버의 판단에 따릅니다. 클라이언트는 북마크가 특정 간격으로 반환된다고 가정해서는 안 되며, 세션 중 서버가 BOOKMARK 이벤트를 보낼 것이라고 가정해서도 안 됩니다. 이 요청이 watch가 아니라면 이 필드는 무시됩니다. |
| continue | string | 서버에서 더 많은 결과를 가져올 때는 continue 옵션을 설정해야 합니다. 이 값은 서버가 정의하므로 클라이언트는 continue 값 자체를 제외하고 동일한 쿼리 매개변수를 사용한 이전 쿼리 결과의 continue 값만 사용할 수 있으며, 서버는 인식하지 못하는 continue 값을 거부할 수 있습니다. 지정된 continue 값이 만료(보통 5~15분)되거나 서버의 구성 변경으로 더 이상 유효하지 않으면, 서버는 continue 토큰과 함께 410 ResourceExpired 오류로 응답합니다. 클라이언트가 일관된 목록을 원한다면 continue 필드 없이 목록을 다시 시작해야 합니다. 그렇지 않으면 클라이언트는 410 오류로 받은 토큰으로 다른 목록 요청을 보낼 수 있으며, 서버는 다음 키부터 시작하되 최신 스냅샷 기준의 목록으로 응답하는데, 이는 이전 목록 결과와 일치하지 않을 수 있습니다(첫 목록 요청 이후 생성/수정/삭제된 객체는 키가 "다음 키" 이후라면 응답에 포함됩니다). watch가 true일 때는 이 필드가 지원되지 않습니다. 클라이언트는 서버가 반환한 마지막 resourceVersion 값부터 watch를 시작하여 변경 사항을 놓치지 않을 수 있습니다. |
| fieldSelector | string | 반환되는 객체 목록을 필드 기준으로 제한하는 선택자(selector)입니다. 기본값은 모든 것을 대상으로 합니다. |
| labelSelector | string | 반환되는 객체 목록을 라벨 기준으로 제한하는 선택자(selector)입니다. 기본값은 모든 것을 대상으로 합니다. |
| limit | integer | limit은 목록 호출에서 반환할 최대 응답 수입니다. 더 많은 항목이 존재하면 서버는 목록 메타데이터의 continue 필드에 동일한 초기 쿼리로 다음 결과 집합을 가져오는 데 사용할 수 있는 값을 설정합니다. limit을 설정하면 요청된 모든 객체가 필터링되는 경우 요청한 수보다 적게(최대 0개까지) 반환될 수 있으며, 클라이언트는 더 많은 결과가 있는지 여부를 판단할 때 continue 필드의 존재만 사용해야 합니다. 서버는 limit 인자를 지원하지 않기로 선택하고 사용 가능한 모든 결과를 반환할 수 있습니다. limit이 지정되고 continue 필드가 비어 있으면 클라이언트는 더 이상 사용 가능한 결과가 없다고 가정할 수 있습니다. watch가 true이면 이 필드는 지원되지 않습니다. 서버는 continue를 사용할 때 반환되는 객체가 limit 없이 한 번의 목록 호출을 수행한 것과 동일함을 보장합니다. 즉 첫 요청 이후 생성/수정/삭제된 객체는 이후의 지속 요청에 포함되지 않습니다. 이를 일관된 스냅샷(consistent snapshot)이라고도 하며, limit으로 매우 큰 결과를 작은 조각으로 나누어 받는 클라이언트가 모든 가능한 객체를 볼 수 있도록 보장합니다. 청크 목록 중 객체가 업데이트되면 첫 목록 결과가 계산된 시점에 존재했던 객체 버전이 반환됩니다. |
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
| resourceVersion | string | resourceVersion은 요청이 제공될 수 있는 리소스 버전에 대한 제약을 설정합니다. 자세한 내용은 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 를 참조하세요. 기본값은 설정되지 않은 상태(unset)입니다. |
| resourceVersionMatch | string | resourceVersionMatch는 resourceVersion이 목록 호출에 어떻게 적용되는지 결정합니다. resourceVersion이 설정된 목록 호출에서는 resourceVersionMatch를 설정하는 것이 매우 권장됩니다. 자세한 내용은 https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions 를 참조하세요. 기본값은 설정되지 않은 상태(unset)입니다. |
| sendInitialEvents | boolean | sendInitialEvents=true는 watch=true와 함께 설정할 수 있습니다. 이 경우 watch 스트림은 현재 컬렉션에 있는 객체들의 상태를 만들어 내는 합성(synthetic) 이벤트로 시작합니다. 그러한 이벤트가 모두 전송되면 합성 "Bookmark" 이벤트가 전송됩니다. 이 bookmark는 객체 집합에 해당하는 ResourceVersion(RV)을 보고하며 "k8s.io/initial-events-end": "true" 어노테이션으로 표시됩니다. 이후 watch 스트림은 평소처럼 진행되며, 감시 대상 객체의 변경(RV 이후)에 해당하는 이벤트를 보냅니다. sendInitialEvents 옵션을 설정할 때는 resourceVersionMatch 옵션도 반드시 설정해야 합니다. watch 요청의 의미는 다음과 같습니다: |
| shardSelector | string | shardSelector는 CEL 기반 샤드 선택자(shard selector) 표현식을 사용하여 반환되는 객체 목록을 제한합니다. 형식은 shardRange() 함수와 ||(논리 OR)을 결합하여 하나 이상의 해시 범위를 지정합니다: shardRange(object.metadata.uid, '0x0', '0x8000000000000000') shardRange(object.metadata.uid, '0x0', '0x8000000000000000') || shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000') 필드 경로는 CEL 스타일의 객체 루트 구문(예: "object.metadata.uid")을 사용하며, fieldSelector 형식("metadata.uid")이 아닙니다. 현재 지원되는 경로: - object.metadata.uid - object.metadata.namespace hexStart와 hexEnd는 '0x' 접두사가 붙은 단일 인용 CEL 문자열 리터럴로, 64비트 FNV-1a 해시 공간의 포함하는 하한과 배타적 상한을 정의합니다. 전체 범위는 [0x0, 0x10000000000000000)이며, 배타적 상한은 2^64와 같습니다. 예: 2-샤드 분할: 샤드 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x8000000000000000') 샤드 1: shardRange(object.metadata.uid, '0x8000000000000000', '0x10000000000000000') 4-샤드 분할: 샤드 0: shardRange(object.metadata.uid, '0x0000000000000000', '0x4000000000000000') 샤드 1: shardRange(object.metadata.uid, '0x4000000000000000', '0x8000000000000000') 샤드 2: shardRange(object.metadata.uid, '0x8000000000000000', '0xc000000000000000') 샤드 3: shardRange(object.metadata.uid, '0xc000000000000000', '0x10000000000000000') 이는 알파 필드이며 ShardedListAndWatch 기능 게이트(feature gate)를 활성화해야 합니다. |
| timeoutSeconds | integer | list/watch 호출의 타임아웃입니다. 활동 여부와 관계없이 호출 시간을 제한합니다. |
| watch | boolean | 설명된 리소스의 변경 사항을 감시(watch)하여 add, update, remove 알림의 스트림으로 반환합니다. resourceVersion을 지정하세요. |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | WatchEvent |