2장. API 호환성 지침 이해
이 지침은 계층화된 OpenShift Container Platform 오퍼링에는 적용되지 않습니다.
2.1. API 호환성 지침
Red Hat은 애플리케이션 개발자가 OpenShift Container Platform과의 호환성을 개선하기 위해 다음 원칙을 채택할 것을 권장합니다.
- 애플리케이션 요구 사항과 일치하는 지원 계층과 함께 API 및 구성 요소를 사용합니다.
- 가능한 경우 게시된 클라이언트 라이브러리를 사용하여 애플리케이션을 빌드합니다.
- 애플리케이션은 실행하도록 빌드된 환경의 새로운 환경에서 실행되는 경우에만 올바르게 실행되도록 보장됩니다. OpenShift Container Platform 4.14용으로 빌드된 애플리케이션은 OpenShift Container Platform 4.13에서 제대로 작동하지 않을 수 있습니다.
- 시스템 패키지 또는 기타 구성 요소에서 제공하는 구성 파일에 의존하는 애플리케이션을 설계하지 마십시오. 업스트림 커뮤니티에서 해당 파일을 보존하기 위해 명시적으로 커밋하지 않는 한 이러한 파일은 버전 간에 변경될 수 있습니다. 적절한 경우 향후 호환성을 유지하기 위해 해당 구성 파일에 대해 Red Hat에서 제공하는 인터페이스 추상화에 따라 달라집니다. 구성 파일의 직접 파일 시스템 수정이 권장되지 않으며 사용자는 듀얼 작성기 충돌을 피하기 위해 Operator 제공 API와 통합하는 것이 좋습니다.
-
지원되지 않는<FieldName
> 또는 제품 설명서에 명시적으로 언급되지 않은 주석으로 붙은 API 필드에 의존하지 마십시오. - 애플리케이션보다 호환성이 짧은 구성 요소에 의존하지 마십시오.
- etcd 서버에서 직접 스토리지 작업을 수행하지 마십시오. 모든 etcd 액세스는 api-server를 통해 또는 문서화된 백업 및 복원 절차를 통해 수행해야 합니다.
Red Hat은 애플리케이션 개발자가 RHEL(Red Hat Enterprise Linux)에서 정의한 호환성 지침을 따르는 것이 좋습니다. OpenShift Container Platform은 애플리케이션을 빌드하거나 플랫폼에서 애플리케이션을 호스팅할 때 다음 지침을 강력히 권장합니다.
- 특정 Linux 커널 또는 OpenShift Container Platform 버전에 의존하지 마십시오.
-
proc
,sys
,debug
파일 시스템 또는 기타 의사 파일 시스템에서 읽지 마십시오. -
ioctls
를 사용하여 하드웨어와 직접 상호 작용하지 마십시오. -
컨테이너 실행 환경을 제공하는 OpenShift Container Platform 호스트 에이전트와 충돌하지 않도록
cgroup
과의 직접 상호 작용을 방지합니다.
Red Hat은 릴리스 라이프사이클 동안 모든 마이너 릴리스 및 z-stream 릴리스에서 AOE(API 및 애플리케이션 운영 환경) 호환성을 유지하기 위해 상업적으로 합당한 노력을 기울이고 있습니다. 필요한 경우 Red Hat은 심각한 영향을 미치는 보안 또는 기타 중요한 문제를 해결하기 위해 이러한 호환성 목표에 예외를 둘 수 있습니다.