--- apiVersion: apps/v1 kind: Deployment metadata: name: hpadeployment labels: name: hpadeployment spec: replicas: 2 selector: matchLabels: name: hpapod template: metadata: labels: name: hpapod spec: containers: - name: hpacontainer image: k8s.gcr.io/hpa-example ports: - name: http containerPort: 80 resources: requests: cpu: "100m" memory: "64Mi" limits: cpu: "100m" memory: "256Mi" --- apiVersion: v1 kind: Service metadata: name: hpaclusterservice labels: name: hpaservice spec: ports: - port: 80 targetPort: 80 selector: name: hpapod type: ClusterIP --- apiVersion: autoscaling/v2beta1 kind: HorizontalPodAutoscaler metadata: name: hpadeploymentautoscaler spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: hpadeployment minReplicas: 2 maxReplicas: 5 metrics: - resource: name: cpu targetAverageUtilization: 50 type: Resource