From b8031353d6e5b378492c04b42cb08f7d5ca52a65 Mon Sep 17 00:00:00 2001 From: yuli
| 字段 | 描述 |
|---|---|
apiVersionstring | kubelet.config.k8s.io/v1beta1 |
kindstring | CredentialProviderConfig |
providers [必需]+ []CredentialProvider
+ |
+
+
+
+ |
+
enableServer 会启用 kubelet 的安全服务器。
注意:kubelet 的不安全端口由 readOnlyPort 选项控制。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能会影响到与 kubelet 服务器交互的组件。
默认值:true
staticPodPath 是指向要运行的本地(静态)Pod 的目录,
或者指向某个静态 Pod 文件的路径。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑新路径下所给的静态 Pod 集合可能与 kubelet
-启动时所看到的集合不同,而这一差别可能会扰乱节点状态。
默认值:""
+默认值:""
syncFrequencymeta/v1.Duration
+meta/v1.Duration
syncFrequency 是对运行中的容器和配置进行同步的最长周期。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑缩短这一同步周期可能会带来负面的性能影响,
-尤其当节点上 Pod 个数增加时。相反,增加此周期长度时可能会导致 ConfigMap、
-Secret 这类资源未被及时更新。
默认值:"1m"
+默认值:"1m"
fileCheckFrequencymeta/v1.Duration
+meta/v1.Duration
fileCheckFrequency 是对配置文件中新数据进行检查的时间间隔值。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑缩短此时长会导致 kubelet 更为频繁地重新加载其静态 Pod 配置,
-而这会带来负面的性能影响。
默认值:"20s"
+默认值:"20s"
httpCheckFrequencymeta/v1.Duration
+meta/v1.Duration
httpCheckFrequency 是对 HTTP 服务器上新数据进行检查的时间间隔值。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑缩短此时长会导致 kubelet 更为频繁地轮询
-staticPodURL,而这会带来负面的性能影响。
默认值:"20s"
+默认值:"20s"
staticPodURL 是访问要运行的静态 Pod 的 URL 地址。
-
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,新的 URL 上包含的静态 Pod 集合可能与 kubelet
-初始启动时看到的不同,而这种差异可能会扰乱节点状态。
默认值:""
+默认值:""
staticPodURLHeader是一个由字符串组成的映射表,其中包含的 HTTP
头部信息用于访问podURL。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,要考虑可能导致无法从staticPodURL
-读取最新的静态 Pod 集合。
默认值:nil
address 是 kubelet 提供服务所用的 IP 地址(设置为 0.0.0.0
使用所有网络接口提供服务)。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰与 kubelet 服务器交互的组件。
默认值:"0.0.0.0"
@@ -197,15 +185,10 @@ Default: "0.0.0.0"port 是 kubelet 用来提供服务所使用的端口号。
这一端口号必须介于 1 到 65535 之间,包含 1 和 65535。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰与 kubelet 服务器交互的组件。
默认值:10250
@@ -218,16 +201,11 @@ Default: 10250 no authentication/authorization. The port number must be between 1 and 65535, inclusive. Setting this field to 0 disables the read-only service. -If DynamicKubeletConfig (deprecated; default off) is on, when -dynamically updating this field, consider that -it may disrupt components that interact with the Kubelet server. Default: 0 (disabled) -->readOnlyPort 是 kubelet 用来提供服务所使用的只读端口号。
此端口上的服务不支持身份认证或鉴权。这一端口号必须介于 1 到 65535 之间,
包含 1 和 65535。将此字段设置为 0 会禁用只读服务。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰与 kubelet 服务器交互的组件。
默认值:0(禁用)
@@ -241,17 +219,12 @@ if any, concatenated after server cert). If tlsCertFile and tlsPrivateKeyFile are not provided, a self-signed certificate and key are generated for the public address and saved to the directory passed to the Kubelet's --cert-dir flag. -If DynamicKubeletConfig (deprecated; default off) is on, when -dynamically updating this field, consider that -it may disrupt components that interact with the Kubelet server. Default:"quot; -->tlsCertFile是包含 HTTPS 所需要的 x509 证书的文件
(如果有 CA 证书,会串接到服务器证书之后)。如果tlsCertFile
和tlsPrivateKeyFile都没有设置,则系统会为节点的公开地址生成自签名的证书和私钥,
并将其保存到 kubelet --cert-dir参数所指定的目录下。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰与 kubelet 服务器交互的组件。
默认值:""
@@ -261,15 +234,10 @@ Default:"quot;tlsPrivateKeyFile是一个包含与tlsCertFile
证书匹配的 X509 私钥的文件。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰与 kubelet 服务器交互的组件。
默认值:""
tlsCipherSuites是一个字符串列表,其中包含服务器所接受的加密包名称。
列表中的每个值来自于tls包中定义的常数(https://golang.org/pkg/crypto/tls/#pkg-constants)。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰到与 kubelet 服务器交互的组件。
默认值:nil
tlsMinVersion给出所支持的最小 TLS 版本。
字段取值来自于tls包中的常数定义(https://golang.org/pkg/crypto/tls/#pkg-constants)。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰到与 kubelet 服务器交互的组件。
默认值:""
rotateCertificates用来启用客户端证书轮换。kubelet 会调用
certificates.k8s.io API 来请求新的证书。需要有一个批复人批准证书签名请求。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑禁用此行为时可能导致 kubelet 无法在当前证书过期时向
-API 服务器执行身份认证。
默认值:false @@ -343,20 +294,12 @@ signing a serving certificate, the Kubelet will request a certificate from the 'certificates.k8s.io' API. This requires an approver to approve the certificate signing requests (CSR). The RotateKubeletServerCertificate feature must be enabled when setting this field. -If DynamicKubeletConfig (deprecated; default off) is on, when -dynamically updating this field, consider that -disabling it will stop the renewal of Kubelet server certificates, which can -disrupt components that interact with the Kubelet server in the long term, -due to certificate expiration. Default: false -->
serverTLSBootstrap用来启用服务器证书引导。系统不再使用自签名的服务证书,
kubelet 会调用certificates.k8s.io API 来请求证书。
需要有一个批复人来批准证书签名请求(CSR)。
设置此字段时,RotateKubeletServerCertificate特性必须被启用。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑禁用此特性会导致 kubelet 的服务器证书无法被续约,
-长期上这会干扰到与 kubelet 服务器交互的组件,因为证书会过期。
默认值:false
@@ -366,26 +309,21 @@ kubelet 会调用certificates.k8s.io API 来请求证书。
authorization设置发送给 kubelet 服务器的请求是如何进行身份认证的。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰与 kubelet 服务器交互的组件。
默认值:
anonymous:
enabled: false
webhook:
enabled: true
- cacheTTL: "2m"
+ cacheTTL: "2m"
authorization设置发送给 kubelet 服务器的请求是如何进行鉴权的。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能会干扰到与 kubelet 服务器交互的组件。
默认值:
mode: Webhook
webhook:
- cacheAuthorizedTTL: "5m"
- cacheUnauthorizedTTL: "30s"
+ cacheAuthorizedTTL: "5m"
+ cacheUnauthorizedTTL: "30s"
registryPullQPS是每秒钟可以执行的镜像仓库拉取操作限值。
此值必须不能为负数。将其设置为 0 表示没有限值。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这类更新可能会因为镜像拉取所产生的流量变化而导致集群可扩缩能力问题。
默认值:5 @@ -446,17 +373,11 @@ Default: 5 pulls to burst to this number, while still not exceeding registryPullQPS. The value must not be a negative number. Only used if registryPullQPS is greater than 0. -If DynamicKubeletConfig (deprecated; default off) is on, when -dynamically updating this field, consider that -it may impact scalability by changing the amount of traffic produced -by image pulls. Default: 10 -->
registryBurst是突发性镜像拉取的上限值,允许镜像拉取临时上升到所指定数量,
不过仍然不超过registryPullQPS所设置的约束。此值必须是非负值。
只有registryPullQPS参数值大于 0 时才会使用此设置。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能因为镜像拉取所造成的流量变化,导致集群可扩缩能力受影响。
默认值:10
@@ -467,16 +388,10 @@ Default: 10eventRecordQPS设置每秒钟可创建的事件个数上限。如果此值为 0,
则表示没有限制。此值不能设置为负数。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能因为生成事件所造成的流量变化,导致集群可扩缩能力受影响。
默认值:5
int32
eventBurst是突发性事件创建的上限值,允许事件创建临时上升到所指定数量,
不过仍然不超过eventRecordQPS所设置的约束。此值必须是非负值,
-且只有eventRecordQPS大于 0 时才会使用此设置。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能因为事件创建所造成的流量变化,导致集群可扩缩能力受影响。
eventRecordQPS > 0 时才会使用此设置。
默认值:10
enableDebuggingHandlers启用服务器上用来访问日志、
在本地运行容器和命令的端点,包括exec、attach、
logs和portforward等功能。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑禁用此能力可能干扰到与 kubelet 服务器交互的组件。
默认值:true
@@ -529,16 +434,12 @@ Default: truebool
enableContentionProfiling用于启用锁竞争性能分析,
仅用于enableDebuggingHandlers为true的场合。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑启用此分析可能隐含着一定的性能影响。
默认值:false
int32
healthzPort是本地主机上提供healthz端点的端口
(设置值为 0 时表示禁止)。合法值介于 1 和 65535 之间。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰到监控 kubelet 健康状况的组件。
默认值:10248
string
healthzBindAddress是healthz服务器用来提供服务的 IP 地址。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能影响到监测 kubelet 健康状况的组件。
默认值:"127.0.0.1"
oomScoreAdj 是为 kubelet 进程设置的oom-score-adj值。
所设置的取值要在 [-1000, 1000] 范围之内。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能影响到内存压力较大时节点的稳定性。
默认值:-999
clusterDomain是集群的 DNS 域名。如果设置了此字段,kubelet
会配置所有容器,使之在搜索主机的搜索域的同时也搜索这里指定的 DNS 域。
DynamicKubeletConfig (已弃用,默认为关闭):
-不建议动态更新此字段,因为这一设置值要与整个集群中的其他组件保持一致。
默认值:""
@@ -624,43 +508,30 @@ Default: ""clusterDNS是集群 DNS 服务器的 IP 地址的列表。
如果设置了,kubelet 将会配置所有容器使用这里的 IP 地址而不是宿主系统上的 DNS
服务器来完成 DNS 解析。
-
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑变更仅会对更新后创建的 Pod 起作用。建议在更改此字段之前腾空节点。
默认值:nil
streamingConnectionIdleTimeoutmeta/v1.Duration
+meta/v1.Duration
streamingConnectionIdleTimeout设置流式连接在被自动关闭之前可以空闲的最长时间。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能影响到依赖于通过与 kubelet
-服务器间流式连接来接受非频繁更新事件的组件。
默认值:"4h"
nodeStatusUpdateFrequencymeta/v1.Duration
+meta/v1.Duration
nodeStatusUpdateFrequency是 kubelet 计算节点状态的频率。
如果未启用节点租约特性,这一字段设置的也是 kubelet 向控制面投递节点状态的频率。
注意:如果节点租约特性未被启用,更改此参数设置时要非常小心,
所设置的参数值必须与节点控制器的nodeMonitorGracePeriod协同。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑变更可能影响节点的可扩缩性。还要注意节点控制器的
-nodeMonitorGracePeriod必须设置为N∗nodeStatusUpdateFrequency,
-其中N是节点控制器标记节点不健康之前执行重试的次数。
默认值:"10s"
nodeStatusReportFrequencymeta/v1.Duration
+meta/v1.Duration
nodeLeaseDurationSeconds是 kubelet 会在其对应的 Lease 对象上设置的时长值。
@@ -735,27 +592,19 @@ Default: 40
如果租约过期,则节点可被视作不健康。根据 KEP-0009 约定,目前的租约每 10 秒钟续约一次。 在将来,租约的续约时间间隔可能会根据租约的时长来设置。
此字段的取值必须大于零。
-当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑缩短租约期限可能降低节点对那些暂时导致 kubelet
-无法续约的问题的容忍度(例如,时延很短的网络问题)。
默认值:40
imageMinimumGCAgemeta/v1.Duration
+meta/v1.Duration
imageMinimumGCAge是对未使用镜像进行垃圾搜集之前允许其存在的时长。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这种变更可能触发垃圾收集或者延迟垃圾收集,
-并且可能影响节点上镜像的额外开销。
默认值:"2m"
imageGCHighThresholdPercent所给的是镜像的磁盘用量百分数,
一旦镜像用量超过此阈值,则镜像垃圾收集会一直运行。百分比是用这里的值除以 100
得到的,所以此字段取值必须介于 0 和 100 之间,包括 0 和 100。如果设置了此字段,
则取值必须大于imageGCLowThresholdPercent取值。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这种变更可能触发垃圾收集或者延迟垃圾收集,
-并且可能影响节点上镜像的额外开销。
默认值:85
@@ -795,37 +637,25 @@ image garbage collection is never run. Lowest disk usage to garbage collect to. The percent is calculated by dividing this field value by 100, so the field value must be between 0 and 100, inclusive. When specified, the value must be less than imageGCHighThresholdPercent. -If DynamicKubeletConfig (deprecated; default off) is on, when -dynamically updating this field, consider that -it may trigger or delay garbage collection, and may change the image overhead -on the node. Default: 80 -->imageGCLowThresholdPercent所给的是镜像的磁盘用量百分数,
镜像用量低于此阈值时不会执行镜像垃圾收集操作。垃圾收集操作也将此作为最低磁盘用量边界。
百分比是用这里的值除以 100 得到的,所以此字段取值必须介于 0 和 100 之间,包括 0 和 100。
如果设置了此字段,则取值必须小于imageGCHighThresholdPercent取值。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这种变更可能触发垃圾收集或者延迟垃圾收集,
-并且可能影响节点上镜像的额外开销。
默认值:80
volumeStatsAggPeriodmeta/v1.Duration
+meta/v1.Duration
volumeStatsAggPeriod是计算和缓存所有 Pod 磁盘用量的频率。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑缩短此周期长度可能产生性能影响。
默认值:"1m"
kubeletCgroups是用来隔离 kubelet 的控制组(CGroup)的绝对名称。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:""
systemCgroups是用来放置那些未被容器化的、非内核的进程的控制组
(CGroup)的绝对名称。设置为空字符串表示没有这类容器。回滚此字段设置需要重启节点。
当此字段非空时,必须设置cgroupRoot字段。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:""
@@ -873,15 +695,9 @@ Default: "&qout;cgroupRoot是用来运行 Pod 的控制组 (CGroup)。
容器运行时会尽可能处理此字段的设置值。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:""
cgroupsPerQOS用来启用基于 QoS 的控制组(CGroup)层次结构:
顶层的控制组用于不同 QoS 类,所有Burstable和BestEffort Pod
都会被放置到对应的顶级 QoS 控制组下。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:true
@@ -911,14 +723,10 @@ Default: truecgroupDriver是 kubelet 用来操控宿主系统上控制组 (CGroup)
的驱动程序(cgroupfs 或 systemd)。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:"cgroupfs"
cpuManagerPolicy是要使用的策略名称。需要启用CPUManager
特性门控。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:"None"
cpuManagerPolicyOptions是一组key=value键值映射,
容许通过额外的选项来精细调整 CPU 管理器策略的行为。需要CPUManager和
CPUManagerPolicyOptions两个特性门控都被启用。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:nil
cpuManagerReconcilePeriodmeta/v1.Duration
+meta/v1.Duration
cpuManagerReconcilePeriod是 CPU 管理器的协调周期时长。
需要启用CPUManager特性门控。
DynamicKubeletConfig (已弃用):
-
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑缩短周期时长可能带来的性能影响。
默认值:"10s"
memoryManagerPolicy是内存管理器要使用的策略的名称。
要求启用MemoryManager特性门控。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:"none"
Policies other than "none" require the TopologyManager feature gate to be enabled. -Dynamic Kubelet Config (deprecated): This field should not be updated without a full node -reboot. It is safest to keep this value the same as the local config. Default: "none"
-->topologyManagerPolicy是要使用的拓扑管理器策略名称。合法值包括:
single-numa-node:kubelet 仅允许在 CPU 和设备资源上对齐到同一 NUMA 节点的 Pod。如果策略不是 "none",则要求启用TopologyManager特性门控。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:"none"
@@ -1068,34 +854,25 @@ the minimum percentage of a resource reserved for exclusive use by the guaranteed QoS tier. Currently supported resources: "memory" Requires the QOSReserved feature gate to be enabled. -Dynamic Kubelet Config (deprecated): This field should not be updated without a full node -reboot. It is safest to keep this value the same as the local config. Default: nil -->qosReserved是一组从资源名称到百分比值的映射,用来为Guaranteed
QoS 类型的负载预留供其独占使用的资源百分比。目前支持的资源为:"memory"。
需要启用QOSReserved特性门控。
DynamicKubeletConfig (已弃用):
-更新此字段时需要对整个节点执行重启。最安全的做法是确保此值与本地配置相同。
默认值:nil
runtimeRequestTimeoutmeta/v1.Duration
+meta/v1.Duration
runtimeRequestTimeout用来设置除长期运行的请求(pull、
logs、exec和attach)之外所有运行时请求的超时时长。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能干扰与 kubelet 服务器交互的组件。
默认值:"2m"
一般而言,用户必须设置--hairpin-mode=hairpin-veth才能实现发夹模式的网络地址转译
(NAT),因为混杂模式的网桥要求存在一个名为cbr0的容器网桥。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑取决于网络插件,可能需要重启节点。
默认值:"promiscuous-bridge"
@@ -1142,20 +914,9 @@ Default: "promiscuous-bridge"maxPods是此 kubelet 上课运行的 Pod 个数上限。此值必须为非负整数。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑变更可能导致 kubelet 重启时 Pod 无法被准入,
-而且可能改变Node.status.capacity[v1.ResourcePods]中报告的数值,
-从而影响将来的调度决策。增大此个数值也可能会降低性能,因为会有更多的 Pod
-塞到同一节点运行。
默认值:110
podCIDR是用来设置 Pod IP 地址的 CIDR 值,仅用于独立部署模式。
运行于集群模式时,这一数值会从控制面获得。
DynamicKubeletConfig (已弃用):
-此字段应该总是设置为默认的空字符串值。并且仅用来设置独立运行的 kubelet,
-因为这种 kubelet 模式下无法利用动态 kubelet 配置能力。
默认值:""
podPidsLimit是每个 Pod 中可使用的 PID 个数上限。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑减小此值可能会导致变更后无法创建容器进程。
默认值:-1
resolvConf是一个域名解析配置文件,用作容器 DNS 解析配置的基础。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑变更仅会对更新完成后所创建的 Pod 起作用。
-建议在变更此字段之前先腾空节点。如果此值设置为空字符串,则会覆盖 DNS 解析的默认配置,
+
如果此值设置为空字符串,则会覆盖 DNS 解析的默认配置, 本质上相当于禁用了 DNS 查询。
默认值:"/etc/resolv.conf"
cpuCFSQuota允许为设置了 CPU 限制的容器实施 CPU CFS 配额约束。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑禁止此功能可能会降低节点稳定性。
默认值:true
cpuCFSQuotaPeriodmeta/v1.Duration
+meta/v1.Duration
cpuCFSQuotaPeriod设置 CPU CFS 配额周期值,cpu.cfs_period_us。
此值需要介于 1 微秒和 1 秒之间,包含 1 微秒和 1 秒。
此功能要求启用CustomCPUCFSQuotaPeriod特性门控被启用。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑为容器所设置的限制值可能导致cpu.cfs_period_us
-设置发生变化。这一变化会在节点被重新配置时触发容器重启。
默认值:"100ms"
nodeStatusMaxImages限制Node.status.images中报告的镜像数量。
此值必须大于 -2。
注意:如果设置为 -1,则不会对镜像数量做限制;如果设置为 0,则不会返回任何镜像。
-当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑节点状态中可能报告不同的数值。
默认值:50
@@ -1300,14 +1028,9 @@ Default: 50maxOpenFiles是 kubelet 进程可以打开的文件个数。此值必须不能为负数。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能影响到 kubelet 与节点文件系统间交互的能力。
默认值:1000000
contentType是向 API 服务器发送请求时使用的内容类型。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这样做可能影响 kubelet 与 API 服务器通信的能力。
-如果 kubelet 因为此字段的变更而失去与 API 服务器间的连接,
-则之前所作的变更无法通过动态 kubelet 配置来实现回退。
默认值:"application/vnd.kubernetes.protobuf"
kubeAPIQPS设置与 Kubernetes API 服务器通信时要使用的 QPS(每秒查询数)。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这可能因为 kubelet 与 API 服务器之间流量的变化而影响集群扩缩能力。
默认值:5
kubeAPIBurst设置与 Kubernetes API 服务器通信时突发的流量级别。
此字段取值不可以是负数。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这可能因为 kubelet 与 API 服务器之间流量的变化而影响集群扩缩能力。
默认值:10
serializeImagePulls被启用时会通知 kubelet 每次仅拉取一个镜像。
我们建议不要在所运行的 docker 守护进程版本低于 1.9、使用 aufs
存储后端的节点上更改默认值。详细信息可参见 Issue #10959。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这可能会影响镜像拉取的性能。
默认值:true
@@ -1400,26 +1097,21 @@ Default: trueevictionHard是一个映射,是从信号名称到定义硬性驱逐阈值的映射。
例如:{"memory.available": "300Mi"}。
如果希望显式地禁用,可以在任意资源上将其阈值设置为 0% 或 100%。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这可能会触发或延迟 Pod 驱逐操作。
默认值:
- memory.available: "100Mi"
- nodefs.available: "10%"
- nodefs.inodesFree: "5%"
- imagefs.available: "15%"
+ memory.available: "100Mi"
+ nodefs.available: "10%"
+ nodefs.inodesFree: "5%"
+ imagefs.available: "15%"
@@ -1430,17 +1122,10 @@ Default:
evictionSoft是一个映射,是从信号名称到定义软性驱逐阈值的映射。
例如:{"memory.available": "300Mi"}。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这可能会触发或延迟 Pod 驱逐操作,
-并且可能造成节点所报告的可分配资源数量发生变化。
默认值:nil
evictionSoftGracePeriod是一个映射,是从信号名称到每个软性驱逐信号的宽限期限。
例如:{"memory.available": "30s"}。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这可能会触发或延迟 Pod 驱逐操作。
默认值:nil
evictionPressureTransitionPeriodmeta/v1.Duration
+meta/v1.Duration
evictionPressureTransitionPeriod设置 kubelet
离开驱逐压力状况之前必须要等待的时长。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑减少此字段值可能会在节点过量分配时降低节点稳定性。
默认值:"5m"
evictionMaxPodGracePeriod是指达到软性逐出阈值而引起 Pod 终止时,
@@ -1505,9 +1176,6 @@ Pod 可以获得的terminationGracePeriodSeconds。
注意:由于 Issue #64530 的原因,系统中存在一个缺陷,即此处所设置的值会在软性逐出时覆盖 Pod 的宽限期设置,从而有可能增加 Pod 上原本设置的宽限期限时长。 这个缺陷会在未来版本中修复。
-当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑缩短此宽限期限值会导致软性逐出期间 Pod
-在被杀死之前用来体面地完成清理工作可用的时间。
默认值:0
@@ -1520,16 +1188,11 @@ Pod 的宽限期设置,从而有可能增加 Pod 上原本设置的宽限期 which describe the minimum amount of a given resource the kubelet will reclaim when performing a pod eviction while that resource is under pressure. For example:{"imagefs.available": "2Gi"}.
-If DynamicKubeletConfig (deprecated; default off) is on, when
-dynamically updating this field, consider that
-it may change how well eviction can manage resource pressure.
Default: nil
-->
evictionMinimumReclaim是一个映射,定义信号名称与最小回收量数值之间的关系。
最小回收量指的是资源压力较大而执行 Pod 驱逐操作时,kubelet 对给定资源的最小回收量。
例如:{"imagefs.available": "2Gi"}。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这可能会改变驱逐操作应对资源压力的效果。
默认值:nil
@@ -1541,20 +1204,10 @@ Default: nilpodsPerCore设置的是每个核上 Pod 个数上限。此值不能超过maxPods。
所设值必须是非负整数。如果设置为 0,则意味着对 Pod 个数没有限制。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑变更可能导致 kubelet 重启时 Pod 无法被准入,
-还可能导致Node.status.capacity.pods所报告的数值发生变化,
-进而影响到将来的调度决策。增大此值也会降低性能,因为在同一个处理器核上需要运行更多的 Pod。
默认值:0
@@ -1566,24 +1219,15 @@ Default: 0enableControllerAttachDetach用来允许 Attach/Detach
控制器管理调度到本节点的卷的挂接(attachment)和解除挂接(detachement),
并且禁止 kubelet 执行任何 attach/detach 操作。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑在运行中的节点上更改由哪个组件来负责卷管理时,
-这一变更可能导致节点在被更新前尚未腾空时卷无法被解除挂接。
-如果 kubelet 尚未更新volumes.kubernetes.io/controller-managed-attach-detach
-注解时 Pod 已经被调度到了该节点,节点上的卷也会无法解除挂接。
-一般而言,最安全的做法是将此字段设置为与本地配置相同的值。
注意:kubelet 不支持挂接 CSI 卷和解除挂接, +因此对于该用例,此选项必须为 true。
默认值:true
@@ -1595,18 +1239,11 @@ Default: trueprotectKernelDefaults设置为true时,会令 kubelet
在发现内核参数与预期不符时出错退出。若此字段设置为false,则 kubelet
会尝试更改内核参数以满足其预期。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑启用此设置会在内核参数与 kubelet 预期不匹配时导致
-kubelet 进入崩溃循环(Crash-Loop)状态。
默认值:false
@@ -1619,18 +1256,12 @@ kubelet 进入崩溃循环(Crash-Loop)状态。 are present on host. These rules will serve as utility rules for various components, e.g. kube-proxy. The rules will be created based on iptablesMasqueradeBit and iptablesDropBit. -If DynamicKubeletConfig (deprecated; default off) is on, when -dynamically updating this field, consider that -disabling it will prevent the Kubelet from healing locally misconfigured iptables rules. Default: true -->makeIPTablesUtilChains设置为true时,相当于允许 kubelet
确保一组 iptables 规则存在于宿主机上。这些规则会为不同的组件(例如 kube-proxy)
提供工具性质的规则。它们是基于iptablesMasqueradeBit和iptablesDropBit
来创建的。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑禁用此行为会导致 kubelet 无法在本地 iptables
-规则出错时实现自愈。
默认值:true
@@ -1643,18 +1274,11 @@ Default: true Values must be within the range [0, 31]. Must be different from other mark bits. Warning: Please match the value of the corresponding parameter in kube-proxy. TODO: clean up IPTablesMasqueradeBit in kube-proxy. -If DynamicKubeletConfig (deprecated; default off) is on, when -dynamically updating this field, consider that -it needs to be coordinated with other components, like kube-proxy, and the update -will only be effective if MakeIPTablesUtilChains is enabled. Default: 14 -->iptablesMasqueradeBit是 iptables fwmark 空间中用来为 SNAT
作标记的位。此值必须介于[0, 31]区间,必须与其他标记位不同。
警告:请确保此值设置与 kube-proxy 中对应的参数设置取值相同。
-当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑此处的变更要与其他组件(如 kube-proxy)相应的变更协调一致。
-只有当makeIPTablesUtilChains能力被启用时,这里的更新才会起作用。
默认值:14
@@ -1665,17 +1289,10 @@ Default: 14iptablesDropBit是 iptables fwmark 空间中用来标记丢弃包的数据位。
此值必须介于[0, 31]区间,必须与其他标记位不同。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑此处的变更要与其他组件(如 kube-proxy)相应的变更协调一致。
-只有当makeIPTablesUtilChains能力被启用时,这里的更新才会起作用。
默认值:15
featureGates是一个从功能特性名称到布尔值的映射,用来启用或禁用实验性的功能。
此字段可逐条更改文件 "k8s.io/kubernetes/pkg/features/kube_features.go"
中所给的内置默认值。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑你所启用或禁止的功能特性的文档。
-尽管我们鼓励功能特性的开发人员使动态启用或禁用功能特性成为可能,
-某些变更可能要求重新启动节点,某些特性可能要求在从启用到禁用切换时作出精细的协调。
默认值:nil
failSwapOn通知 kubelet 在节点上启用交换分区时拒绝启动。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑缩短此周期长度可能产生性能影响。
默认值:true
containerLogMaxSize是定义容器日志文件被轮转之前可以到达的最大尺寸。
例如:"5Mi" 或 "256Ki"。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能会触发日志轮转。
默认值:"10Mi"
containerLogMaxFiles设置每个容器可以存在的日志文件个数上限。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑降低此值可能导致日志文件被删除。
默认值:"5"
systemReserved是一组资源名称=资源数量对,
用来描述为非 Kubernetes 组件预留的资源(例如:'cpu=200m,memory=150G')。
目前仅支持 CPU 和内存。更多细节可参见 http://kubernetes.io/zh/docs/user-guide/compute-resources。
-当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑增加预留资源也许是不可能的,因为需要改变控制组大小。
-在更改了此字段之后,应该总是关注NodeAllocatableEnforced事件,
-以确保更新是成功的。
默认值:Nil
@@ -1830,21 +1413,12 @@ that describe resources reserved for kubernetes system components. Currently cpu, memory and local storage for root file system are supported. See https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/ for more details. -If DynamicKubeletConfig (deprecated; default off) is on, when -dynamically updating this field, consider that -it may not be possible to increase the reserved resources, because this -requires resizing cgroups. Always look for a NodeAllocatableEnforced event -after updating this field to ensure that the update was successful. Default: nil -->kubeReserved是一组资源名称=资源数量对,
用来描述为 Kubernetes 系统组件预留的资源(例如:'cpu=200m,memory=150G')。
目前支持 CPU、内存和根文件系统的本地存储。
更多细节可参见 https://kubernetes.io/zh/docs/concepts/configuration/manage-resources-containers/。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑增加预留资源也许是不可能的,因为需要改变控制组大小。
-在更改了此字段之后,应该总是关注NodeAllocatableEnforced事件,
-以确保更新是成功的。
默认值:Nil
@@ -1893,18 +1467,14 @@ Default: ""systemReservedCgroup帮助 kubelet 识别用来为 OS 系统级守护进程实施
systemReserved计算资源预留时使用的顶级控制组(CGroup)。
-参考[Node Allocatable](https://git.k8s.io/community/contributors/design-proposals/node/node-allocatable.md)
+参考 Node Allocatable
以了解详细信息。
DynamicKubeletConfig(已弃用):
-此字段更新时需要整个节点重启。最安全的做法是保持此值与本地配置相同。
默认值:""
kubeReservedCgroup 帮助 kubelet 识别用来为 Kubernetes 节点系统级守护进程实施
kubeReserved计算资源预留时使用的顶级控制组(CGroup)。
-参阅Node Allocatable
+参阅 Node Allocatable
了解进一步的信息。
DynamicKubeletConfig(已弃用):
-此字段更新时需要整个节点重启。最安全的做法是保持此值与本地配置相同。
默认值:""
kube-reserved is in the list, kubeReservedCgroup must be speci
This field is supported only when cgroupsPerQOS is set to true.
Refer to Node Allocatable
for more information.
-If DynamicKubeletConfig (deprecated; default off) is on, when
-dynamically updating this field, consider that
-removing enforcements may reduce the stability of the node. Alternatively, adding
-enforcements may reduce the stability of components which were using more than
-the reserved amount of resources; for example, enforcing kube-reserved may cause
-Kubelets to OOM if it uses more than the reserved resources, and enforcing system-reserved
-may cause system daemons to OOM if they use more than the reserved resources.
Default: ["pods"]
-->
此标志设置 kubelet 需要执行的各类节点可分配资源策略。此字段接受一组选项列表。 @@ -1963,11 +1522,6 @@ Default: ["pods"]
这个字段只有在cgroupsPerQOS被设置为true才被支持。
参阅Node Allocatable 了解进一步的信息。
-当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑去掉此机制可能会降低节点稳定性。
-反之,添加此机制可能会降低原来使用资源超出预留量的组件的稳定性。
-例如,实施 kube-reserved 在 kubelet 使用资源超出预留量时可能导致 kubelet 发生 OOM,
-而实施 system-reserved 机制可能导致使用资源超出预留量的系统守护进程发生 OOM。
默认值:["pods"]
@@ -1996,14 +1550,9 @@ Default: []volumePluginDir是用来搜索其他第三方卷插件的目录的路径。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑更改volumePluginDir可能干扰使用第三方卷插件的负载。
默认值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"
providerID字段被设置时,指定的是一个外部提供者(即云驱动)实例的唯一 ID,
该提供者可用来唯一性地标识特定节点。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑可能影响到 kubelet 与云驱动之间进行交互的能力。
默认值:""
kernelMemcgNotification字段如果被设置了,会告知 kubelet 集成内核的
memcg 通知机制来确定是否超出内存逐出阈值,而不是使用轮询机制来判定。
当 DynamicKubeletConfig (已弃用,默认为关闭)被启用时,
-如果动态更新了此字段,请考虑这样做可能影响到 kubelet 与内核的交互方式。
默认值:false
@@ -2078,7 +1617,7 @@ Default: trueshutdownGracePeriodmeta/v1.Duration
+meta/v1.Duration
shutdownGracePeriodByPodPriority设置基于 Pod
相关的优先级类值而确定的体面关闭时间。当 kubelet 收到关闭请求的时候,kubelet
会针对节点上运行的所有 Pod 发起关闭操作,这些关闭操作会根据 Pod 的优先级确定其宽限期限,
@@ -2140,6 +1683,15 @@ list when the node is shutting down.-->
在退出之前,kubelet 要等待的时间上限为节点上所有优先级类的
shutdownGracePeriodSeconds的最大值。
当所有 Pod 都退出或者到达其宽限期限时,kubelet 会释放关闭防护锁。
@@ -2314,6 +1866,202 @@ SerializedNodeConfigSource 允许对 `v1.NodeConfigSource` 执行序列化操作
+## `CredentialProvider` {#kubelet-config-k8s-io-v1beta1-CredentialProvider}
+
+
+**出现在:**
+
+- [CredentialProviderConfig](#kubelet-config-k8s-io-v1beta1-CredentialProviderConfig)
+
+
+CredentialProvider 代表的是要被 kubelet 调用的一个 exec 插件。
+这一插件只会在所拉取的镜像与该插件所处理的镜像匹配时才会被调用(参见 matchImages)。
+
+
| 字段 | 描述 |
|---|---|
name [必需]+ string
+ |
+
+
+
+ |
+
matchImages [必需]+ []string
+ |
+
+
+
对类似 'app*.k8s.io' 这类部分子域名的匹配也是支持的。 +每个通配符只能用来匹配一个子域名段,所以 '*.io' 不会匹配 '*.k8s.io'。 + +镜像与
|
+
defaultCacheDuration [必需]+ meta/v1.Duration
+ |
+
+
+
+ |
+
apiVersion [必需]+ string
+ |
+
+
+ + 要求 exec 插件 CredentialProviderRequest 请求的输入版本。 + 所返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值有: + +
|
+
args+ []string
+ |
+
+
+ 在执行插件可执行文件时要传递给命令的参数。 + |
+
env+ []ExecEnvVar
+ |
+
+
+
+ |
+
| 字段 | 描述 |
|---|---|
name [必需]+ string
+ |
++ + + 无描述 + + | +
value [必需]+ string
+ |
++ + + 无描述 + + | +
cacheAuthorizedTTLmeta/v1.Duration
+meta/v1.Duration
cacheUnauthorizedTTLmeta/v1.Duration
+meta/v1.Duration
flushFrequency [必需]time.Duration
+time.Duration
- - 对日志进行清洗的最大间隔秒数。如果所选的日志后端在写入日志消息时不提供缓存, -则此配置会被忽略。 + + 对日志进行清洗的最大间隔纳秒数(例如,1s = 1000000000)。 + 如果所选的日志后端在写入日志消息时不提供缓存,则此配置会被忽略。
sanitization [必需]bool
-- - [试验功能] 当启用此选项时,被标记为敏感的字段(密码、秘钥、令牌)不会被日志记录。 -运行时日志过滤功能可能会引入非常大的计算开销,因此在生产环境中不应启用。 -
-options [必需]FormatOptions