前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubelet最佳配置

kubelet最佳配置

作者头像
Walton
发布2018-04-16 11:38:04
2.4K0
发布2018-04-16 11:38:04
举报
文章被收录于专栏:KubernetesKubernetes

author: garnett.wang@gmail.com

kubernetes version: 1.6.2

Kubelet Configurations We Should Care About

下面是我梳理的,我认为必须关注的flag。

flag

value

--address

0.0.0.0

--allow-privileged

false

--cadvisor-port int32

4194

--cgroup-driver string

cgroupfs

--cluster-dns stringSlice

10.0.0.10 //todo

--cluster-domain string

caas.vivo.com

--cni-bin-dir string

/opt/cni/bin

--cni-conf-dir string

/etc/cni/net.d

--docker-endpoint string

unix:///var/run/docker.sock

--eviction-hard string

memory.available<4Gi,<br/> nodefs.available<20Gi,<br/> imagefs.available<5Gi

--eviction-max-pod-grace-period int32

30

--eviction-minimum-reclaim string

memory.available=500Mi,<br/> nodefs.available=2Gi,,<br/> imagefs.available=2Gi

--eviction-pressure-transition-period duration

5m0s

--eviction-soft string

memory.available<8Gi,<br/> nodefs.available<100Gi,<br/> imagefs.available<20Gi

--eviction-soft-grace-period string

memory.available=30s,<br/> nodefs.available=2m,<br/> imagefs.available=2m

--experimental-fail-swap-on

+

--experimental-kernel-memcg-notification

+

--feature-gates string

AllAlpha=false

--file-check-frequency duration

20s

--hairpin-mode string

promiscuous-bridge

--healthz-port int32

10248

--image-gc-high-threshold int32

60

--image-gc-low-threshold int32

40

--image-pull-progress-deadline duration

2m0s

--kube-api-qps int32

5

--kube-reserved mapStringString

cpu=200m,memory=16G

--kubeconfig string

/var/lib/kubelet/kubeconfig

--max-pods int32

50

--minimum-image-ttl-duration duration

1h

--network-plugin string

cni

--pod-infra-container-image string

vivo.registry.com/google_containers/pause-amd64:3.0

--pod-manifest-path string

/var/lib/kubelet/pod_manifest

--port int32

10250

--protect-kernel-defaults

+

--read-only-port int32

10255

--require-kubeconfig

+

--root-dir string

/var/lib/kubelet

--runtime-request-timeout duration

2m0s

--serialize-image-pulls

false

--sync-frequency duration

1m0s

--system-reserved mapStringString

cpu=100m,memory=32G

--volume-plugin-dir string

/usr/libexec/kubernetes/kubelet-plugins/volume/exec/

--volume-stats-agg-period duration

1m0s

Kubelet Configuration Best Practicies

下面是我最终梳理的,认为需要真正显示设置的flag,如下:

代码语言:javascript
复制
/usr/bin/kubelet —address=0.0.0.0 
--port=10250 
--allow-privileged=false 
--cluster-dns=10.0.0.1 
--cluster-domain=caas.vivo.com
--max-pods=50 
--network-plugin=cni 
--require-kubeconfig 
--pod-manifest-path=/etc/kubelet.d/
--pod-infra-container-image=vivo.registry.com/google_containers/pause-amd64:3.0 
--eviction-hard=memory.available<4Gi,nodefs.available<20Gi,imagefs.available<5Gi 
--eviction-max-pod-grace-period=30 
--eviction-minimum-reclaim=memory.available=500Mi,nodefs.available=2Gi,imagefs.available=2Gi 
--eviction-pressure-transition-period=5m0s 
--eviction-soft=memory.available<8Gi,nodefs.available<100Gi,imagefs.available<20Gi 
--eviction-soft-grace-period=memory.available=30s,nodefs.available=2m,imagefs.available=2m 
--experimental-kernel-memcg-notification 
--experimental-fail-swap-on 
--system-reserved=cpu=100m,memory=8G 
--kube-reserved=cpu=200m,memory=16G
--hairpin-mode=promiscuous-bridge 
--image-gc-high-threshold=60 
--image-gc-low-threshold=40 
--serialize-image-pulls=false 
--protect-kernel-defaults 
--feature-gates=AllAlpha=false 

注意:要做好资源预留的话,还需要事先创建以下cgroup目录:

代码语言:javascript
复制
/sys/fs/cgroup/cpuset/system.slice/kubelet.service  
/sys/fs/cgroup/hugebtl/system.slice/kubelet.service  

这个工作可以放到kubelet.service的ExecStartPre中做。

而且一定要加上这三个配置项,否则无法生效:

代码语言:javascript
复制
--enforce-node-allocatable=pods,kube-reserved,system-reserved   
--kube-reserved-cgroup=/system.slice/kubelet.service   
--system-reserved-cgroup=/system.slice  
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Kubelet Configurations We Should Care About
  • Kubelet Configuration Best Practicies
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档