1장. API 계층 이해
이 지침은 계층화된 OpenShift 컨테이너 플랫폼 제공에 적용되지 않습니다.
베어 메탈 구성에 대한 API 계층은 하드웨어와 직접 상호 작용하는 기능을 제외하고 가상화된 구성에도 적용됩니다. 하드웨어와 직접 관련된 이러한 기능에는 하드웨어 공급업체가 제공하는 것 이상의 AOE(애플리케이션 운영 환경) 호환성 수준이 없습니다. 예를 들어, GPU(그래픽 처리 장치) 기능에 의존하는 애플리케이션은 GPU 공급업체 드라이버가 제공하는 AOE 호환성을 따릅니다.
클라우드 특정 통합 지점을 위한 클라우드 환경의 API 계층에는 호스팅 클라우드 공급업체가 제공하는 수준을 넘어서는 API 또는 AOE 호환성 수준이 없습니다. 예를 들어, 컴퓨팅, 수신 또는 스토리지를 동적으로 관리하는 API는 클라우드 플랫폼에서 제공하는 기본 API 기능에 따라 달라집니다. 클라우드 공급업체가 필수 API를 수정하는 경우 Red Hat은 클라우드 인프라 공급업체가 현재 제공하는 기능으로 API에 대한 지원을 유지하기 위해 상업적으로 합리적인 노력을 기울일 것입니다.
Red Hat에서는 애플리케이션 개발자가 종속된 모든 동작이 공식 API 문서에 명시적으로 정의되어 있는지 확인하여 특정 API 구현에 대한 지정되지 않은 동작이나 버그에 대한 종속성이 발생하는 것을 방지하도록 요청합니다. 예를 들어, 애플리케이션이 문서화되지 않은 API를 사용하거나 정의되지 않은 동작에 의존하는 경우, 인그레스 라우터의 새 릴리스가 이전 릴리스와 호환되지 않을 수 있습니다.
1.1. API 계층 링크 복사링크가 클립보드에 복사되었습니다!
상업적으로 지원되는 모든 API, 구성 요소 및 기능은 다음 지원 수준 중 하나에 연결됩니다.
API 티어 1
API와 애플리케이션 운영 환경(AOE)은 주요 릴리스 내에서 안정적입니다. 주요 릴리스에서 더 이상 사용되지 않을 수 있지만, 후속 주요 릴리스가 나올 때까지 제거되지는 않습니다.
API 티어 2
API와 AOE는 주요 릴리스 내에서 사용 중단 발표일로부터 최소 9개월 또는 3개의 마이너 릴리스 기간 동안 안정적으로 유지됩니다.
API 티어 3
이 수준은 Operator Hub를 통해 OpenShift Container Platform에 포함된 언어, 도구, 애플리케이션 및 선택적 운영자에 적용됩니다. 각 구성 요소는 API와 AOE가 지원되는 수명을 지정합니다. 언어 런타임별 구성 요소의 최신 버전은 가능한 한 마이너 버전 간에 API 및 AOE 호환성을 유지하려고 노력합니다. 그러나 하위 버전 간의 호환성은 보장되지 않습니다.
Operator Hub를 통해 지속적인 업데이트를 받는 구성 요소와 개발자 도구(Operator 및 Operand라고 함)는 API 계층 3으로 간주되어야 합니다. 개발자는 주의를 기울여야 하며, 각 사소한 릴리스마다 이러한 구성 요소가 어떻게 변경될 수 있는지 이해해야 합니다. 사용자는 해당 구성 요소에 문서화된 호환성 지침을 참조하는 것이 좋습니다.
API 티어 4
호환성이 제공되지 않습니다. API와 AOE는 언제든지 변경될 수 있습니다. 이러한 기능은 장기 지원이 필요한 애플리케이션에서는 사용하면 안 됩니다.
Operator는 작업을 수행하기 위해 내부적으로 CRD(사용자 정의 리소스 정의)를 사용하는 것이 일반적입니다. 이러한 객체는 운영자 외부의 행위자가 사용하도록 의도된 것이 아니며 숨겨져 있어야 합니다. CRD가 운영자 외부의 행위자가 사용하도록 의도되지 않은 경우, 운영자 ClusterServiceVersion
(CSV)의 operators.operatorframework.io/internal-objects
주석을 지정하여 해당 리소스가 내부적으로만 사용되며 CRD에 명시적으로 4계층이라는 레이블을 지정할 수 있음을 알려야 합니다.