通过kubectl scale 命令可以实现Pod的扩容或缩容。但是如果能够根据当前负载的变化情况自动触发扩容或缩容的行为,也就是实现Pod的智能扩容就更好了。在Kubernetes 1.1中,首次发布新特性Horizontal Pod Autoscaling。在1.2版本中,HPA被升级为稳定版本(apiVersion: autoscaling/v1),同时保留旧版本(apiVersion: extensions/v1beta1)。

Horizontal Pod Autoscaling简称HPA,通过追踪分析RC控制的所有目标Pod的负载变化情况,确定是否需要针对性的调整目标Pod副本数。HPA有两种Pod负载的度量标准:

  • CPUUtilizationPercentage

  • 应用程序自定义的度量指标,如服务在每秒内的相应的请求数(TPS或QPS)

定义HPA

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: php-apache
  namespace: default
spec:
  maxReplicas: 10
  minReplicas: 1
  scaleTargetRef:
    kind: Deployment
    name: php-apache
  targetCPUUtilizationPercentage: 90

results matching ""

    No results matching ""