OpenShift-애플리케이션 확장
자동 확장은 배포 된 애플리케이션이 특정 사양에 따라 필요할 때 확장 및 싱크 할 수있는 OpenShift의 기능입니다. OpenShift 애플리케이션에서 자동 확장은 포드 자동 확장이라고도합니다. 두 가지가있다types of application scaling 다음과 같이.
수직 확장
수직 확장은 단일 시스템에 더 많은 전력을 추가하는 것입니다. 즉, 더 많은 CPU와 하드 디스크를 추가해야합니다. 는 OpenShift 릴리스에서 지원되지 않는 이전 OpenShift 방법입니다.
수평 확장
이러한 유형의 확장은 시스템 수를 늘려 더 많은 요청을 처리해야 할 때 유용합니다.
OpenShift에는 two methods to enable the scaling feature.
- 배포 구성 파일 사용
- 이미지를 실행하는 동안
배포 구성 파일 사용
이 방법에서 확장 기능은 deploymant 구성 yaml 파일을 통해 활성화됩니다. 이를 위해 OC autoscale 명령은 최소 및 최대 복제본 수와 함께 사용되며 이는 클러스터의 특정 시점에서 실행되어야합니다. 자동 확장 처리를 만들려면 개체 정의가 필요합니다. 다음은 포드 자동 확장 처리 정의 파일의 예입니다.
apiVersion: extensions/v1beta1
kind: HorizontalPodAutoscaler
metadata:
name: database
spec:
scaleRef:
kind: DeploymentConfig
name: database
apiVersion: v1
subresource: scale
minReplicas: 1
maxReplicas: 10
cpuUtilization:
targetPercentage: 80
파일이 제자리에 있으면 yaml 형식으로 저장하고 배포를 위해 다음 명령을 실행해야합니다.
$ oc create –f <file name>.yaml
이미지를 실행하는 동안
다음을 사용하여 yaml 파일없이 자동 확장 할 수도 있습니다. oc autoscale oc 명령 줄의 명령.
$ oc autoscale dc/database --min 1 --max 5 --cpu-percent = 75
deploymentconfig "database" autoscaled
이 명령은 나중에 참조 용으로 사용할 수있는 유사한 종류의 파일도 생성합니다.
OpenShift의 배포 전략
OpenShift의 배포 전략은 사용 가능한 다양한 방법으로 배포 흐름을 정의합니다. OpenShift에서 다음은important types of deployment strategies.
- 롤링 전략
- 전략 재생성
- 맞춤형 전략
다음은 주로 OpenShift 노드에 배포하는 데 사용되는 배포 구성 파일의 예입니다.
kind: "DeploymentConfig"
apiVersion: "v1"
metadata:
name: "database"
spec:
template:
metadata:
labels:
name: "Database1"
spec:
containers:
- name: "vipinopenshifttest"
image: "openshift/mongoDB"
ports:
- containerPort: 8080
protocol: "TCP"
replicas: 5
selector:
name: "database"
triggers:
- type: "ConfigChange"
- type: "ImageChange"
imageChangeParams:
automatic: true
containerNames:
- "vipinopenshifttest"
from:
kind: "ImageStreamTag"
name: "mongoDB:latest"
strategy:
type: "Rolling"
위의 Deploymentconfig 파일에는 Rolling이라는 전략이 있습니다.
배포를 위해 다음 OC 명령을 사용할 수 있습니다.
$ oc deploy <deployment_config> --latest
롤링 전략
롤링 전략은 롤링 업데이트 또는 배포에 사용됩니다. 이 프로세스는 배포 프로세스에 코드를 삽입하는 데 사용되는 수명주기 후크도 지원합니다.
strategy:
type: Rolling
rollingParams:
timeoutSeconds: <time in seconds>
maxSurge: "<definition in %>"
maxUnavailable: "<Defintion in %>"
pre: {}
post: {}
전략 재창조
이 배포 전략에는 롤링 배포 전략의 몇 가지 기본 기능이 있으며 수명주기 후크도 지원합니다.
strategy:
type: Recreate
recreateParams:
pre: {}
mid: {}
post: {}
맞춤형 전략
이는 자신의 배포 프로세스 또는 흐름을 제공하고자 할 때 매우 유용합니다. 모든 사용자 지정은 요구 사항에 따라 수행 할 수 있습니다.
strategy:
type: Custom
customParams:
image: organization/mongoDB
command: [ "ls -l", "$HOME" ]
environment:
- name: VipinOpenshiftteat
value: Dev1