上云无忧 > 文档中心 > 天翼云容器云服务引擎CCSE实战教程 - 弹性伸缩
容器云服务引擎CCSE
天翼云容器云服务引擎CCSE实战教程 - 弹性伸缩

文档简介:
本节介绍了容器云服务引擎CCSE的最佳实践,以弹性伸缩举例。 容器水平伸缩: 容器云服务引擎CCSE支持在控制台界面上快速创建支持HPA的应用,实现容器资源的弹性伸缩。您也可通过定义HPA(Horizontal Pod Autoscaling)的YAML来进行配置。
*产品来源:中国电信天翼云。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

本节介绍了容器云服务引擎CCSE的最佳实践,以弹性伸缩举例。

容器水平伸缩

容器云服务引擎CCSE支持在控制台界面上快速创建支持HPA的应用,实现容器资源的弹性伸缩。您也可通过定义HPA(Horizontal Pod Autoscaling)的YAML来进行配置。

背景信息

从v1.18开始,K8s v2beta2 API允许通过HPA的behavior字段配置扩缩行为。 在behavior字段中的scaleUp和scaleDown分别指定扩容和缩容行为。当您在使用HPA时,希望只进行扩容或者只进行缩容的Pod伸缩,则可以通过开启指标伸缩,单击禁止缩容或者禁止扩容来实现。默认值:均不禁止。禁止扩容:selectPolicy的值Disabled会关闭给定方向的扩容。因此使用以下策略,将会阻止扩容。

behavior: scaleUp: selectPolicy:Disabled

禁用缩容:selectPolicy的值Disabled会关闭给定方向的缩容。因此使用以下策略,将会阻止缩容。

behavior: scaleDown: selectPolicy:Disabled

通过容器服务控制台创建HPA应用

天翼云容器云服务引擎已经集成了HPA,您可以简便地通过容器服务控制台进行创建。您可以在创建应用的时候创建HPA,也可以在已有应用的基础上开启HPA。

方式一:在创建应用过程中,开启HPA

登录容器云服务引擎CCSE管理控制台。

在控制台左侧导航栏中,单击集群。

在集群列表页面中,单击目标集群名称。

在集群管理页左侧导航栏中,选择工作负载 > 无状态。

点击左上角的新增按钮。

填写基本信息,在实例数量中选择自动伸缩,设置伸缩的条件和配置。

Resource规则,支持CPU和内存,支持百分比和平均值等计值方式。

Pod规则,支持Pod指标对象,支持平均值的计值方式,支持指定指标。

Object规则,支持Service指标对象,支持阈值的计值方式,支持指定指标。

单击左下角的提交,一个支持HPA的Deployment就已经创建完毕。

结果验证:单击工作负载 > 无状态中单击应用名称,您可在部署的详情中查看伸缩组信息。在实际使用环境中,应用会根据CPU负载进行伸缩。您也可在测试环境中验证弹性伸缩,通过给Pod进行CPU压测,可以发现Pod即可完成水平的扩展。

方式二:为已有应用开启HPA

登录容器云服务引擎CCSE管理控制台。

在控制台左侧导航栏中,单击集群。

在集群列表页面中,单击目标集群名称。

在集群管理页左侧导航栏中,选择工作负载 > 无状态。

在应用列表页面中,选择目标应用,点击更多按钮。

设置伸缩的条件和配置。

Resource规则,支持CPU和内存,支持百分比和平均值等计值方式。

Pod规则,支持Pod指标对象,支持平均值的计值方式,支持指定指标。

Object规则,支持Service指标对象,支持阈值的计值方式,支持指定指标。

单击确认,Deployment的HPA设置完毕。

通过kubectl命令创建HPA应用

您也可通过YAML来手动创建HPA,并将其绑定到要伸缩的Deployment对象上,通过kubectl命令实现容器自动伸缩配置。

下面针对一个Nginx应用进行举例。创建并复制以下内容到nginx.yml中。Deployment的编排模板如下。

apiVersion: apps/v1 kind: Deployment metadata: name:nginx labels: app:nginx spec: replicas:2 selector: matchLabels: app:nginx template: metadata: labels: app:nginx spec: containers: -name: nginx image:nginx:1.7.9# replace it with your exactlyimage_name:tags ports: -containerPort:80 resources: requests: ##必须设置,不然HPA无法运行。 cpu:500m

执行以下命令,创建Nginx应用。

kubectlcreate-f nginx.yml

创建HPA。

apiVersion:autoscaling/v2beta2 kind: HorizontalPodAutoscaler metadata: name:nginx-hpa spec: scaleTargetRef: apiVersion:apps/v1 kind:Deployment name:nginx minReplicas:1 maxReplicas:10 metrics: -type:Resource resource: name:cpu target: type:Utilization averageUtilization:50

执行以下命令,创建Nginx HPA。

kubectlcreate-f nginx-pha.yml

创建好HPA后,再次执行kubectl describe hpa <HPA的名称>命令。可以看到以下信息,则表示HPA已经正常运行。

Normal SuccessfulRescale 30s horizontal-pod-autoscaler New size: 1; reason: All metrics below target

此时当Nginx的Pod的利用率超过本例中设置的50%利用率时,则会进行水平扩容,低于50%的时候会进行缩容。

相似文档
  • 本节介绍了容器云服务引擎CCSE的最佳实践,以使用容器镜像服务发布应用举例。 在容器云服务引擎CCSE,使用容器镜像服务CRS中的容器镜像,发布一个容器应用。 前提条件:已开通容器镜像服务CRS实例,已开通CCSE集群。
  • 本节介绍了容器云服务引擎CCSE的计费类常见问题。 Q:如何为购买的容器CCSE实例续费? A:为防止资源到期或者浪费,已经购买包月实例的用户,可执行续费操作,延长容器实例的有效期,也可以设置到期自动续费的相关操作。 备注:公测期间只能在控制台进行续订操作。
  • 本节介绍了容器云服务引擎CCSE的购买类常见问题。 Q:容器CCSE的实例支持什么资源规格? A:Master及worker节点可购买各系列主机上的资源,支持4核8G以上规格,用户可按需购买。(备注:公测期间只开放部分规格使用。)
  • 本节介绍了容器云服务引擎CCSE的操作类常见问题。 Q:无法获取监控数据,如何排查? A:检查集群是否正常,打开控制台,是否会报“Could not get kubernetesClient from the pool”提示错误,若有请查看apiserver是否正常;
  • 本节介绍了容器云服务引擎CCSE的管理类常见问题。 Q:容器CCSE实例是否支持扩容? A:公测期间不支持扩容。转为商用后会开放扩容能力。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部