Kubernetes中的水平Pod自动缩放

Dim*_*rih 5 kubernetes google-kubernetes-engine kubectl

我有一个集群,可以根据我的Pod的CPU使用量进行扩展。文档指出,我应该通过快速缩放来防止抖动。我想使用自动缩放速度,但是我似乎找不到在以下位置应用以下标志:

  • -水平吊舱自动缩放器降低延迟
  • -水平吊舱自动缩放器-高级延迟

我的目标是将冷却时间计时器设置为低于5m3m,有人知道如何完成此操作,或者在哪里可以找到有关如何配置此功能的文档?另外,如果必须在hpa自动缩放YAML文件中配置此文件,是否有人知道该使用什么定义,或者在哪里可以找到有关如何配置YAML的文档? 这是指向Kubernetes文档的链接,该文档涉及我使用的缩放冷却时间。

Mic*_*las 6

HPA控制器是控制器管理器的一部分,您需要将标志传递给它,另请参阅docs。这不是您要通过kubectl进行的操作。它是控制平面(主机)的一部分,因此取决于您如何设置Kubernetes和/或使用的产品。例如,在GKE中,控制平面不可访问,在Minikube中,您将SSH到节点中,等等。

  • 不是在 GKE 上,不是。你无权访问那里的主人。 (2认同)
  • 谢谢,也许我的(旧)实验在这里还是很有用的:https://github.com/mhausenblas/k8s-autoscale (2认同)

chi*_*kar 5

根据这里所有的讨论,这是我的经验,对我来说很有用,也许可以帮助某人。

ssh掌握节点并进行/etc/kubernetes/manifests/kube-controller-manager.manifest如下编辑

command:
- /hyperkube
- controller-manager
- --kubeconfig=/etc/kubernetes/kube-controller-manager-kubeconfig.yaml
- --leader-elect=true
- --service-account-private-key-file=/etc/kubernetes/ssl/service-account-key.pem
- --root-ca-file=/etc/kubernetes/ssl/ca.pem
- --cluster-signing-cert-file=/etc/kubernetes/ssl/ca.pem
- --cluster-signing-key-file=/etc/kubernetes/ssl/ca-key.pem
- --enable-hostpath-provisioner=false
- --node-monitor-grace-period=40s
- --node-monitor-period=5s
- --pod-eviction-timeout=5m0s
- --profiling=false
- --terminated-pod-gc-threshold=12500
Run Code Online (Sandbox Code Playgroud)
- --horizontal-pod-autoscaler-downscale-delay=2m0s
- --horizontal-pod-autoscaler-upscale-delay=2m0s
Run Code Online (Sandbox Code Playgroud)
- --v=2
- --use-service-account-credentials=true
- --feature-gates=Initializers=False,PersistentLocalVolumes=False,VolumeScheduling=False,MountPropagation=False
Run Code Online (Sandbox Code Playgroud)

引用的部分是我添加的参数。无需重新启动kubelet服务即可更新它。

如果找不到该值更新,则可以重新启动systemctl restart kubelet

注意:我已经使用kubespray创建了HA集群

希望这可以对某人有所帮助。

谢谢!