이 페이지에서는 Kubernetes 1.22 릴리스에서 지원 중단된 API에 대한 정보를 제공합니다. 자세한 내용은 Kubernetes 지원 중단된 API 마이그레이션 가이드를 참조하세요.
1.22에서 삭제된 API
Kubernetes 버전 1.22에서 대부분의 지원 중단된 API는 Beta(v1beta1
)에서 GA(v1
)로 전환된 이전의 베타 API들입니다. GA API는 보다 장기적인 호환성 보증을 제공하며, 지원 중단된 베타 API 대신 사용됩니다.
모든 기존 객체는 GA API를 사용하여 상호 작용할 수 있습니다.
웹훅 리소스
MutatingWebhookConfiguration
및 ValidatingWebhookConfiguration
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다.
- admissionregistration.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
GA API 버전의 중요한 변경사항을 보여주는 다음 표를 참조하세요.
필드 변경 webhooks[*].failurePolicy
기본값이 Ignore
에서Fail
로 변경되었습니다.webhooks[*].matchPolicy
기본값이 Exact
에서Equivalent
로 변경되었습니다.webhooks[*].timeoutSeconds
기본값이 30s
에서10s
로 변경되었습니다.webhooks[*].sideEffects
기본값이 삭제되었고 이제 이 필드가 필수 항목입니다. None
및NoneOnDryRun
만 허용됩니다.webhooks[*].admissionReviewVersions
기본값이 삭제되었고 이제 이 필드가 필수 항목입니다. AdmissionReview
에 지원되는 버전은v1
및v1beta1
입니다.webhooks[*].name
admissionregistration.k8s.io/v1
을 통해 생성된 객체 목록에서 고유해야 합니다.
CustomResourceDefinition
CustomResourceDefinition
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다.
- apiextensions.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
GA API 버전의 중요한 변경사항을 보여주는 다음 표를 참조하세요.
필드 변경 spec.scope
더 이상 Namespaced
가 기본값이 아닙니다. 값을 명시적으로 지정해야 합니다.spec.version
삭제되었습니다. 대신 spec.versions
를 사용하세요.spec.validation
삭제되었습니다. 대신 spec.versions[*].schema
를 사용하세요.spec.subresources
삭제되었습니다. 대신 spec.versions[*].subresources
를 사용하세요.spec.additionalPrinterColumns
삭제되었습니다. 대신 spec.versions[*].additionalPrinterColumns
를 사용하세요.spec.conversion.webhookClientConfig
spec.conversion.webhook.clientConfig
로 이동되었습니다.spec.conversion.conversionReviewVersions
spec.conversion.webhook.conversionReviewVersions
로 이동되었습니다.spec.versions[*].schema.openAPIV3Schema
이제 v1 CustomResourceDefinition
객체를 만들 때 필수이고 구조적 스키마여야 합니다.spec.preserveUnknownFields
v1 CustomResourceDefinition
객체를 만들 때true
값이 허용되지 않습니다. 이 값은 스키마 정의 내에서x-kubernetes-preserve-unknown-fields: true
로 지정되어야 합니다.additionalPrinterColumns
additionalPrinterColumns
항목에서JSONPath
필드 이름이jsonPath
로 바뀌었습니다.
APIService
APIService
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다.
apiregistration.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
TokenReview
TokenReview
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다.
authentication.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
SubjectAccessReview 리소스
LocalSubjectAccessReview
, SelfSubjectAccessReview
, SubjectAccessReview
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다.
- authorization.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
GA API 버전의 중요한 변경사항을 보여주는 다음 표를 참조하세요.
필드 변경 spec.group
이름이 spec.groups
로 변경되었습니다.
CertificateSigningRequest
CertificateSigningRequest
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다.
- certificates.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
GA API 버전의 중요한 변경사항을 보여주는 다음 표를 참조하세요.
필드 변경 spec.signerName
인증서를 요청하는 API 클라이언트의 경우 이 필드가 필수 항목입니다(알려진 Kubernetes 서명자 참조). kubernetes.io/legacy-unknown
에 대한 요청은certificates.k8s.io/v1
API를 통한 생성이 허용되지 않습니다.spec.usages
인증서를 요청하는 API 클라이언트의 경우 이 필드는 필수 항목입니다. 이 필드는 중복된 값을 포함할 수 없으며, 알려진 사용량만 포함해야 합니다. status.conditions
인증서를 승인하거나 서명하는 API 클라이언트의 경우 필드는 중복 유형을 포함할 수 없습니다. status.conditions[*].status
인증서를 승인하거나 서명하는 API 클라이언트의 경우 이 필드가 이제 필수 항목입니다. status.certificate
인증서를 승인하거나 서명하는 API 클라이언트의 경우 이 필드는 PEM으로 인코딩되어야 하며, CERTIFICATE
블록만 포함해야 합니다.
Lease
Lease
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다. coordination.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
인그레스
Ingress
의 베타 API 버전(extensions/v1beta1
및 networking.k8s.io/v1beta1
)은 버전 1.22 이상에서 생성된 GKE 클러스터에 대해 더 이상 제공되지 않습니다.
GKE 버전 1.21 및 버전 1.22.7-gke.300 이상 이전에서 업그레이드된 GKE 클러스터는 버전 1.23까지 계속 베타 API 버전을 사용할 수 있습니다.
- networking.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
GA API 버전의 중요한 변경사항을 보여주는 다음 표를 참조하세요.
필드 변경 spec.backend
이름이 spec.defaultBackend
로 변경되었습니다.backend serviceName
이름이 service.name
으로 변경되었습니다.servicePort
숫자 백엔드 servicePort
필드의 이름이service.port.number
로 변경되었습니다. 문자열 백엔드servicePort
필드의 이름이service.port.name
으로 변경되었습니다.pathType
이제 지정된 각 경로에 대해 필수 항목입니다. 값은 Prefix
,Exact
,ImplementationSpecific
일 수 있습니다. 정의되지 않은v1beta1
동작과 일치하는 항목을 찾으려면ImplementationSpecific
를 사용합니다.
다음 매니페스트는 v1
및 v1beta1
의 동일한 인그레스에 대해 설명합니다.
v1beta1 매니페스트
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: example
spec:
backend:
serviceName: default-backend
servicePort: 80
rules:
- http:
paths:
- path: /testpath
backend:
serviceName: test
servicePort: 80
v1 매니페스트
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example
spec:
defaultBackend:
service:
name: default-backend
port:
number: 80
rules:
- http:
paths:
- path: /testpath
pathType: ImplementationSpecific
backend:
service:
name: test
port:
number: 80
인그레스 v1beta1
API에 액세스하는 클라이언트를 식별하도록 사용 설정된 Google Cloud 운영 제품군에 다음 클러스터 쿼리를 사용할 수 있습니다.
resource.type="k8s_cluster"
resource.labels.cluster_name="$CLUSTER_NAME"
protoPayload.authenticationInfo.principalEmail:("system:serviceaccount" OR "@")
protoPayload.request.apiVersion=("extensions/v1beta1" OR "networking.k8s.io/v1beta1")
protoPayload.request.kind="Ingress"
NOT ("kube-system")
IngressClass
IngressClass
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다.
networking.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
RBAC 리소스
ClusterRole
, ClusterRoleBinding
, Role
, RoleBinding
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다. rbac.authorization.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
PriorityClass
PriorityClass
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다.
scheduling.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
스토리지 리소스
CSIDriver
, CSINode
, StorageClass
, VolumeAttachment
의 베타 API 버전은 버전 1.22를 기준으로 더 이상 제공되지 않습니다. storage.k8s.io/v1 API 버전을 사용하도록 매니페스트 및 API 클라이언트를 마이그레이션하세요.
지원 중단된 API에 쓰는 API 클라이언트 찾기
Google Cloud 운영 제품군이 사용 설정된 클러스터는 다음 관리자 활동 로그 쿼리를 사용하여 Google에서 관리되지 않는 사용자에 의한 1.22 지원 중단된 API 사용을 표시할 수 있습니다.
resource.type="k8s_cluster"
labels."k8s.io/removed-release"="1.22"
protoPayload.authenticationInfo.principalEmail:("system:serviceaccount" OR "@")
protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:kube-system:")
1.22로 업그레이드 준비
API 객체를 삭제하고 다시 만들 필요가 없습니다. 새 API 버전을 사용하여 기존의 모든 영구 API 객체를 이미 읽고 업데이트할 수 있습니다. 그러나 Kubernetes 1.22로 업그레이드하기 전에 클라이언트와 매니페스트를 마이그레이션하는 것이 좋습니다. Kubernetes 사용 중단된 API 마이그레이션 가이드의 '필요한 조치' 섹션에서 자세히 알아보세요.
리소스
자세한 내용은 OSS Kubernetes 설명서에서 확인할 수 있습니다.