我正在尝试使用自动标度方案(目前使用的是microk8s单节点个人集群)。
基本CPU缩放工作良好。
对于更复杂的场景,我试图遵循https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/#autoscaling-on-multiple-metrics-and-custom-metrics的指南,但我不知道如何/在何处定义/记录可能的pod度量/对象度量。例如..。“每秒包”记录在哪里。
我可以通过kubectl或者手动执行REST来导航,但是必须有更好的方法。
谢谢
apiVersion: autoscaling/v2beta1
kind: HorizontalPodAutoscaler
metadata:
name: php-apache
namespace: default
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: php-apache
minReplicas: 1
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: AverageUtilization
averageUtilization: 50
- type: Pods
pods:
metric:
name: packets-per-second ====> where is this name defined/documented ?
targetAverageValue: 1k
- type: Object
object:
metric:
name: requests-per-second ====> where is this name defined/documented ?
describedObject:
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
name: main-route
target:
kind: Value
value: 10k发布于 2019-08-03 05:01:43
ResourceMetric中的CPU或内存使用情况是由kubelet提供,并由公制服务器收集。
但是对于packets-per-second和requests-per-second,没有官方的提供者,因此这个字段实际上可以是任何值,这取决于您部署的非官方定制指标API。
https://github.com/kubernetes/metrics/blob/master/IMPLEMENTATIONS.md列出了一些流行的自定义度量API。
发布于 2019-08-04 04:23:12
下面的GitHub项目提供了很多关于使用Prometheus提供的自定义度量来在Kubernetes中自动标度Pods的信息。
https://stackoverflow.com/questions/57330661
复制相似问题