2.3.2. 애플리케이션 구성 요소
2.3.2.1. API 오브젝트
OpenShift Container Platform 및 Kubernetes 리소스 정의(애플리케이션 인벤토리에 새로 도입된 항목)와 관련하여 애플리케이션 승격 주제를 고려할 때 다시 살펴볼 수 있는 API 오브젝트의 몇 가지 주요 설계 지점이 있습니다.
먼저 OpenShift Container Platform 문서 전체에서 강조 표시된 것처럼 모든 API 오브젝트를 JSON 또는 YAML을 통해 표현할 수 있으므로 기존 소스 제어 및 스크립팅을 통해 이러한 리소스 정의를 쉽게 관리할 수 있습니다.
또한 API 오브젝트는 시스템의 원하는 상태를 지정하는 오브젝트의 일부 및 시스템의 상태 또는 현재 상태를 반영하는 기타 부분이 있도록 설계되었습니다. 이는 입력 및 출력으로 간주될 수 있습니다. 입력 부분은 JSON 또는 YAML로 표현될 때, 특히 SCM(소스 제어 관리) 아티팩트에 적합한 항목입니다.
API 오브젝트의 입력 또는 사양 부분은 템플릿 처리를 통한 변수 대체 가 인스턴스화될 수 있다는 점에서 완전히 정적 또는 동적일 수 있습니다.
API 오브젝트와 관련하여 이러한 포인트의 결과는 표현식을 JSON 또는 YAML 파일로 사용하여 애플리케이션 구성을 코드로 처리할 수 있다는 것입니다.
결과적으로 거의 모든 API 오브젝트는 조직에서 애플리케이션 아티팩트로 간주할 수 있습니다. 다음은 애플리케이션 배포 및 관리와 가장 일반적으로 관련된 오브젝트입니다.
- BuildConfigs
-
이는 애플리케이션 승격의 컨텍스트에서 특수한 사례 리소스입니다.
BuildConfig
는 특히 개발자 관점에서 애플리케이션의 일부이지만 일반적으로BuildConfig
는 파이프라인을 통해 승격되지 않습니다. 파이프라인을 통해 승격된이미지
(다른 항목과 함께)를 생성합니다. - 템플릿
-
애플리케이션 승격 측면에서
템플릿
은 지정된 스테이징 환경에서 리소스를 설정하는 시작점으로, 특히 매개변수화 기능을 사용하여 사용할 수 있습니다. 추가 복원 후 변경은 애플리케이션이 승격 파이프라인을 통해 이동할 때에도 매우 신뢰할 수 있습니다. 이에 대한 자세한 내용은 시나리오 및 예제 를 참조하십시오. - 라우트
-
이는 경로를 통해 애플리케이션에 액세스하는 다양한 단계의 테스트로 인해 애플리케이션 승격 파이프라인에서 스테이징되는 가장 일반적인 리소스
입니다
. 또한 수동 사양 또는 호스트 이름의 자동 생성 및경로
의 HTTP 수준 보안과 관련된 옵션이 있습니다. - 서비스
-
지정된 애플리케이션 승격 단계(이전 단계에서 개별 개발자의 단순성을 위한 단순화를 위해 수행됨)에서 router 및
Routes
가 발생하지 않도록 하는 이유가 있는 경우클러스터
IP 주소와 포트를 통해 애플리케이션에 액세스할 수 있습니다.사용하는 경우 단계 간 주소와 포트의 일부 관리가 보증될 수 있습니다.
- 끝점
-
특정 애플리케이션 수준 서비스(예: 많은 엔터프라이즈의 데이터베이스 인스턴스)는 OpenShift Container Platform에서 관리하지 않을 수 있습니다. 그렇다면 관련 서비스에 필요한 수정 사항과 함께 해당
엔드포인트
를 직접 생성하는 경우(서비스의
선택기 필드 제거)는 단계 간에 복제되거나 공유되는 활동입니다(사용자의 환경 설명에 따라). - 보안
-
Secrets
에 의해 캡슐화된 중요한 정보는 해당 엔티티(OpenShift Container Platform에서 관리하는서비스
또는 OpenShift Container Platform 외부에서 관리되는 외부 서비스)가 공유될 때 스테이징 환경 간에 공유됩니다. 애플리케이션 승격 파이프라인의 다른 단계에 언급된 엔티티의 다른 버전이 있는 경우 파이프라인의 각 단계에서 별도의 보안을 유지하거나 파이프라인을 통해 통과할 때 이를 수정해야 할 수 있습니다.또한 보안을 SCM에 JSON 또는 YAML
로
저장하는 경우 중요한 정보를 보호하기 위한 일부 암호화 형식이 보증될 수 있습니다. - DeploymentConfigs
- 이 오브젝트는 지정된 애플리케이션 승격 파이프라인 단계에 대한 환경을 정의하고 범위를 지정하는 기본 리소스입니다. 이는 애플리케이션이 시작되는 방식을 제어합니다. 모든 다른 단계에서 일반적인 측면이 있지만 애플리케이션 승격 파이프라인을 통해 진행되거나 각 단계의 환경의 차이점을 반영하기 위해 애플리케이션 승격 파이프라인을 통해 변경되거나 애플리케이션이 지원해야 하는 다양한 시나리오를 쉽게 테스트하기 위해 시스템의 동작 변경 사항이 있을 것입니다.
- 이미지 스트림, ImageStreamTag 및 ImageStreamImage
- 이미지 및 이미지 스트림 섹션에 자세히 설명된 이러한 오브젝트는 컨테이너 이미지 관리 관련 OpenShift Container Platform 추가의 핵심입니다.
- serviceaccounts 및 RoleBindings
-
OpenShift Container Platform 및 외부 서비스 내의 다른 API 오브젝트에 대한 권한 관리는 애플리케이션 관리에 기본적으로 있습니다.
Secrets
와 유사하게ServiceAccounts
및RoleBindings
오브젝트는 서로 다른 환경을 공유하거나 분리해야 하는 요구 사항에 따라 애플리케이션 승격 파이프라인의 다양한 단계를 공유하는 방법에 따라 다를 수 있습니다. - PersistentVolumeClaims
- 데이터베이스와 같은 상태 저장 서비스 관련, 서로 다른 애플리케이션 승격 단계 간에 이러한 값을 공유하는 값은 조직이 애플리케이션 데이터의 복사본을 공유하는 방법과 직접 상관 관계가 있습니다.
- ConfigMaps
-
Pod 자체에서
Pod
Pod
동작이 필요한 경우 다양한 스테이징 환경에서 공유할 수 있습니다. 또한Pod
동작을 변경하기 위해 단계 간에 수정할 수도 있습니다(일반적으로 애플리케이션의 다른 측면이 다른 단계에서 확인됨).