MutatingAdmissionPolicy
MutatingAdmissionPolicy (변이형 입학 정책)
MutatingAdmissionPolicy는 admission 체인으로 들어오는 객체를 변경(mutate)하는 정책의 정의입니다. 객체를 변이하는 정책을 구성하는 방법을 알아볼게요.
본문
MutatingAdmissionPolicy
apiVersion: admissionregistration.k8s.io/v1
import "k8s.io/api/admissionregistration/v1"
MutatingAdmissionPolicy
MutatingAdmissionPolicy는 admission 체인으로 들어오는 객체를 변이(mutate)하는 입학 변이 정책(admission mutation policy)의 정의를 설명합니다.
| 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. |
| spec MutatingAdmissionPolicySpec |
spec은 MutatingAdmissionPolicy의 원하는 동작을 정의합니다. |
MutatingAdmissionPolicySpec
MutatingAdmissionPolicySpec은 입학 정책의 원하는 동작을 정의합니다.
| Field | Description |
|---|---|
| failurePolicy string |
failurePolicy defines how to handle failures for the admission policy. Failures can occur from CEL expression parse errors, type check errors, runtime errors and invalid or mis-configured policy definitions or bindings. A policy is invalid if paramKind refers to a non-existent Kind. A binding is invalid if paramRef.name refers to a non-existent resource. failurePolicy does not define how validations that evaluate to false 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는 요청을 검증하기 위해 충족되어야 하는 조건들의 목록입니다. 매치 조건은 이미 matchConstraints에 의해 매칭된 요청을 필터링합니다. 빈 matchConditions 목록은 모든 요청에 일치합니다. 최대 64개의 매치 조건이 허용됩니다. 매개변수 객체가 제공되면 검증 표현식과 동일한 방식으로 params 핸들을 통해 접근할 수 있습니다. 정확한 매칭 로직은 (순서대로): 1. ANY matchCondition이 FALSE로 평가되면 정책이 건너뜁니다. 2. ALL matchCondition이 TRUE로 평가되면 정책이 평가됩니다. 3. 어느 matchCondition이 오류로 평가되면(FALSE는 없을 때): - failurePolicy=Fail이면 요청을 거부합니다 - failurePolicy=Ignore이면 정책을 건너뜁니다 |
| matchConstraints MatchResources |
matchConstraints는 이 정책이 검증하도록 설계된 리소스 범위를 지정합니다. MutatingAdmissionPolicy는 모든 제약(Constraints)에 일치하는 요청에만 관여합니다. 다만 API를 통해 복구할 수 없는 불안정한 상태로 클러스터가 빠지는 것을 막기 위해, MutatingAdmissionPolicy는 MutatingAdmissionPolicy와 MutatingAdmissionPolicyBinding에는 일치할 수 없습니다. CREATE, UPDATE, CONNECT 연산은 허용됩니다. DELETE 연산은 일치시킬 수 없습니다. '*'는 CREATE, UPDATE, CONNECT에 일치합니다. 필수입니다. |
| mutations Mutation array |
mutations는 일치하는 객체에 대해 수행할 연산을 포함합니다. mutations는 비어 있을 수 없으며 최소 하나의 변이가 필요합니다. mutations는 순서대로 평가되고 reinvocationPolicy에 따라 다시 호출됩니다. 정책의 mutations는 이 정책의 각 바인딩에 대해 호출되며 변이 재호출은 바인딩별로 발생합니다. |
| paramKind ParamKind |
paramKind는 이 정책을 파라미터화하는 데 사용되는 리소스의 kind를 지정합니다. 없으면 이 정책에는 매개변수가 없으며 검증 표현식에 param CEL 변수가 제공되지 않습니다. paramKind가 존재하지 않는 kind를 가리키면 이 정책 정의는 잘못 구성된 것이며 FailurePolicy가 적용됩니다. paramKind가 지정되었지만 MutatingAdmissionPolicyBinding에서 paramRef가 설정되지 않은 경우 params 변수는 null이 됩니다. |
| reinvocationPolicy string |
reinvocationPolicy indicates whether mutations may be called multiple times per MutatingAdmissionPolicyBinding as part of a single admission evaluation. Allowed values are "Never" and "IfNeeded". Never: These mutations will not be called more than once per binding in a single admission evaluation. IfNeeded: These mutations may be invoked more than once per binding for a single admission request and there is no guarantee of order with respect to other admission plugins, admission webhooks, bindings of this policy and admission policies. Mutations are only reinvoked when mutations change the object after this mutation is invoked. Required. 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. |
| variables Variable array |
variables는 다른 표현식을 합성하는 데 사용할 수 있는 변수들의 정의를 포함합니다. 각 변수는 이름이 붙은 CEL 표현식으로 정의됩니다. 여기서 정의된 변수들은 정책의 다른 표현식에서 variables 아래에서 사용할 수 있습니다. 단 matchConditions는 정책의 나머지보다 먼저 평가되므로 예외입니다. 변수의 표현식은 목록에서 앞에 정의된 다른 변수는 참조할 수 있지만 뒤에 정의된 변수는 참조할 수 없습니다. 따라서 variables는 첫 등장 순서로 정렬되어야 하며 순환(acyclic)이어야 합니다. |
MutatingAdmissionPolicyList
MutatingAdmissionPolicyList는 MutatingAdmissionPolicy의 목록입니다.
| Field | Description |
|---|---|
| apiVersion string |
APIVersion은 이 객체 표현의 버전이 붙은 스키마(versioned schema)를 정의합니다. 서버는 인식된 스키마를 최신 내부 값으로 변환해야 하며, 인식할 수 없는 값은 거부할 수 있습니다. 자세한 정보: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
| items * MutatingAdmissionPolicy array |
ValidatingAdmissionPolicy의 목록입니다. |
| 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 |
ApplyConfiguration
ApplyConfiguration은 객체의 원하는 구성 값을 정의합니다.
| Field | Description |
|---|---|
| expression string |
expression will be evaluated by CEL to create an apply configuration. ref: https://github.com/google/cel-spec Apply configurations are declared in CEL using object initialization. For example, this CEL expression returns an apply configuration to set a single field: Object{ spec: Object.spec{ serviceAccountName: "example" } } Apply configurations may not modify atomic structs, maps or arrays due to the risk of accidental deletion of values not included in the apply configuration. CEL expressions have access to the object types needed to create apply configurations: - 'Object' - CEL type of the resource object. - 'Object.' - CEL type of object field (such as 'Object.spec') - 'Object.....` - CEL type of nested field (such as 'Object.spec.containers') CEL expressions have access to the contents of the API request, organized into CEL variables as well as some other useful variables: - 'object' - The object from the incoming request. The value is null for DELETE requests. - 'oldObject' - The existing object. The value is null for CREATE requests. - 'request' - Attributes of the API request(ref). - 'params' - Parameter resource referred to by the policy binding being evaluated. Only populated if the policy has a ParamKind. - 'namespaceObject' - The namespace object that the incoming object belongs to. The value is null for cluster-scoped resources. - 'variables' - Map of composited variables, from its name to its lazily evaluated value. For example, a variable named 'foo' can be accessed as 'variables.foo'. - 'authorizer' - A CEL Authorizer. May be used to perform authorization checks for the principal (user or service account) of the request. See https://pkg.go.dev/k8s.io/apiserver/pkg/cel/library#Authz - 'authorizer.requestResource' - A CEL ResourceCheck constructed from the 'authorizer' and configured with the request resource. The apiVersion, kind, metadata.name and metadata.generateName are always accessible from the root of the object. No other metadata properties are accessible. Only property names of the form [a-zA-Z_.-/][a-zA-Z0-9_.-/]* are accessible. Required. |
JSONPatch
JSONPatch는 JSON Patch를 정의합니다.
| Field | Description |
|---|---|
| expression string |
expression will be evaluated by CEL to create a JSON patch. ref: https://github.com/google/cel-spec expression must return an array of JSONPatch values. For example, this CEL expression returns a JSON patch to conditionally modify a value: [ JSONPatch{op: "test", path: "/spec/example", value: "Red"}, JSONPatch{op: "replace", path: "/spec/example", value: "Green"} ] To define an object for the patch value, use Object types. For example: [ JSONPatch{ op: "add", path: "/spec/selector", value: Object.spec.selector{matchLabels: {"environment": "test"}} } ] To use strings containing '/' and '~1' respectively). Only property names of the form [a-zA-Z_.-/][a-zA-Z0-9_.-/]*` are accessible. Required. |
Mutation
Mutation은 변이(Mutation)를 적용하는 데 사용되는 CEL 표현식을 지정합니다.
| Field | Description |
|---|---|
| applyConfiguration ApplyConfiguration |
applyConfiguration은 객체의 원하는 구성 값을 정의합니다. 이 구성은 구조화된 병합 diff를 사용하여 admission 객체에 적용됩니다. CEL 표현식이 apply 구성(apply configuration)을 만드는 데 사용됩니다. |
| jsonPatch JSONPatch |
jsonPatch는 객체에 변이를 수행하기 위한 JSON patch 연산을 정의합니다. CEL 표현식이 JSON patch를 만드는 데 사용됩니다. |
| patchType * string |
patchType indicates the patch strategy used. Allowed values are "ApplyConfiguration" and "JSONPatch". Required. Possible enum values: - "ApplyConfiguration" ApplyConfiguration indicates that the mutation is using apply configuration to mutate the object. - "JSONPatch" JSONPatch indicates that the object is mutated through JSON Patch. |
연산 (Operations)
post Create
HTTP 요청 (HTTP Request)
POST /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies
쿼리 매개변수 (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 | MutatingAdmissionPolicy |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | MutatingAdmissionPolicy |
| 201 | Created | MutatingAdmissionPolicy |
| 202 | Accepted | MutatingAdmissionPolicy |
patch Patch
HTTP 요청 (HTTP Request)
PATCH /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | MutatingAdmissionPolicy의 이름입니다. |
쿼리 매개변수 (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 | MutatingAdmissionPolicy |
| 201 | Created | MutatingAdmissionPolicy |
put Replace
HTTP 요청 (HTTP Request)
PUT /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | MutatingAdmissionPolicy의 이름입니다. |
쿼리 매개변수 (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 | MutatingAdmissionPolicy |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | MutatingAdmissionPolicy |
| 201 | Created | MutatingAdmissionPolicy |
delete Delete
HTTP 요청 (HTTP Request)
DELETE /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | MutatingAdmissionPolicy의 이름입니다. |
쿼리 매개변수 (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/mutatingadmissionpolicies
쿼리 매개변수 (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/mutatingadmissionpolicies/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | MutatingAdmissionPolicy의 이름입니다. |
쿼리 매개변수 (Query Parameters)
| Name | Type | Description |
|---|---|---|
| pretty | string | 값이 'true'이면 출력을 보기 좋게(pretty printed) 만듭니다. user-agent가 브라우저나 명령줄 HTTP 도구(curl, wget)를 나타내지 않는 한 기본값은 'false'입니다. |
응답 (Response)
| Status | Description | Response |
|---|---|---|
| 200 | OK | MutatingAdmissionPolicy |
get List
HTTP 요청 (HTTP Request)
GET /apis/admissionregistration.k8s.io/v1/mutatingadmissionpolicies
쿼리 매개변수 (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 | MutatingAdmissionPolicyList |
get Watch
HTTP 요청 (HTTP Request)
GET /apis/admissionregistration.k8s.io/v1/watch/mutatingadmissionpolicies/{name}
경로 매개변수 (Path Parameters)
| Name | Type | Description |
|---|---|---|
| name | string | MutatingAdmissionPolicy의 이름입니다. |
쿼리 매개변수 (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/mutatingadmissionpolicies
쿼리 매개변수 (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 |