这篇文章主要介绍了Kubelet配置参数有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
下面是Kubelet version 1.12.0的所有配置。
Flag | Comments |
---|---|
--address | default 0.0.0.0,Kublet 监听地址, 0.0.0.0表示监听所有网络接口 |
--allow-privileged | 是否允许容器使用特权模式 |
--alsologtostderr | 所有log输出到标准错误输出 |
--anonymous-auth | Kubelet server是否允许匿名的请求(default true) |
--application-metrics-count-limit | 每个容器允许记录的最大事件数量(default 100 |
--authentication-token-webhook | 是否允许使用TokerReview API 给持有的tokens做鉴权 |
--authentication-token-webhook-cache-ttl | 缓存webhook token认证器回复的时间(默认值2m0s) |
--authorization-mode | Kubelet的认证模式,取值(AlwaysAllow(默认值),Webhook) Webhook模式使用SubjectAccessReview API做鉴权 |
--authorization-webhook-cache-authorized-ttl | 缓存Webhook授权人的已授权回复的时间(默认值5m0s) |
--authorization-webhook-cache-unauthorized-ttl | 缓存Webhook授权人的未授权回复的时间(默认值30s) |
--azure-container-registry-config | 文件容器路径Azure 容器注册配置信息 |
--boot-id-file | 以逗号分隔的检查boot-id的文件列表。使用第一个存在的 (默认值: /proc/sys/kernel/random/boot_id) |
--bootstrap-checkpoint-path | 存储checkpoint的目录 |
--bootstrap-kubeconfig | 用来获取kubelet客户证书的Kubeconfig file的路径, 如果kubelet 没有定义--kubeconfig参数,bootstrap kubeconfig会用于从 API server获取客户证书。成功经验:引用已生成的客户证书和密钥 的kubeconfig写入--kubeconfig指定的路径。 客户证书和密钥将会储存在--cert-dir指定的目录中 |
--cadvisor-port | 本地cAdvisor的端口,设置为0表示不可用,默认为4194 |
--cert-dir | TLS证书所在的目录。如果--tls-cert-file和--tls-private-key-file 提供了,那么这个参数会被忽略。默认值: "/var/lib/kubelet/pki" |
--cgroup-driver | Kubelet用来操作主机cgroups的驱动 |
--cgroup-root | Pods 可选的root cgroup, 这是由container runtime 在最佳工作的基础上处理的。 默认值: ",意思是使用container runtime的默认处理 |
--cgroups-per-qos | 支持创建QoS cgroup的层级结构。如果是true,最高层级的 |
--chaos-chance | 如果值大于0.0,那么就引入随机的客户端错误和延迟,用于测试。 |
--client-ca-file | 如果set了,任何提供client-ca-file中由某个权威机构签名的 客户机证书的请求都使用与客户机证书的公共名称相对应的 身份进行身份验证 |
--cloud-config | cloud provider配置文件的路径 |
--cloud-provider | 云服务的提供商。指定空值以在没有云提供商的情况下运行 |
--cloud-provider-gce-lb-src-cidrs | GCE防火墙给LB流量代理开放的CIDRS。默认值: 130.211.0.0/22,35.191.0.0/16,209.85.152.0/22,209.85.204.0/22 |
--cluster-dns | 以逗号分隔的DNS 服务IP地址。 |
--cluster-domain | 集群的域名 |
--cni-bin-dir | 查找CNI插件二进制文件的完整目录。默认值:/opt/cni/bin |
--cni-conf-dir | 查找CNI插件配置文件的完整目录。默认值:/etc/cni/net.d |
--container-hints | 容器提示文件的目录。默认值:/etc/cadvisor/container_hints.json |
--container-runtime | 使用的container runtime容器运行时。可用值“docker”,“rkt”。 默认值为“docker”。 |
--container-runtime-endpoint | 试验性参数。远程运行时的服务端口, 目前Linux支持unix socket, Windows支持tcp。 |
--containerd | contained端口,默认值:unix:///var/run/containerd.sock |
--containerized | 试验性参数。支持在容器中运行kubelet |
--contention-profiling | 如果启用了profiling,支持锁住争夺profiling |
--cpu-cfs-quota | 为指定CPU配额限制的容器启动CPU CFS配额强制执行, 默认值:true |
--cpu-manager-policy | CPU的管理器策略。可选值:“none”,“static”。默认值:“none” |
--cpu-manager-reconcile-period | CPU管理器调节周期。Nodes 状态更新频率。默认10s。 |
--docker | docker端口,默认值:unix:///var/run/docker.sock |
--docker-disable-shared-pid | RI在同一个POD的中的容器在1.13.1 的docker版本默认使用 同一个PID namespace.设置该标志将恢复到独立 PID namespace之前的行为,将会在之后移除 |
--docker-endpoint | 将此端口用于docker端口通信, 默认值:unix:///var/run/docker.sock |
--docker-env-metadata-whitelist | docker容器需要收集的一份以逗号间隔的环境变量列表 |
--docker-only | 除了根目录,只报告docker容器 |
--docker-root | 弃用:docker root从docker info(默认:"/var/lib/docker")读取的 |
--docker-tls | 使用TLS连接docker |
--docker-tls-ca | 可信CA的路径,默认值:ca.pem |
--docker-tls-cert | 客户端证书的路径,默认值:cert.pe |
--docker-tls-key | 私有密钥的路径 |
--dynamic-config-dir | Kubelet将会使用这个目录来校验下载的配置以及追踪配置的健康。 Kubelet会建空目录当该目录不存在时。该路径可能是绝对的 或者相对的,相对路径从Kubelet正在工作的目录开始。 提供该标志可启用Kubelet动态配置,目前, 必须启用DynamicKubeletConfig来传递此标志。 |
--enable-controller-attach-detach | 允许附加/分离的controller管理调度附加/分离的volumes到该node, 并禁止kubelet执行任何的附加/分离操作,默认值:true |
--enable-debugging-handlers | 启用用于日志收集和本地运行容器和命令的服务端端点,默认值:true |
--enable-load-reader | 是否启用cpu负载阅读 |
--enable-server | 启用kubelet服务器,默认值:true |
--enforce-node-allocatable | 由kubelet执行的节点可分配强制执行级别的逗号分隔列表。 可选值:“pods”,“system-reserved,”“kube-reserved”. 如果指定后两个选项,那么'--system-reserved-cgroup' & '--kube-reserved-cgroup' 也需要分别设置,默认值“pods”。 |
--event-burst | 突发事件记录的最大值,临时允许事件记录爆发到该数字,但不超过 event-qps。只有当--event-qps > 0 时才有用,默认值:10 |
--event-qps | 如果大于0,将每秒创建的事件限制为该值。如果是0,则不限制。 默认值:5 |
--event-storage-age-limit | 存储事件的最大时间长度(每种类型),值是一个使用逗号 分隔的键值列表。key值是事件类型(creation, oom)或者dafault, 值是一个整数。默认应用于所有没有指定的事件类型。 默认值:“default=0” |
--event-storage-event-limit | 存储事件的最大数量(每种类型),值是一个使用逗号分隔的键值列表。 key值是事件类型(creation, oom)或者dafault,值是一个整数。默认应用于 所有没有指定的事件类型。默认值:“default=0” |
--eviction-hard | 触发pod驱逐的一组驱逐阀值(e.g. memory.available<1Gi)。默认值:imagefs.available<15%,memory.available<100Mi, nodefs.available<10%,nodefs.inodesFree<5% |
--eviction-max-pod-grace-period | 终止pod的最大宽限时间(秒),以响应最大的软驱逐阀值 |
--eviction-minimum-reclaim | 一组最小的回收策略(i.e. imagefs.available=2Gi),用来描述当资源处于压力时候,执行pod驱逐将要回收的最小资源数量 |
--eviction-pressure-transition-period | kubelet过渡到驱逐压力状态需要等待的时间 |
--eviction-soft | 一组驱逐阀值(e.g. memory.available<1.5Gi),如果在相应的--eviction-soft-grace-period内都超过该阀值, 就会触发pod驱逐 |
--eviction-soft-grace-period | 组驱逐的宽限期(e.g. memory.available=1m30s) ,需要持续触及软驱逐阀值多久才触发pod驱逐 |
--exit-on-lock-contention | Kubelet是否应该在锁文件争用的时候退出 |
--experimental-allocatable-ignore-eviction | set to true时,当在计算Node可分配的资源时,硬驱逐阀值会被忽略,默认值为false |
--experimental-allowed-unsafe-sysctls | 以逗号分隔的不安全的sysctl或不安全的sysctl模式的一组白名单(以*结尾)。使用该参数需要自行承担风险。 |
--experimental-bootstrap-kubeconfig | 启用,改为使用--bootstrap-kubeconfig |
--experimental-check-node-capabilities-before-mount | 试验性的,如果设置为true,在执行挂载之前,kubelet将会检查底层节点的组件(二进制文件等) |
--experimental-kernel-memcg-notification | 如果启用,kubelet将会与内核memcg通知集成,以确定是否超过了内存阀值,而不是轮询 |
--experimental-mounter-path | 试验性的,贴片二进制文件的路径,保持空以便使用默认的挂载 |
--experimental-qos-reserved | 一组资源名=百分比(e.g. memory=50%),描述了在Qos的级别上pod资源请求是如何保留的。 目前只支持memory。默认值是none |
--fail-swap-on | 如果swap在节点上启用了,则使kubelet无法启动 |
--feature-gates | 一组键值对用于描述alpha/实验特性的特性门 |
--file-check-frequency | 检查新数据的配置文件的持续时间,默认值20s |
--global-housekeeping-interval | 全局性housekeeping的时间间隔,默认值1m0s |
--google-json-key | Google云平台用于身份验证的Service Account Json key值 |
--hairpin-mode | Kubelet该怎么设置hairpin NAT.这个参数允许Service的端点在试图访问自己的Service重新负载均衡 |
--healthz-bind-address | Deafult 127.0.0.1。用于healthz服务的IP地址 |
--healthz-port | 本地主机healthz端点的端口,设为0表示不可用,默认值:10248 |
--host-ipc-sources | Kubelet允许pod使用主机IPC namespace的一组以逗号分隔的源列表 |
--host-network-sources | Kubelet允许pod使用主机NETWORK namespace的一组以逗号分隔的源列表 |
--host-pid-sources | Kubelet允许pod使用主机PID namespace的一组以逗号分隔的源列表 |
--hostname-override | 如果该参数不是空的,会使用这个参数作为身份识别替代实际的hostname |
--housekeeping-interval | 容器housekeeping的间隔时间,默认值10s |
--http-check-frequency | 检查新数据的http之间的持续时间,默认值20s |
--image-gc-high-threshold | 当磁盘使用率达到该值时,触发镜像的GC操作,默认值:85 |
--image-gc-low-threshold | 当磁盘使用率降到该值时,GC操作结束,默认值:80 |
--image-pull-progress-deadline | 如果在这个deadline前拉取镜像没有结束,那么拉取镜像会被取消。默认值:1m0s |
--image-service-endpoint | 试验性。远程镜像服务的端口。如果没有指定,那么这个参数默认和container-runtime-endpoint一样。 目前linux支持unix socket,windows支持tcp。 |
--init-config-dir | Kubelet会从这个目录中查找初始配置。这个路径可能是绝对的或者相对的, 相对路径从Kubelet的当前工作目录开始。缺省该参数以使用内置的默认配置值。 目前,还需要启用Kubeletconfig的feature gate来传递这个标志。 |
--iptables-drop-bit | fwmark空间的一部分,用来标记要丢弃的数据包。取值范围0~31,默认值:15 |
--iptables-masquerade-bit | fwmark空间的一部分,用来将数据包标记为SNAT。取值范围0~31, 请将此参数与kube-proxy相应的参数进行匹配。默认值:14 |
--kube-api-burst | 与kubernetes apiserver交互时的burst,默认是10 |
--kube-api-content-type | 发送到apiserver的请求的内容类型。默认:application/vnd.kubernetes.protobuf |
--kube-api-qps | 与kubernetes apiserver交互时的QPS使用,默认值5 |
--kube-reserved | 用来描述给kubernetes系统组件预留资源的一组ResourceName=ResourceQuantity (e.g. cpu=200m,memory=500Mi,ephemeral-storage=1Gi) 。目前,支持cpu,内存, 和root file系统的临时性存储 |
--kube-reserved-cgroup | 顶级cgroup的绝对名称,用于管理通过'--kube-reserved'标志保留计算资源kubernetes组件 |
--kubeconfig | kubeconfig file的路径,指定连接API server的方式。默认值:"/var/lib/kubelet/kubeconfig" |
--kubelet-cgroups | 可选的cgroups的绝对名称,用来创建和运行Kubelet。 |
--lock-file | kubelet作为锁文件使用的文件路径 |
--log-backtrace-at | 当日志文件记录到行文件N时,发出堆栈跟踪,默认值0 |
--log-cadvisor-usage | 是否记录cAdvisor容器的使用情况 |
--log-dir | 如果为非空,将日志文件写入该目录 |
--log-flush-frequency | 日志刷新间隔最大的秒数。默认值:5s |
--logtostderr | 日志写到标注错误输出,而不是文件,默认值为true |
--machine-id-file | 以逗号分隔的文件列表,用来检查机器id。使用第一个存在的。 默认值:"/etc/machine-id,/var/lib/dbus/machine-id" |
--make-iptables-util-chains | 如果是true,kubelet将确保在主机上提供iptables实用规则 |
--manifest-url | 访问容器清单的URL |
--manifest-url-header | 在访问URL清单的时候使用的以逗号分隔的HTTP头部列表。 将按照提供的顺序添加具有相同名称的多个头部,可以重复调用该标志。 I.E. --manifest-url-header 'a:hello,b:again,c:world' --manifest-url-header 'b:beautiful' |
--max-open-files | Kubelet进程可以打开的文件数量,默认值:1000000 |
--max-pods | Kubelet可以运行的最大pod数量,默认值:110 |
--minimum-image-ttl-duration | 未被使用的镜像在垃圾收集之前的最低使用年限 |
--network-plugin | Kubelet/pod生命周期中的各种各样的时间调用的网络插件的名称 |
--network-plugin-mtu | 通过网络插件的MTU(最大传输单元),用来覆盖默认值。设为0表示使用默认1460MTU |
--node-ip | Node的IP地址,如果设置,Kubelet将为node使用这个IP地址 |
--node-labels | 当注册这个node到集群时添加这些Labels |
--node-status-update-frequency | 指定Kubelet发布节点状态给master的频率。注意:改变该常量时要小心, 必须和nodecontroller的nodeMonitorGracePeriod相结合。默认值:10s。 |
--oom-score-adj | Kubelet进程的oom-score-adj值,取值范围-1000 ~ 1000。默认值:-999 |
--pod-cidr | 用于POD IP地址的CIDR,仅在独立模式下使用。 |
--pod-infra-container-image | 每个pod的network/ipc namespace容器使用的镜像,默认:"k8s.gcr.io/pause:3.1" |
--pod-manifest-path | (静态pod目录)包含需要运行的pod元文件目录,或者单个pod的元文件。以 “.”开头的文件会被忽略。 |
--pods-per-core | Kubelet上每个核心可以运行的pods,Kubelet上Pods的总数不能超过max-pods, 所以当这个参数计算的结果大于max-pods时,Kubelet会使用max-pods的参数, 该参数设置为0时表示不使用。 |
--port | Kubelet的端口,默认值10250 |
--protect-kernel-defaults | 内核调优的默认Kubelet行为。如果设置,任何内核的可调参数和kubelet的默认值 不同,则kubelet会出现错误。 |
--provider-id | 用于标示节点在机器数据库中唯一标示符 |
--read-only-port | Kubelet监听的只读端口,无需授权/身份验证即可使用,默认值10255,设置为0表示不可用。 |
--really-crash-for-testing | 如果设为true,当出现panics时候引起奔溃,用于测试。 |
--register-node | 向APIserver注册节点。如果--kubeconfig没有提供,这个标志就无关紧要了, 因为Kubelet没有一个注册服务器。默认值为true。 |
--register-with-taints | 使用指定的污染列表(逗号分隔‘=:’)。如果注册节点是false,则无操作。 |
--registry-burst | 突发性pulls的最大值,临时允许pulls爆发到该值,但仍然不超过registry-qps。 只有--registry-qps > 0时候这个标志才有用。默认值10. |
--registry-qps | 当大于0时,限制注册表pull QPS到这个值。 |
--resolv-conf | 解析配置文件用作容器DNS解析配置的基础,默认值:"/etc/resolv.conf" |
--root-dir | 管理kubelet文件的目录路径。(volume mounts等等)。默认值: "/var/lib/kubelet" |
--rotate-certificates | 当证书到期时,通过从kube-apiserver请求新的证书,自动旋转kubelet客户机证书 |
--runonce | 如果设置为true,当从本地清单或者远程urls生成pod之后退出。给--enable-server单独使用的 |
--runtime-cgroups | 可选的cgroups的决定名称,用于创建和运行runtime |
--runtime-request-timeout | 除了长时间运行的请求(pull,logs,exec,attach)以外,所有runtime请求的超时时间。 当触发超时时,kubelet会取消请求,抛出一个错误并稍后重试,默认值:2m0s |
--seccomp-profile-root | seccomp概要文件的目录路径。默认值:"/var/lib/kubelet/seccomp" |
--serialize-image-pulls | 每次拉取一个镜像。建议不要在<1.9的docker版本或者使用Aufs存储后端的节点修改默认的值。默认值true。 |
--stderrthreshold | 在此阀值或以上的日志转到标准错误输出。默认值2 |
--storage-driver-buffer-duration | 在此期间,存储驱动程序中的写入将被缓冲,并作为单个事务提交给非内存后端。默认值:1m0s |
--storage-driver-db | 数据库的名称,默认值:"cadvisor" |
--storage-driver-host | 数据库主机:端口,默认值:"localhost:8086" |
--storage-driver-password | 数据库密码,默认值:"root" |
--storage-driver-secure | 数据库使用安全连接 |
--storage-driver-table | 表名,默认值: "stats" |
--streaming-connection-idle-timeout | 在连接自动关闭之前,流连接可以空闲的最长时间。0表示没有超时。默认值:4h0m0s |
--sync-frequency | 同步运行的容器和配置之间最大的间隔。默认值:1m0s |
--system-cgroups | 可选的cgroups的绝对名称将所有非内核进程放在/下的cgroup中。空表示容器, 回滚标志需要重新引导。 |
--system-reserved | 一组ResourceName=ResourceQuantity对(e.g. cpu=200m,memory=500Mi, ephemeral-storage=1Gi) 的集合,用于描述非kubernetes组件的预留资源。 目前只支持cpu和内存。默认值为 [default=none] |
--system-reserved-cgroup | 顶级的cgroup的绝对名称,用于管理非kubernetes的组件,这些组件的计算资源 通过 '--system-reserved' 保留。默认值:[default=''] |
--tls-cert-file | 用于服务HTTPS的包含x509证书的文件(如果有中间证书,则连接在服务器证书之后), 如果--tls-cert-file和--tls-private-key-file没有提供,则为公共地址生成自签名 证书和密钥,并报春传递到--cert-dir的目录中。 |
--tls-cipher-suites | 用逗号分隔的服务器密码套件列表。如果省略,将使用默认的Go密码套件。 |
--tls-private-key-file | 包含匹配--tls-cert-file文件的x509私钥的文件。 |
-v, --v | 日志的日志级别 |
--vmodule | 以逗号分隔的 “模式列表=N” 的文件过滤日志记录设置 |
--volume-plugin-dir | 用于寻找附加的第三方volume插件的完整目录路径。 默认值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" |
--volume-stats-agg-period | 指定Kubelet计算和缓存所有pods/volumes的volume使用量的间隔。 |
参考:大神的博客https://my.oschina.net/jxcdwangtao/blog/891960
要做好资源预留的话,需要事先创建以下cgroup目录:
/sys/fs/cgroup/cpuset/system.slice/kubelet.service /sys/fs/cgroup/hugebtl/system.slice/kubelet.service
这个工作可以放到kubelet.service的ExecStartPre中做。
而且一定要加上这三个配置项,否则无法生效:
--enforce-node-allocatable=pods,kube-reserved,system-reserved --kube-reserved-cgroup=/system.slice/kubelet.service --system-reserved-cgroup=/system.slice
感谢你能够认真阅读完这篇文章,希望小编分享的“Kubelet配置参数有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。