SIG 멀티클러스터 구현 가이드라인

Jmnote (토론 | 기여)님의 2024년 11월 20일 (수) 15:16 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
Implementation guidelines
구현 가이드라인

이 문서는 SIG-Multicluster 후원 API 구현에 대한 일반적인 가이드라인을 제공합니다.

1 준수 기대사항

여러 공급자 간에 준수 수준이 시간이 지남에 따라 다를 것으로 예상됩니다. SIG-Multicluster는 구현이 API 사양에 대한 준수 여부를 자동으로 테스트할 수 있는 컨포먼스 스위트를 작업 중입니다. 현재는 각 KEP가 주어진 API의 준수 기준을 RFC 2119에 설명된 대로 "반드시(MUST)", "선택적으로(MAY)", "권장(SHOULD)"으로 명시하고 있습니다.

1.1 구현별 세부사항

API의 일부 측면에서, 사양은 기능의 일반적인 사용자 사용 패턴을 제공하지만, 정확한 동작은 기본 구현에 따라 다를 수 있습니다. 알려진 경우, 이러한 것은 KEP에서 구현 세부사항으로 호출하여 준수 기대사항과 "구현별"로 간주되는 동작의 변이를 명확히 구분합니다.

2 API 관례

SIG-Multicluster 후원 API는 Kubernetes API 관례를 따릅니다. 이러한 관례는 클라이언트 개발을 용이하게 하고 다양한 사용 사례에 걸쳐 구성 메커니즘이 일관되게 구현될 수 있도록 합니다.

3 API 프로세스

SIG-Multicluster 후원 API는 Kubernetes 개선 제안 프로세스를 통해 커뮤니케이션 및 성숙되며, Kubernetes 릴리스의 일부로 구현되는지 여부에 관계없이 진행됩니다. SIG 후원 아티팩트(컨포먼스 테스트, 게시된 CRD yaml, 관련 이미지 또는 소프트웨어 등)는 Kubernetes-sigs Github 조직의 저장소에 게시됩니다.

4 CRD 및 Webhook 유효성 검사 한계

CRD와 webhook 유효성 검사는 최종적인 유효성 검사가 아닙니다. Webhook은 "좋은 UX"이지만, 스키마 강제 실행이 아닙니다. 이 유효성 검사는 사용자가 잘못된 구성을 제공했을 때 즉각적인 피드백을 제공하기 위한 것입니다. 잘못된 입력이 컨트롤러에 도달할 가능성을 고려하여 방어적으로 코드를 작성해야 합니다. webhook과 CRD 유효성 검사는 신뢰할 수 없는 이유는:

  • 올바르게 배포되지 않을 수 있습니다.
  • 향후 API 릴리스에서 완화될 수 있습니다. (새 버전에서는 필드에 덜 제한적인 유효성 검사값이 포함될 수 있음).

이러한 한계는 SIG-Multicluster 후원 API에 국한되지 않으며, 더 넓게는 모든 Kubernetes CRD와 webhook에 적용됩니다.

구현자는 API에서 예상치 못한 값을 만나더라도 구현이 가능한 한 안전하고, 이러한 입력을 우아하게 처리해야 합니다. 가장 일반적인 대응은 구성을 잘못된 형식으로 거부하고 상태 블록에 있는 조건을 통해 사용자에게 신호를 보내는 것입니다. 중복 작업을 피하기 위해, Multicluster API 유지관리자들은 구현자가 이 목적을 위한 공유 유효성 검사 패키지를 추가하는 것을 고려하고 있습니다.

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}