2017-06-02 3 views
0

Ich habe einen 4-Knoten k8-Cluster mit Kargo (Kubernetes v1.6.1 + coreos.0) und hoffte, Autoscaling/v2alpha1 zu verwenden. Wenn ich kubectl api-version mache, sehe ich nur Autoscaling/v1. Also habe ich versucht, --runtime-config=apis/autoscaling/v2alpha1 Config zu /etc/kubernetes/manifests/kube-apiserver.manifest hinzuzufügen. Aber das würde meinen Apotheker zum Schweigen bringen.Kubernetes Autoscale Basierend auf Custom-Metriken auf v2alpha

Q1. Wie kann ich den neuen Autoscaling/v2alpha API-Satz meinem aktuellen Cluster hinzufügen? Gibt es eine Möglichkeit, nur die API zu installieren/zu aktualisieren (ich denke kubectl apply something), ohne den gesamten Cluster zu aktualisieren?

Q2. Ist es möglich, Autoscaling basierend auf benutzerdefinierten Messwerten mit in 1.6+ zu erhalten? Mit autoscale/v1, ich bin in der Lage, CPU-basierte Autoscale funktioniert ordnungsgemäß mit Heapster zu bekommen. Die docs sagen Unterstützung für Anmerkungen wurde in v1.6 zugunsten der Autoscaling/v2alpha1 entfernt.

+0

Vielleicht hilft Ihnen dieser Artikel, eine Lösung für Q2 zu finden. https://medium.com/@marko.luksa/kubernetes-autoscaling-based-on-custom-metrics-without-using-a-host-port-b783ed6241ac – Aleksandar

+0

Ich habe diesen Artikel untersucht. Obwohl die Messwerte in den Heapster aufgenommen werden, skaliert der HPA nicht basierend auf den benutzerdefinierten Messwerten. Ich hatte gehofft zu bestätigen, ob es daran liegt, dass die Annotation-basierte HPA-Skalierung in Autoscale/V1 deaktiviert ist. I K8 1.6 (so habe ich es aus dem k8-Dokument verstanden; wenn Sie benutzerdefinierte Metriken in 1.6 verwenden müssen, müssen Sie Autoscale/v2alpha1 verwenden) –

Antwort

1

Ich hatte ein gleiches Problem und habe es gerade gelöst! In meinem K8S 1.6.1 Cluster, fügte ich hinzu:

--runtime-config=apis/autoscaling/v2alpha1 

zu /opt/kubernates/manifests/kube-apisever.yaml, und dann den folgenden Befehl ausführen:

systemctl restart kubelet 

Danach Sie v2alhpa1 in den api-Version Listen sehen.