9.3.4. 사용자 정의 전략
사용자 정의 전략을 사용하면 고유의 배포 동작을 제공할 수 있습니다.
다음은 사용자 정의 전략의 예입니다.
strategy: type: Custom customParams: image: organization/strategy command: [ "command", "arg1" ] environment: - name: ENV_1 value: VALUE_1
위 예에서 organization/strategy
컨테이너 이미지는 배포 동작을 제공합니다. 선택적 command
배열은 이미지의 Dockerfile 에 지정된 모든 CMD
지시문을 재정의합니다. 제공되는 선택적 환경 변수는 전략 프로세스의 실행 환경에 추가됩니다.
또한 OpenShift Container Platform에서는 배포 프로세스에 다음 환경 변수를 제공합니다.
환경 변수 | 설명 |
---|---|
| 새 배포 이름(복제 컨트롤러)입니다. |
| 새 배포의 이름 공간입니다. |
처음에는 새 배포의 복제본 수가 0입니다. 이 전략은 사용자의 요구에 가장 적합한 논리를 사용하여 새 배포를 활성화하는 작업을 담당합니다.
고급 배포 전략에 대해 자세히 알아보십시오.
또는 customParams
를 사용하여 기존 배포 전략에 사용자 정의 배포 논리를 삽입합니다. 사용자 정의 쉘 스크립트 논리를 제공하고 openshift-deploy
바이너리를 호출합니다. 사용자는 사용자 정의 배포 컨테이너 이미지를 제공할 필요는 없지만 기본 OpenShift Container Platform 배포자 이미지가 대신 사용됩니다.
strategy: type: Rolling customParams: command: - /bin/sh - -c - | set -e openshift-deploy --until=50% echo Halfway there openshift-deploy echo Complete
그러면 다음과 같은 배포가 생성됩니다.
Started deployment #2 --> Scaling up custom-deployment-2 from 0 to 2, scaling down custom-deployment-1 from 2 to 0 (keep 2 pods available, don't exceed 3 pods) Scaling custom-deployment-2 up to 1 --> Reached 50% (currently 50%) Halfway there --> Scaling up custom-deployment-2 from 1 to 2, scaling down custom-deployment-1 from 2 to 0 (keep 2 pods available, don't exceed 3 pods) Scaling custom-deployment-1 down to 1 Scaling custom-deployment-2 up to 2 Scaling custom-deployment-1 down to 0 --> Success Complete
사용자 정의 배포 전략 프로세스에서 OpenShift Container Platform API 또는 Kubernetes API에 액세스해야 하는 경우에는 전략을 실행하는 컨테이너에서 인증을 위해 컨테이너 내에 제공되는 서비스 계정 토큰을 사용하면 됩니다.