本文主要是介绍配置etcd、apiserver使用的cpu和内存资源,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
etcd pod 默认使用的cpu和内存都是100M,当集群变大时,资源会不够用,导致异常,如:
apiserver 默认使用cpu为250M
k8s-master121 kubelet[31020]: E0425 14:41:54.026671 31020 controller.go:187] failed to update lease, error: etcdserver: request timed out
kubelet[31020]: E0425 15:08:32.089005 31020 controller.go:187] failed to update lease, error: Put “https://k8s-master.com:6443/apis/coordination.k8s.io/v1/namespaces/kube-node-lease/leases/k8s-master121?timeout=10s”: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
同时在k8s的dashboard中,apiserver的pod会有健康检查失败的事件。
这些都是由于cpu资源不够导致的问题。
我们可以根据需要,把etcd 和 apiserver使用的资源需求都改为500M,如下:
修改文件/etc/kubernetes/manifests/etcd.yam
# cat etcd.yaml
apiVersion: v1
kind: Pod
metadata:annotations:kubeadm.kubernetes.io/etcd.a
这篇关于配置etcd、apiserver使用的cpu和内存资源的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!