开发手册 欢迎您!
软件开发者资料库

OpenShift - 应用程序扩展

OpenShift应用程序扩展 - 从简单和简单的步骤学习OpenShift,从基本到高级概念,包括概述,类型,体系结构,环境设置,基本概念,入门,构建自动化,CLI操作,集群,应用程序扩展,管理,Docker和Kubernetes,安全。

自动缩放是OpenShift中的一项功能,部署的应用程序可根据特定规范在需要时进行扩展和接收.在OpenShift应用程序中,自动缩放也称为pod自动缩放.有两种类型的应用程序缩放如下所示.

垂直缩放

垂直缩放就是要添加越来越多给单台机器供电意味着增加更多的CPU和硬盘.这是OpenShift的一种旧方法,OpenShift版本现在不支持.

水平缩放

当存在这种缩放时,这种缩放很有用需要通过增加机器数来处理更多请求.

在OpenShift中,有两种启用缩放功能的方法.

  • 使用部署配置文件

  • 运行图像时

使用部署配置文件

在此方法中,通过deploymant配置yaml文件启用扩展功能.为此,OC autoscale命令使用最小和最大副本数,这些副本需要在群集中的任何给定时间点运行.我们需要一个对象定义来创建自动缩放器.以下是pod autoscaler定义文件的示例.

apiVersion: extensions/v1beta1kind: HorizontalPodAutoscalermetadata:   name: databasespec:   scaleRef:      kind: DeploymentConfig      name: database      apiVersion: v1      subresource: scale   minReplicas: 1   maxReplicas: 10   cpuUtilization:      targetPercentage: 80

一旦我们有了文件,我们需要使用yaml格式保存它并运行以下命令进行部署.

$ oc create -f< file name> .yaml

运行图像时

通过使用以下 oc autoscale

$ oc autoscale dc/database --min 1 --max 5 --cpu-percent = 75  deploymentconfig"database"au toscaled

此命令还会生成一个类似的文件,以后可以用作参考.

部署策略在OpenShift中

OpenShift中的部署策略使用不同的可用方法定义部署流程.在OpenShift中,以下是重要类型的部署策略.

  • 滚动策略

  • 重新创建策略

  • 自定义策略

以下是部署配置文件的示例,它是主要用于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: 5selector:   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:       maxSurge: ""      maxUnavailable: ""      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