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