본문 바로가기
WIKI 기술 지식 베이스

기능 수명주기

원문 보기 위키 갱신

기능 수명주기 (Feature Lifecycle)

Crossplane은 업스트림 Kubernetes와 유사한 기능 수명주기를 따르고 있어요. Crossplane은 모든 주요 신규 기능을 알파(alpha) 단계로 추가하고, 알파 기능은 베타(beta)를 거쳐 일반 공급(GA, General Availability) 단계로 승격돼요. 알파나 베타 단계에서 오래 머무르는 기능은 폐기(deprecation) 대상이 될 수 있어요.

출처: 문서

본문

알파(Alpha) 기능

  • 알파 기능은 기본적으로 꺼져 있으며, 예를 들어 --enable-composition-revisions 같은 기능 플래그로 활성화해야 해요.
  • 알파 기능의 API 타입은 v1alpha 같은 vNalphaN 형태의 API 버전을 사용해요.
  • 알파 기능은 예고 없이 제거되거나 호환되지 않는 변경이 있을 수 있어서 프로덕션에서 사용할 준비가 된 것으로 간주하지 않아요.
  • 때로 알파 기능이 기존 베타/GA API 타입에 필드를 추가해야 하는 경우가 있는데, 이때는 해당 필드를 (예를 들어 OpenAPI 스키마에서) 알파로 표시하고 알파 API 제약 조건을 적용해야 해요.
  • 모든 알파 기능은 베타로 승격되는 과정을 추적하는 이슈를 가져야 해요.

베타(Beta) 기능

  • 베타 기능은 기본적으로 켜져 있지만 기능 플래그로 비활성화할 수 있어요.
  • 베타 기능의 API 타입은 v1beta1 같은 vNbetaN 형태의 API 버전을 사용해요.
  • Crossplane은 베타 기능을 잘 테스트된 것으로 간주하며, 최소 두 번의 릴리스 동안 폐기 표시를 하지 않고는 제거하지 않아요.
  • 객체의 스키마나 의미론은 이후 베타/안정 릴리스에서 호환되지 않는 방식으로 바뀔 수 있어요. 이런 경우 팀은 다음 버전으로 마이그레이션하는 방법을 안내하며, API 객체를 삭제·수정·재생성해야 할 수도 있어요. 이 편집 과정은 신중함이 필요하고, 해당 기능에 의존하는 애플리케이션에 다운타임이 발생할 수 있어요.
  • 때로 베타 기능이 기존 GA API 타입에 필드를 추가해야 하는 경우가 있는데, 이때는 해당 필드를 베타로 표시하고 베타 API 제약 조건을 적용해야 해요.
  • 모든 베타 기능은 GA로 승격되는 과정을 추적하는 이슈를 가져야 해요.

GA(일반 공급) 기능

  • GA 기능은 항상 활성화되어 있어서 비활성화할 수 없어요.
  • GA 기능 관련 API 타입은 v1 같은 vN 형태의 API 버전을 사용해요.
  • GA 기능은 널리 사용되고 잘 테스트되어 API 안정성을 보장해요. Crossplane은 하위 호환 가능한 변경만 허용해요.

더 알아보기 (Learn more)