我有一个可根据我的pod的CPU使用量进行扩展的群集。该文档指出我应该通过缩放到快速来防止颠簸。我想玩自动缩放速度,但我似乎无法找到应用以下标志的位置:
我的目标是将冷却时间设置为低于 5m 或 3m ,是否有人知道这是如何完成的,或者我在哪里可以找到有关如何配置此文档的文档?此外,如果必须在hpa自动缩放YAML文件中配置,是否有人知道应该使用什么定义或在哪里可以找到有关如何配置YAML的文档? This is a link to the Kubernetes documentation about scaling cooldowns i used.
答案 0 :(得分:5)
HPA控制器是控制器管理器的一部分,您需要将标志传递给它,另请参阅docs。这不是你通过kubectl做的事情。它是控制平面(主控)的一部分,因此取决于您如何设置Kubernetes和/或您正在使用的产品。例如,在GKE中无法访问控制平面,在Minikube中你可以进入节点等等。
答案 1 :(得分:3)
根据我在这里的所有讨论是我的经验而且它为我工作,可能会帮助别人。
Exception
主节点并编辑public async Task<ResponseStatus> ProcessRCSCNotification(IList<RecurringSubscriptionModelV2> recurringSubscriptionList, string appCD)
{
foreach (var model in modelList)
{
// Some code
try
{
// Exception occurs here
}
catch (Exception ex)
{
// Logger is logging exception here
}
}
return null;
}
,如下所示
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
引用的部分是我添加的参数。如果没有重新启动kubelet服务,它就会更新。
如果您未发现此值已更新,则可以重新启动- --horizontal-pod-autoscaler-downscale-delay=2m0s
- --horizontal-pod-autoscaler-upscale-delay=2m0s
。
注意:我使用kubespray
创建了HA群集希望这可以成为某人的救星。
谢谢!
答案 2 :(得分:0)
如果您使用kubeadm设置集群,则将这些参数添加到controllerManagerExtraArgs下的kubeadm主配置文件中。 示例在下面给出
apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
kubernetesVersion: ${k8s_version}
cloudProvider: vsphere
api:
advertiseAddress: ${k8s_master_ip}
controlPlaneEndpoint: ${k8s_master_lb_hostname}
apiServerCertSANs:
- ${k8s_master_lb_ip}
- ${k8s_master_ip0}
- ${k8s_master_ip1}
- ${k8s_master_ip2}
- ${k8s_master_lb_hostname}
apiServerExtraArgs:
endpoint-reconciler-type: lease
requestheader-allowed-names:
cloud-config: /etc/vsphere/config
enable-admission-plugins: "NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,ResourceQuota,NodeRestriction,Priority"
controllerManagerExtraArgs:
horizontal-pod-autoscaler-use-rest-clients: true
horizontal-pod-autoscaler-downscale-delay: 5m0s
horizontal-pod-autoscaler-upscale-delay: 2m0s
etcd:
endpoints:
- https://${k8s_master_ip0}:2379
- https://${k8s_master_ip1}:2379
- https://${k8s_master_ip2}:2379
caFile: /etc/kubernetes/pki/etcd/ca.pem
certFile: /etc/kubernetes/pki/etcd/client.pem
keyFile: /etc/kubernetes/pki/etcd/client-key.pem
..
..
..