배치 모델
배치 모델은 클러스터 전체에서 애플리케이션 배치 프로세스를 이해하는 데 도움이 됩니다.
푸시 기반 배치
푸시 기반 배치 모델은 애플리케이션을 단일 클러스터에 배치합니다. 배포 파이프라인은 클러스터에 연결하여 배포 파일을 적용합니다. 이 모델은 클러스터에 운영자나 에이전트를 설치할 필요가 없습니다.
배포 파이프라인에서 실행되어 대상 클러스터에 적용할 수 있는 배포 도구라면 어떤 것이든 사용할 수 있습니다. 예를 들어:
- kubectl (또는 Red Hat OpenShift on IBM Cloud 의 경우
oc)을 사용하여 Kubernetes 매니페스트를 적용합니다. - Helm 차트 릴리스를 설치하거나 업그레이드하려면. 이 차트는 다른 배포 자산과 마찬가지로 인벤토리 저장소에 저장할 수 있습니다.
배포 스크립트는 배포 리포지토리의 일부이며, 애플리케이션 및 클러스터 요구 사항에 맞게 사용자 정의할 수 있습니다. DevSecOps 배포 작업을 처리하는 ‘커먼즈 라이브러리’라고 불리는 헬퍼 스크립트를 제공합니다.
풀 기반 배치
풀 기반 배치 모델은 다중 클러스터 애플리케이션 배치에 적합합니다. 이 모델은 여러 클러스터에 배치하기 위한 배치 도구로 IBM Cloud Satellite 구성을 사용합니다. 자세한 정보는 Satellite 구성 이해 를 참조하십시오.
배포 파이프라인은 각 클러스터에 연결되지 않습니다. 대신, 배포 파일을 Satellite Config에 게시하면, 각 클러스터에서 실행되는 에이전트가 해당 파일을 가져옵니다. 동일한 배포를 받는 클러스터들은 ‘ Satellite ’ 클러스터 그룹으로 묶입니다.
Satellite 이 구성은 Kubernetes 리소스 정의들을 배포합니다. 애플리케이션이 ‘ Helm ’ 차트나 ‘ Kustomize ’ 오버레이 형태로 패키징된 경우, 먼저 helm template 또는 kustomize build 등을 사용하여 이를 ‘ Kubernetes ’ 매니페스트로 변환한 다음, 변환된 매니페스트를 구성 버전으로 업로드하십시오.
풀 기반 배치의 경우 다음 단계를 완료하십시오.
- 배포 파일에 필요한 ‘ Satellite ’ 구성 항목과 해당 버전을 생성하거나 업데이트하십시오.
- Satellite 구성 및 배포해야 할 버전을 사용하여 ‘ Satellite ’ 구성 구독을 생성하거나 업데이트합니다.
- 구독이 업데이트되면, 클러스터에 설치된 Razee 에이전트가 Satellite Config에서 최신 배포 내용을 가져와 클러스터 전체에 배포합니다.
배포 모델 선택
| 고려사항 | 푸시 기반 배치 | 풀 기반 배치 |
|---|---|---|
| 대상 | 단일 클러스터 | 클러스터들의 집합 |
| 배치 도구 | kubectl, oc, Helm, Kustomize 또는 파이프라인에서 실행되는 모든 도구 |
Satellite Config |
| 클러스터 내의 구성 요소 | 없음 | Satellite 구성 에이전트 |
| 클러스터 액세스 | 파이프라인을 실행하려면 클러스터에 대한 인증 정보가 필요합니다 | 클러스터의 에이전트가 배포 정보를 가져오며, 파이프라인은 Satellite Config에 대한 액세스 권한만 필요합니다 |
| Helm 차트 | 다음과 함께 직접 설치하거나 업그레이드했습니다. Helm | 업로드 전에 매니페스트로 변환됨 |
배포 대상 선택에 대한 자세한 내용은 ‘대상에서 애플리케이션 배포’를 참조하십시오.