デプロイを管理するカスタム リソースがあります。デプロイを直接スケーリングするのではなく、デプロイの CPU 使用率に基づいて HPA で CR レプリカ数をスケーリングできるようにしたいと考えています。デプロイを直接スケーリングする場合、調整ループがトリガーされると、CR に記載されているようにデプロイ レプリカ数と目的のレプリカ数との不一致がすぐにわかり、それに応じてデプロイが更新されます。
私はかなり近いです。CR のスケール エンドポイントが正常に機能しており、HPA もエンドポイントに到達できます。子のリソース使用量を読み取ることができません。
展開を直接スケーリングする場合も機能しますが、上で述べたように、それは実行可能なソリューションではありません。メトリクス サーバーが正常に機能しており、リソースの使用率が取得可能であることを証明するだけです。
HPA YAML:
kind: HorizontalPodAutoscaler
metadata:
name: {{.metadata.name}}
namespace: {{.spec.namespace}}
spec:
minReplicas: 1
maxReplicas: 2
metrics:
- resource:
name: cpu
targetAverageUtilization: 2
type: Resource
scaleTargetRef:
apiVersion: testcrds.group.test/v1alpha1
kind: MyKind
name: my-kind-1
そして、HPA が少なくとも CR のスケール エンドポイントに到達できることを証明します。
Name: my-hpa
Namespace: default
Labels: <none>
Annotations: kubectl.kubernetes.io/last-applied-configuration:
{"kind":"HorizontalPodAutoscaler","apiVersion":"autoscaling/v2beta1","metadata":{"name":"my-kind-1","namespace":"default","creationTimestamp":n...
CreationTimestamp: Wed, 21 Aug 2019 17:22:11 -0400
Reference: MyKind/my-kind-1
Metrics: ( current / target )
resource cpu on pods (as a percentage of request): <unknown> / 2%
Min replicas: 1
Max replicas: 2
MLP pods: 0 current / 1 desired
Conditions:
Type Status Reason Message
---- ------ ------ -------
AbleToScale True SucceededRescale the HPA controller was able to update the target scale to 1
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal SuccessfulRescale 3m54s (x80 over 23m) horizontal-pod-autoscaler New size: 1; reason: Current number of replicas below Spec.MinReplicas
ご覧のとおり、リソース使用率の取得にダイスはありません...