MutatingWebhookConfiguration

MutatingWebhookConfiguration (변이형 웹훅 구성)

MutatingWebhookConfiguration은 admission 웹훅의 구성을 설명합니다. 이 웹훅은 객체를 승인하거나 거부하고 변경할 수 있어요.

출처: Kubernetes API Reference

본문

MutatingWebhookConfiguration

apiVersion: admissionregistration.k8s.io/v1
import "k8s.io/api/admissionregistration/v1"

MutatingWebhookConfiguration

MutatingWebhookConfiguration은 객체를 승인하거나 거부하고 변경할 수 있는 admission 웹훅의 구성을 설명합니다.

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
MutatingWebhook array
patch strategy: merge on key name
webhooks는 웹훅들과 이들이 영향받는 리소스 및 연산의 목록입니다.

MutatingWebhookConfigurationList

MutatingWebhookConfigurationList는 MutatingWebhookConfiguration의 목록입니다.

Field Description
apiVersion
string
APIVersion은 이 객체 표현의 버전이 붙은 스키마(versioned schema)를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식할 수 없는 값은 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
items *
MutatingWebhookConfiguration array
MutatingWebhookConfiguration의 목록입니다.
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

MutatingWebhook

MutatingWebhook는 admission 웹훅과 그것이 적용되는 리소스 및 연산을 설명합니다.

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는 이 웹훅으로 요청을 보내기 위해 충족되어야 하는 조건들의 목록입니다. 매치 조건은 이미 rules, namespaceSelector, objectSelector에 의해 매칭된 요청을 필터링합니다. 빈 matchConditions 목록은 모든 요청에 일치합니다. 최대 64개의 매치 조건이 허용됩니다. 정확한 매칭 로직은 (순서대로): 1. ANY matchCondition이 FALSE로 평가되면 웹훅을 건너뜁니다. 2. ALL matchCondition이 TRUE로 평가되면 웹훅을 호출합니다. 3. 어느 matchCondition이 오류로 평가되면(FALSE는 없을 때): - failurePolicy=Fail이면 요청을 거부합니다 - failurePolicy=Ignore이면 오류를 무시하고 웹훅을 건너뜁니다
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는 객체의 네임스페이스가 선택자와 일치하는지에 따라 웹훅을 실행할지 결정합니다. 객체 자체가 네임스페이스라면 object.metadata.labels에 대해 매칭을 수행합니다. 객체가 다른 클러스터 범위 리소스라면 웹훅을 절대 건너뛰지 않습니다. 예를 들어 "runlevel"이 "0"이나 "1"과 관련 없는 네임스페이스의 객체들에 대해 웹훅을 실행하려면 선택자를 다음과 같이 설정합니다: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] } 반대로 "environment"가 "prod"나 "staging"인 네임스페이스의 객체들에 대해서만 웹훅을 실행하려면 다음과 같이 설정합니다: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] } 라벨 선택자 예시는 https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ 를 참조하세요. 기본값은 모든 것에 일치하는 빈 LabelSelector입니다.
objectSelector
LabelSelector
objectSelector는 객체가 일치하는 라벨을 가지고 있는지에 따라 웹훅을 실행할지 결정합니다. objectSelector는 웹훅으로 보내질 oldObject와 newObject 모두를 대상으로 평가되며, 두 객체 중 하나라도 선택자와 일치하면 매칭된 것으로 간주합니다. null 객체(create의 경우 oldObject, delete의 경우 newObject)나 라벨을 가질 수 없는 객체(예: DeploymentRollback, PodProxyOptions)는 매칭되지 않는 것으로 간주합니다. 최종 사용자가 라벨을 설정하여 admission 웹훅을 우회할 수 있으므로, object 선택자는 웹훅이 opt-in 방식일 때만 사용하세요. 기본값은 모든 것에 일치하는 빈 LabelSelector입니다.
reinvocationPolicy
string
reinvocationPolicy indicates whether this webhook should be called multiple times as part of a single admission evaluation. Allowed values are "Never" and "IfNeeded". Never: the webhook will not be called more than once in a single admission evaluation. IfNeeded: the webhook will be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial webhook call. Webhooks that specify this option must be idempotent, able to process objects they previously admitted. Note: * the number of additional invocations is not guaranteed to be exactly one. * if additional invocations result in further modifications to the object, webhooks are not guaranteed to be invoked again. * webhooks that use this option may be reordered to minimize the number of additional invocations. * to validate an object after all mutations are guaranteed complete, use a validating admission webhook instead. Defaults to "Never". Possible enum values: - "IfNeeded" indicates that the mutation may be called at least one additional time as part of the admission evaluation if the object being admitted is modified by other admission plugins after the initial mutation call. - "Never" indicates that the mutation must not be called more than once in a single admission evaluation.
rules
RuleWithOperations array
rules는 웹훅이 관심을 가지는 리소스/하위 리소스에 대한 어떤 연산인지를 설명합니다. 웹훅은 어떤 Rule이든 일치하면 해당 연산에 관여합니다. 다만 플러그인을 완전히 비활성화하지 않으면 복구할 수 없는 상태로 클러스터가 빠지는 것을 막기 위해, ValidatingAdmissionWebhook과 MutatingAdmissionWebhook은 ValidatingWebhookConfiguration과 MutatingWebhookConfiguration 객체에 대한 admission 요청에는 호출되지 않습니다.
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/mutatingwebhookconfigurations

쿼리 매개변수 (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 MutatingWebhookConfiguration

응답 (Response)

Status Description Response
200 OK MutatingWebhookConfiguration
201 Created MutatingWebhookConfiguration
202 Accepted MutatingWebhookConfiguration

patch Patch

HTTP 요청 (HTTP Request)

PATCH /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}

경로 매개변수 (Path Parameters)

Name Type Description
name string MutatingWebhookConfiguration의 이름입니다.

쿼리 매개변수 (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 MutatingWebhookConfiguration
201 Created MutatingWebhookConfiguration

put Replace

HTTP 요청 (HTTP Request)

PUT /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}

경로 매개변수 (Path Parameters)

Name Type Description
name string MutatingWebhookConfiguration의 이름입니다.

쿼리 매개변수 (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 MutatingWebhookConfiguration

응답 (Response)

Status Description Response
200 OK MutatingWebhookConfiguration
201 Created MutatingWebhookConfiguration

delete Delete

HTTP 요청 (HTTP Request)

DELETE /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations/{name}

경로 매개변수 (Path Parameters)

Name Type Description
name string MutatingWebhookConfiguration의 이름입니다.

쿼리 매개변수 (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/mutatingwebhookconfigurations

쿼리 매개변수 (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/mutatingwebhookconfigurations/{name}

경로 매개변수 (Path Parameters)

Name Type Description
name string MutatingWebhookConfiguration의 이름입니다.

쿼리 매개변수 (Query Parameters)

Name Type Description
pretty string 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다.

응답 (Response)

Status Description Response
200 OK MutatingWebhookConfiguration

get List

HTTP 요청 (HTTP Request)

GET /apis/admissionregistration.k8s.io/v1/mutatingwebhookconfigurations

쿼리 매개변수 (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 MutatingWebhookConfigurationList

get Watch

HTTP 요청 (HTTP Request)

GET /apis/admissionregistration.k8s.io/v1/watch/mutatingwebhookconfigurations/{name}

경로 매개변수 (Path Parameters)

Name Type Description
name string MutatingWebhookConfiguration의 이름입니다.

쿼리 매개변수 (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/mutatingwebhookconfigurations

쿼리 매개변수 (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

Feedback

더 알아보기 (Learn more)