diff --git a/content/zh-cn/docs/reference/config-api/kubelet-config.v1beta1.md b/content/zh-cn/docs/reference/config-api/kubelet-config.v1beta1.md index 3957bf5522..a5fcbe3913 100644 --- a/content/zh-cn/docs/reference/config-api/kubelet-config.v1beta1.md +++ b/content/zh-cn/docs/reference/config-api/kubelet-config.v1beta1.md @@ -3,7 +3,6 @@ title: Kubelet 配置 (v1beta1) content_type: tool-reference package: kubelet.config.k8s.io/v1beta1 --- - +Default: true + -->
enableServer
会启用 kubelet 的安全服务器。
注意:kubelet 的不安全端口由 readOnlyPort
选项控制。
默认值:true
string
staticPodPath
是指向要运行的本地(静态)Pod 的目录,
或者指向某个静态 Pod 文件的路径。
默认值:""
@@ -103,9 +106,11 @@ Default: ""-->meta/v1.Duration
syncFrequency
是对运行中的容器和配置进行同步的最长周期。
默认值:"1m"
meta/v1.Duration
fileCheckFrequency
是对配置文件中新数据进行检查的时间间隔值。
默认值:"20s"
string
staticPodURL
是访问要运行的静态 Pod 的 URL 地址。
@@ -196,7 +204,8 @@ Default: 10250
int32
tlsCertFile
是包含 HTTPS 所需要的 x509 证书的文件
+
tlsCertFile
是包含 HTTPS 所需要的 x509 证书的文件
(如果有 CA 证书,会串接到服务器证书之后)。如果tlsCertFile
-和tlsPrivateKeyFile
都没有设置,则系统会为节点的公开地址生成自签名的证书和私钥,
-并将其保存到 kubelet --cert-dir
参数所指定的目录下。
tlsPrivateKeyFile
都没有设置,则系统会为节点的公开地址生成自签名的证书和私钥,
+并将其保存到 kubelet --cert-dir
参数所指定的目录下。
默认值:""
tlsPrivateKeyFile
是一个包含与tlsCertFile
+
tlsPrivateKeyFile
是一个包含与 tlsCertFile
证书匹配的 X509 私钥的文件。
默认值:""
@@ -245,12 +255,15 @@ Default: ""[]string
tlsCipherSuites
是一个字符串列表,其中包含服务器所接受的加密包名称。
-列表中的每个值来自于tls
包中定义的常数(https://golang.org/pkg/crypto/tls/#pkg-constants)。
tlsCipherSuites
是一个字符串列表,其中包含服务器所接受的加密包名称。
+ 请注意,TLS 1.3 密码套件是不可配置的。
+ 列表中的每个值来自于 tls
包中定义的常数(https://golang.org/pkg/crypto/tls/#pkg-constants)。
默认值:nil
tlsMinVersion
给出所支持的最小 TLS 版本。
-字段取值来自于tls
包中的常数定义(https://golang.org/pkg/crypto/tls/#pkg-constants)。
tlsMinVersion
给出所支持的最小 TLS 版本。
+字段取值来自于 tls
包中的常数定义(https://golang.org/pkg/crypto/tls/#pkg-constants)。
默认值:""
@@ -278,7 +291,7 @@ new certificate from the certificates.k8s.io API. This requires an approver to a certificate signing requests. Default: false --> -rotateCertificates
用来启用客户端证书轮换。kubelet 会调用
+
rotateCertificates
用来启用客户端证书轮换。kubelet 会调用
certificates.k8s.io
API 来请求新的证书。需要有一个批复人批准证书签名请求。
默认值:false @@ -295,10 +308,10 @@ certificate signing requests (CSR). The RotateKubeletServerCertificate feature must be enabled when setting this field. Default: false --> -
serverTLSBootstrap
用来启用服务器证书引导。系统不再使用自签名的服务证书,
-kubelet 会调用certificates.k8s.io
API 来请求证书。
+
serverTLSBootstrap
用来启用服务器证书引导。系统不再使用自签名的服务证书,
+kubelet 会调用 certificates.k8s.io
API 来请求证书。
需要有一个批复人来批准证书签名请求(CSR)。
-设置此字段时,RotateKubeletServerCertificate
特性必须被启用。
RotateKubeletServerCertificate
特性必须被启用。
默认值:false
@@ -307,23 +320,24 @@ kubelet 会调用certificates.k8s.io
API 来请求证书。
KubeletAuthentication
authorization
设置发送给 kubelet 服务器的请求是如何进行身份认证的。
默认值:
-默认值:
+
authentication
设置发送给 kubelet 服务器的请求是如何进行身份认证的。
anonymous:
enabled: false
webhook:
enabled: true
cacheTTL: "2m"
-
KubeletAuthorization
authorization
设置发送给 kubelet 服务器的请求是如何进行鉴权的。
默认值:
-
- mode: Webhook
- webhook:
- cacheAuthorizedTTL: "5m"
- cacheUnauthorizedTTL: "30s"
-
+ authorization
设置发送给 kubelet 服务器的请求是如何进行鉴权的。
默认值:
+
+mode: Webhook
+webhook:
+ cacheAuthorizedTTL: "5m"
+ cacheUnauthorizedTTL: "30s"
+
int32
registryPullQPS
是每秒钟可以执行的镜像仓库拉取操作限值。
+
registryPullQPS
是每秒钟可以执行的镜像仓库拉取操作限值。
此值必须不能为负数。将其设置为 0 表示没有限值。
默认值:5
int32
registryBurst
是突发性镜像拉取的上限值,允许镜像拉取临时上升到所指定数量,
-不过仍然不超过registryPullQPS
所设置的约束。此值必须是非负值。
-只有registryPullQPS
参数值大于 0 时才会使用此设置。
registryBurst
是突发性镜像拉取的上限值,允许镜像拉取临时上升到所指定数量,
+不过仍然不超过 registryPullQPS
所设置的约束。此值必须是非负值。
+只有 registryPullQPS
参数值大于 0 时才会使用此设置。
默认值:10
int32
eventRecordQPS
设置每秒钟可创建的事件个数上限。如果此值为 0,
+
eventRecordQPS
设置每秒钟可创建的事件个数上限。如果此值为 0,
则表示没有限制。此值不能设置为负数。
默认值:50
eventBurst
是突发性事件创建的上限值,允许事件创建临时上升到所指定数量,
-不过仍然不超过eventRecordQPS
所设置的约束。此值必须是非负值,
-且只有eventRecordQPS
> 0 时才会使用此设置。
eventBurst
是突发性事件创建的上限值,允许事件创建临时上升到所指定数量,
+不过仍然不超过 eventRecordQPS
所设置的约束。此值必须是非负值,
+且只有 eventRecordQPS
> 0 时才会使用此设置。
默认值:100
bool
enableDebuggingHandlers
启用服务器上用来访问日志、
-在本地运行容器和命令的端点,包括exec
、attach
、
-logs
和portforward
等功能。
enableDebuggingHandlers
启用服务器上用来访问日志、
+在本地运行容器和命令的端点,包括 exec
、attach
、
+logs
和 portforward
等功能。
默认值:true
enableContentionProfiling
用于启用阻塞性能分析,
-仅用于enableDebuggingHandlers
为true
的场合。
enableContentionProfiling
用于启用阻塞性能分析,
+仅用于 enableDebuggingHandlers
为 true
的场合。
默认值:false
healthzPort
是本地主机上提供healthz
端点的端口
+
healthzPort
是本地主机上提供 healthz
端点的端口
(设置值为 0 时表示禁止)。合法值介于 1 和 65535 之间。
默认值:10248
healthzBindAddress
是
healthz
服务器用来提供服务的 IP 地址。
healthzBindAddress
是
healthz
服务器用来提供服务的 IP 地址。
默认值:"127.0.0.1"
int32
oomScoreAdj
是为 kubelet 进程设置的oom-score-adj
值。
+
oomScoreAdj
是为 kubelet 进程设置的 oom-score-adj
值。
所设置的取值要在 [-1000, 1000] 范围之内。
默认值:-999
string
clusterDomain
是集群的 DNS 域名。如果设置了此字段,kubelet
+
clusterDomain
是集群的 DNS 域名。如果设置了此字段,kubelet
会配置所有容器,使之在搜索主机的搜索域的同时也搜索这里指定的 DNS 域。
默认值:""
[]string
clusterDNS
是集群 DNS 服务器的 IP 地址的列表。
+
clusterDNS
是集群 DNS 服务器的 IP 地址的列表。
如果设置了,kubelet 将会配置所有容器使用这里的 IP 地址而不是宿主系统上的 DNS
服务器来完成 DNS 解析。
默认值:nil
@@ -520,11 +542,12 @@ Default: nilmeta/v1.Duration
streamingConnectionIdleTimeout
设置流式连接在被自动关闭之前可以空闲的最长时间。
streamingConnectionIdleTimeout
设置流式连接在被自动关闭之前可以空闲的最长时间。
默认值:"4h"
meta/v1.Duration
nodeStatusUpdateFrequency
是 kubelet 计算节点状态的频率。
+
nodeStatusUpdateFrequency
是 kubelet 计算节点状态的频率。
如果未启用节点租约特性,这一字段设置的也是 kubelet 向控制面投递节点状态的频率。
注意:如果节点租约特性未被启用,更改此参数设置时要非常小心,
-所设置的参数值必须与节点控制器的nodeMonitorGracePeriod
协同。
nodeMonitorGracePeriod
协同。
默认值:"10s"
meta/v1.Duration
nodeStatusReportFrequency
是节点状态未发生变化时,kubelet
+
nodeStatusReportFrequency
是节点状态未发生变化时,kubelet
向控制面更新节点状态的频率。如果节点状态发生变化,则 kubelet 会忽略这一频率设置,
立即更新节点状态。
此字段仅当启用了节点租约特性时才被使用。nodeStatusReportFrequency
-的默认值是"5m"。不过,如果nodeStatusUpdateFrequency
-被显式设置了,则nodeStatusReportFrequency
的默认值会等于
-nodeStatusUpdateFrequency
值,这是为了实现向后兼容。
nodeStatusUpdateFrequency
+被显式设置了,则 nodeStatusReportFrequency
的默认值会等于
+nodeStatusUpdateFrequency
值,这是为了实现向后兼容。
默认值:"5m"
int32
nodeLeaseDurationSeconds
是 kubelet 会在其对应的 Lease 对象上设置的时长值。
-NodeLease
让 kubelet 来在kube-node-lease
名字空间中创建
-按节点名称命名的租约并定期执行续约操作,并通过这种机制来了解节点健康状况。
nodeLeaseDurationSeconds
是 kubelet 会在其对应的 Lease 对象上设置的时长值。
+NodeLease
让 kubelet 来在 kube-node-lease
+名字空间中创建按节点名称命名的租约并定期执行续约操作,并通过这种机制来了解节点健康状况。
如果租约过期,则节点可被视作不健康。根据 KEP-0009 约定,目前的租约每 10 秒钟续约一次。 在将来,租约的续约时间间隔可能会根据租约的时长来设置。
此字段的取值必须大于零。
@@ -603,7 +629,7 @@ Default: 40 garbage collected. Default: "2m" --> -imageMinimumGCAge
是对未使用镜像进行垃圾搜集之前允许其存在的时长。
imageMinimumGCAge
是对未使用镜像进行垃圾搜集之前允许其存在的时长。
默认值:"2m"
int32
imageGCHighThresholdPercent
所给的是镜像的磁盘用量百分数,
+
imageGCHighThresholdPercent
所给的是镜像的磁盘用量百分数,
一旦镜像用量超过此阈值,则镜像垃圾收集会一直运行。百分比是用这里的值除以 100
得到的,所以此字段取值必须介于 0 和 100 之间,包括 0 和 100。如果设置了此字段,
-则取值必须大于imageGCLowThresholdPercent
取值。
imageGCLowThresholdPercent
取值。
默认值:85
int32
imageGCLowThresholdPercent
所给的是镜像的磁盘用量百分数,
+
imageGCLowThresholdPercent
所给的是镜像的磁盘用量百分数,
镜像用量低于此阈值时不会执行镜像垃圾收集操作。垃圾收集操作也将此作为最低磁盘用量边界。
百分比是用这里的值除以 100 得到的,所以此字段取值必须介于 0 和 100 之间,包括 0 和 100。
-如果设置了此字段,则取值必须小于imageGCHighThresholdPercent
取值。
imageGCHighThresholdPercent
取值。
默认值:80
meta/v1.Duration
volumeStatsAggPeriod
是计算和缓存所有 Pod 磁盘用量的频率。
volumeStatsAggPeriod
是计算和缓存所有 Pod 磁盘用量的频率。
默认值:"1m"
string
kubeletCgroups
是用来隔离 kubelet 的控制组(CGroup)的绝对名称。
kubeletCgroups
是用来隔离 kubelet 的控制组(CGroup)的绝对名称。
默认值:""
string
systemCgroups
是用来放置那些未被容器化的、非内核的进程的控制组
+
systemCgroups
是用来放置那些未被容器化的、非内核的进程的控制组
(CGroup)的绝对名称。设置为空字符串表示没有这类容器。回滚此字段设置需要重启节点。
-当此字段非空时,必须设置cgroupRoot
字段。
cgroupRoot
字段。
默认值:""
string
cgroupRoot
是用来运行 Pod 的控制组(CGroup)。
+
cgroupRoot
是用来运行 Pod 的控制组(CGroup)。
容器运行时会尽可能处理此字段的设置值。
bool
cgroupsPerQOS
用来启用基于 QoS 的控制组(CGroup)层次结构:
-顶层的控制组用于不同 QoS 类,所有Burstable
和BestEffort
Pod
+
cgroupsPerQOS
用来启用基于 QoS 的控制组(CGroup)层次结构:
+顶层的控制组用于不同 QoS 类,所有 Burstable
和 BestEffort
Pod
都会被放置到对应的顶级 QoS 控制组下。
默认值:true
string
cgroupDriver
是 kubelet 用来操控宿主系统上控制组(CGroup)
+
cgroupDriver
是 kubelet 用来操控宿主系统上控制组(CGroup)
的驱动程序(cgroupfs 或 systemd)。
默认值:"cgroupfs"
string
cpuManagerPolicy
是要使用的策略名称。需要启用CPUManager
+
cpuManagerPolicy
是要使用的策略名称。需要启用 CPUManager
特性门控。
默认值:"none"
+默认值:"None"
map[string]string
cpuManagerPolicyOptions
是一组key=value
键值映射,
-容许通过额外的选项来精细调整 CPU 管理器策略的行为。需要CPUManager
和
-CPUManagerPolicyOptions
两个特性门控都被启用。
cpuManagerPolicyOptions
是一组 key=value
键值映射,
+容许通过额外的选项来精细调整 CPU 管理器策略的行为。需要 CPUManager
和
+CPUManagerPolicyOptions
两个特性门控都被启用。
默认值:nil
cpuManagerReconcilePeriod
是 CPU 管理器的协调周期时长。默认值:"10s"
cpuManagerReconcilePeriod
是 CPU 管理器的协调周期时长。
+要求启用 CPUManager
特性门控。默认值:"10s"
string
memoryManagerPolicy
是内存管理器要使用的策略的名称。
-要求启用MemoryManager
特性门控。
memoryManagerPolicy
是内存管理器要使用的策略的名称。
+要求启用 MemoryManager
特性门控。
默认值:"none"
Default: "none"
--> -topologyManagerPolicy
是要使用的拓扑管理器策略名称。合法值包括:
topologyManagerPolicy
是要使用的拓扑管理器策略名称。合法值包括:
restricted
:kubelet 仅接受在所请求资源上实现最佳 NUMA 对齐的 Pod。best-effort
:kubelet 会优选在 CPU 和设备资源上实现 NUMA 对齐的 Pod。Default: "container"
--> -topologyManagerScope
代表的是拓扑提示生成的范围,
+
topologyManagerScope
代表的是拓扑提示生成的范围,
拓扑提示信息由提示提供者生成,提供给拓扑管理器。合法值包括:
container
:拓扑策略是按每个容器来实施的。TopologyManagerPolicyOptions 是一组 key=value 键值映射,容许设置额外的选项来微调拓扑管理器策略的行为。需要同时启用 "TopologyManager" 和 "TopologyManagerPolicyOptions" 特性门控。 +
TopologyManagerPolicyOptions 是一组 key=value 键值映射,容许设置额外的选项来微调拓扑管理器策略的行为。 +需要同时启用 "TopologyManager" 和 "TopologyManagerPolicyOptions" 特性门控。 默认值:nil
@@ -856,16 +896,17 @@ Default: nilmap[string]string
qosReserved
是一组从资源名称到百分比值的映射,用来为Guaranteed
+
qosReserved
是一组从资源名称到百分比值的映射,用来为 Guaranteed
QoS 类型的负载预留供其独占使用的资源百分比。目前支持的资源为:"memory"。
-需要启用QOSReserved
特性门控。
QOSReserved
特性门控。
默认值:nil
meta/v1.Duration
runtimeRequestTimeout
用来设置除长期运行的请求(pull
、
-logs
、exec
和attach
)之外所有运行时请求的超时时长。
runtimeRequestTimeout
用来设置除长期运行的请求(pull
、
+logs
、exec
和 attach
)之外所有运行时请求的超时时长。
默认值:"2m"
string
hairpinMode
设置 kubelet 如何为发夹模式数据包配置容器网桥。
+themselves if they should try to access their own Service. Values:
hairpinMode
设置 kubelet 如何为发夹模式数据包配置容器网桥。
设置此字段可以让 Service 中的端点在尝试访问自身 Service 时将服务请求路由的自身。
可选值有:
一般而言,用户必须设置--hairpin-mode=hairpin-veth
才能实现发夹模式的网络地址转译
-(NAT),因为混杂模式的网桥要求存在一个名为cbr0
的容器网桥。
一般而言,用户必须设置 --hairpin-mode=hairpin-veth
才能实现发夹模式的网络地址转译
+(NAT),因为混杂模式的网桥要求存在一个名为 cbr0
的容器网桥。
默认值:"promiscuous-bridge"
int32
maxPods
是此 kubelet 上课运行的 Pod 个数上限。此值必须为非负整数。
maxPods
是此 kubelet 上课运行的 Pod 个数上限。此值必须为非负整数。
默认值:110
string
podCIDR
是用来设置 Pod IP 地址的 CIDR 值,仅用于独立部署模式。
+
podCIDR
是用来设置 Pod IP 地址的 CIDR 值,仅用于独立部署模式。
运行于集群模式时,这一数值会从控制面获得。
默认值:""
int64
podPidsLimit
是每个 Pod 中可使用的 PID 个数上限。
podPidsLimit
是每个 Pod 中可使用的 PID 个数上限。
默认值:-1
string
resolvConf
是一个域名解析配置文件,用作容器 DNS 解析配置的基础。
resolvConf
是一个域名解析配置文件,用作容器 DNS 解析配置的基础。
如果此值设置为空字符串,则会覆盖 DNS 解析的默认配置, 本质上相当于禁用了 DNS 查询。
默认值:"/etc/resolv.conf"
@@ -974,11 +1023,12 @@ Default: "/etc/resolv.conf"bool
runOnce
字段被设置时,kubelet 会咨询 API 服务器一次并获得 Pod 列表,
+
runOnce
字段被设置时,kubelet 会咨询 API 服务器一次并获得 Pod 列表,
运行在静态 Pod 文件中指定的 Pod 及这里所获得的 Pod,然后退出。
默认值:false
bool
cpuCFSQuota
允许为设置了 CPU 限制的容器实施 CPU CFS 配额约束。
cpuCFSQuota
允许为设置了 CPU 限制的容器实施 CPU CFS 配额约束。
默认值:true
meta/v1.Duration
cpuCFSQuotaPeriod
设置 CPU CFS 配额周期值,cpu.cfs_period_us
。
+
cpuCFSQuotaPeriod
设置 CPU CFS 配额周期值,cpu.cfs_period_us
。
此值需要介于 1 毫秒和 1 秒之间,包含 1 毫秒和 1 秒。
此功能要求启用 CustomCPUCFSQuotaPeriod
特性门控被启用。
默认值:"100ms"
@@ -1017,12 +1069,13 @@ Default: "100ms"int32
nodeStatusMaxImages
限制Node.status.images
中报告的镜像数量。
+
nodeStatusMaxImages
限制 Node.status.images
中报告的镜像数量。
此值必须大于 -2。
注意:如果设置为 -1,则不会对镜像数量做限制;如果设置为 0,则不会返回任何镜像。
默认值:50
@@ -1033,11 +1086,12 @@ Default: 50int64
maxOpenFiles
是 kubelet 进程可以打开的文件个数。此值必须不能为负数。
maxOpenFiles
是 kubelet 进程可以打开的文件个数。此值必须不能为负数。
默认值:1000000
string
contentType
是向 API 服务器发送请求时使用的内容类型。
contentType
是向 API 服务器发送请求时使用的内容类型。
默认值:"application/vnd.kubernetes.protobuf"
int32
kubeAPIQPS
设置与 Kubernetes API 服务器通信时要使用的 QPS(每秒查询数)。
kubeAPIQPS
设置与 Kubernetes API 服务器通信时要使用的 QPS(每秒查询数)。
默认值:50
int32
kubeAPIBurst
设置与 Kubernetes API 服务器通信时突发的流量级别。
+
kubeAPIBurst
设置与 Kubernetes API 服务器通信时突发的流量级别。
此字段取值不可以是负数。
默认值:100
bool
serializeImagePulls
被启用时会通知 kubelet 每次仅拉取一个镜像。
-我们建议不要在所运行的 docker 守护进程版本低于 1.9、使用 aufs
+
serializeImagePulls
被启用时会通知 kubelet 每次仅拉取一个镜像。
+我们建议不要在所运行的 Docker 守护进程版本低于 1.9、使用 aufs
存储后端的节点上更改默认值。详细信息可参见 Issue #10959。
默认值:true
int32
evictionHard
是一个映射,是从信号名称到定义硬性驱逐阈值的映射。
+
evictionHard
是一个映射,是从信号名称到定义硬性驱逐阈值的映射。
例如:{"memory.available": "300Mi"}
。
如果希望显式地禁用,可以在任意资源上将其阈值设置为 0% 或 100%。
默认值:
@@ -1146,7 +1206,7 @@ Default: For example:{"memory.available": "300Mi"}
.
Default: nil
-->
- evictionSoft
是一个映射,是从信号名称到定义软性驱逐阈值的映射。
+
evictionSoft
是一个映射,是从信号名称到定义软性驱逐阈值的映射。
例如:{"memory.available": "300Mi"}
。
默认值:nil
{"memory.available": "30s"}
.
Default: nil
-->
- evictionSoftGracePeriod
是一个映射,是从信号名称到每个软性驱逐信号的宽限期限。
+
evictionSoftGracePeriod
是一个映射,是从信号名称到每个软性驱逐信号的宽限期限。
例如:{"memory.available": "30s"}
。
默认值:nil
@@ -1170,11 +1230,12 @@ Default: nilmeta/v1.Duration
evictionPressureTransitionPeriod
设置 kubelet
+
evictionPressureTransitionPeriod
设置 kubelet
离开驱逐压力状况之前必须要等待的时长。
默认值:"5m"
int32
evictionMaxPodGracePeriod
是指达到软性逐出阈值而引起 Pod 终止时,
+
evictionMaxPodGracePeriod
是指达到软性逐出阈值而引起 Pod 终止时,
可以赋予的宽限期限最大值(按秒计)。这个值本质上限制了软性逐出事件发生时,
-Pod 可以获得的terminationGracePeriodSeconds
。
terminationGracePeriodSeconds
。
注意:由于 Issue #64530 的原因,系统中存在一个缺陷,即此处所设置的值会在软性逐出时覆盖 Pod 的宽限期设置,从而有可能增加 Pod 上原本设置的宽限期限时长。 这个缺陷会在未来版本中修复。
@@ -1206,13 +1268,14 @@ Pod 的宽限期设置,从而有可能增加 Pod 上原本设置的宽限期map[string]string
evictionMinimumReclaim
是一个映射,定义信号名称与最小回收量数值之间的关系。
+
evictionMinimumReclaim
是一个映射,定义信号名称与最小回收量数值之间的关系。
最小回收量指的是资源压力较大而执行 Pod 驱逐操作时,kubelet 对给定资源的最小回收量。
例如:{"imagefs.available": "2Gi"}
。
默认值:nil
@@ -1223,12 +1286,13 @@ Default: nilint32
podsPerCore
设置的是每个核上 Pod 个数上限。此值不能超过maxPods
。
+
podsPerCore
设置的是每个核上 Pod 个数上限。此值不能超过 maxPods
。
所设值必须是非负整数。如果设置为 0,则意味着对 Pod 个数没有限制。
默认值:0
bool
enableControllerAttachDetach
用来允许 Attach/Detach
+
enableControllerAttachDetach
用来允许 Attach/Detach
控制器管理调度到本节点的卷的挂接(attachment)和解除挂接(detachement),
并且禁止 kubelet 执行任何 attach/detach 操作。
注意:kubelet 不支持挂接 CSI 卷和解除挂接,
@@ -1258,13 +1323,14 @@ Default: true
bool
protectKernelDefaults
设置为true
时,会令 kubelet
-在发现内核参数与预期不符时出错退出。若此字段设置为false
,则 kubelet
+
protectKernelDefaults
设置为 true
时,会令 kubelet
+在发现内核参数与预期不符时出错退出。若此字段设置为 false
,则 kubelet
会尝试更改内核参数以满足其预期。
默认值:false
bool
makeIPTablesUtilChains
设置为true
时,相当于允许 kubelet
-确保一组 iptables 规则存在于宿主机上。这些规则会为不同的组件(例如 kube-proxy)
-提供工具性质的规则。它们是基于iptablesMasqueradeBit
和iptablesDropBit
-来创建的。
makeIPTablesUtilChains
设置为 true
时,相当于允许 kubelet
+在 iptables 中创建 KUBE-IPTABLES-HINT 链,提示其他组件有关系统上 iptables 的配置。
默认值:true
int32
iptablesMasqueradeBit
是 iptables fwmark 空间中用来为 SNAT
-作标记的位。此值必须介于[0, 31]
区间,必须与其他标记位不同。
警告:请确保此值设置与 kube-proxy 中对应的参数设置取值相同。
+iptablesMasqueradeBit
以前用于控制 KUBE-MARK-MASQ 链的创建。
已弃用:不再有任何效果。
默认值:14
int32
iptablesDropBit
是 iptables fwmark 空间中用来标记丢弃包的数据位。
-此值必须介于[0, 31]
区间,必须与其他标记位不同。
iptablesDropBit
以前用于控制 KUBE-MARK-DROP 链的创建。
已弃用:不再有任何效果。
默认值:15
map[string]bool
featureGates
是一个从功能特性名称到布尔值的映射,用来启用或禁用实验性的功能。
+
featureGates
是一个从功能特性名称到布尔值的映射,用来启用或禁用实验性的功能。
此字段可逐条更改文件 "k8s.io/kubernetes/pkg/features/kube_features.go"
中所给的内置默认值。
默认值:nil
@@ -1339,10 +1404,11 @@ Default: nilbool
failSwapOn
通知 kubelet 在节点上启用交换分区时拒绝启动。
failSwapOn
通知 kubelet 在节点上启用交换分区时拒绝启动。
默认值:true
MemorySwapConfiguration
memorySwap
配置容器负载可用的交换内存。
memorySwap
配置容器负载可用的交换内存。
string
containerLogMaxSize
是定义容器日志文件被轮转之前可以到达的最大尺寸。
+
containerLogMaxSize
是定义容器日志文件被轮转之前可以到达的最大尺寸。
例如:"5Mi" 或 "256Ki"。
默认值:"10Mi"
int32
containerLogMaxFiles
设置每个容器可以存在的日志文件个数上限。
containerLogMaxFiles
设置每个容器可以存在的日志文件个数上限。
默认值:"5"
Default: "Watch"
--> -configMapAndSecretChangeDetectionStrategy
是 ConfigMap 和 Secret
+
configMapAndSecretChangeDetectionStrategy
是 ConfigMap 和 Secret
管理器的运行模式。合法值包括:
Get
:kubelet 从 API 服务器直接取回必要的对象;map[string]string
systemReserved
是一组资源名称=资源数量
对,
+
systemReserved
是一组资源名称=资源数量
对,
用来描述为非 Kubernetes 组件预留的资源(例如:'cpu=200m,memory=150G')。
目前仅支持 CPU 和内存。更多细节可参见 https://kubernetes.io/zh-cn/docs/concepts/configuration/manage-resources-containers/ 。
@@ -1431,14 +1501,15 @@ Default: nilmap[string]string
kubeReserved
是一组资源名称=资源数量
对,
+
kubeReserved
是一组资源名称=资源数量
对,
用来描述为 Kubernetes 系统组件预留的资源(例如:'cpu=200m,memory=150G')。
目前支持 CPU、内存和根文件系统的本地存储。
更多细节可参见 https://kubernetes.io/zh/docs/concepts/configuration/manage-resources-containers/。
string
reservedSystemCPUs
选项设置为宿主级系统线程和 Kubernetes
+
reservedSystemCPUs
选项设置为宿主级系统线程和 Kubernetes
相关线程所预留的 CPU 列表。此字段提供的是一种“静态”的 CPU 列表,而不是像
-systemReserved
和kubeReserved
所提供的“动态”列表。
-此选项不支持systemReservedCgroup
或kubeReservedCgroup
。
systemReserved
和 kubeReserved
所提供的“动态”列表。
+此选项不支持 systemReservedCgroup
或 kubeReservedCgroup
。
string
默认值:""showHiddenMetricsForVersion
是你希望显示隐藏度量值的上一版本。
+
showHiddenMetricsForVersion
是你希望显示隐藏度量值的上一版本。
只有上一个次版本是有意义的,其他值都是不允许的。
-字段值的格式为
<major>.<minor>
,例如:1.16
。
+字段值的格式为 <major>.<minor>
,例如:1.16
。
此格式的目的是为了确保在下一个版本中有新的度量值被隐藏时,你有机会注意到这类变化,
而不是当这些度量值在其后的版本中彻底去除时来不及应对。string
systemReservedCgroup
帮助 kubelet 识别用来为 OS 系统级守护进程实施
-systemReserved
计算资源预留时使用的顶级控制组(CGroup)。
+
systemReservedCgroup
帮助 kubelet 识别用来为 OS 系统级守护进程实施
+systemReserved
计算资源预留时使用的顶级控制组(CGroup)。
参考 Node Allocatable
以了解详细信息。
默认值:""
@@ -1507,14 +1581,15 @@ Default: ""string
kubeReservedCgroup
帮助 kubelet 识别用来为 Kubernetes 节点系统级守护进程实施
-kubeReserved
计算资源预留时使用的顶级控制组(CGroup)。
+kubeReserved
计算资源预留时使用的顶级控制组(CGroup)。
参阅 Node Allocatable
了解进一步的信息。
默认值:""
@@ -1525,7 +1600,8 @@ Default: ""[]string
此标志设置 kubelet 需要执行的各类节点可分配资源策略。此字段接受一组选项列表。
-可接受的选项有none
、pods
、system-reserved
和
+可接受的选项有 none
、pods
、system-reserved
和
kube-reserved
。
如果设置了none
,则字段值中不可以包含其他选项。
如果列表中包含system-reserved
,则必须设置systemReservedCgroup
。
如果列表中包含kube-reserved
,则必须设置kubeReservedCgroup
。
这个字段只有在cgroupsPerQOS
被设置为true
才被支持。
如果设置了 none
,则字段值中不可以包含其他选项。
如果列表中包含 system-reserved
,则必须设置 systemReservedCgroup
。
如果列表中包含 kube-reserved
,则必须设置 kubeReservedCgroup
。
这个字段只有在 cgroupsPerQOS
被设置为 true
才被支持。
参阅Node Allocatable 了解进一步的信息。
默认值:["pods"]
@@ -1553,16 +1629,17 @@ Default: ["pods"][]string
用逗号分隔的白名单列表,其中包含不安全的 sysctl 或 sysctl 模式(以*
结尾)。
+
用逗号分隔的白名单列表,其中包含不安全的 sysctl 或 sysctl 模式(以 *
结尾)。
不安全的 sysctl 组有 kernel.shm*
、kernel.msg*
、
-kernel.sem
、fs.mqueue.*
和net.*
。
例如:"kernel.msg*,net.ipv4.route.min\_pmtu
"
不安全的 sysctl 组有 kernel.shm*
、kernel.msg*
、
+kernel.sem
、fs.mqueue.*
和 net.*
。
例如:"kernel.msg*,net.ipv4.route.min\_pmtu
"
默认值:[]
string
volumePluginDir
是用来搜索其他第三方卷插件的目录的路径。
volumePluginDir
是用来搜索其他第三方卷插件的目录的路径。
默认值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/"
string
providerID
字段被设置时,指定的是一个外部提供者(即云驱动)实例的唯一 ID,
+
providerID
字段被设置时,指定的是一个外部提供者(即云驱动)实例的唯一 ID,
该提供者可用来唯一性地标识特定节点。
默认值:""
bool
kernelMemcgNotification
字段如果被设置了,会告知 kubelet 集成内核的
+
kernelMemcgNotification
字段如果被设置了,会告知 kubelet 集成内核的
memcg 通知机制来确定是否超出内存逐出阈值,而不是使用轮询机制来判定。
默认值:false
LoggingConfiguration
enableSystemLogHandler
用来启用通过 Web 接口 host:port/logs/
+
enableSystemLogHandler
用来启用通过 Web 接口 host:port/logs/
访问系统日志的能力。
默认值:true
bool
enableSystemLogQuery 启用在 /logs 端点上的节点日志查询功能。 +
enableSystemLogQuery
启用在 /logs 端点上的节点日志查询功能。
此外,还必须启用 enableSystemLogHandler 才能使此功能起作用。
默认值:false
shutdownGracePeriod
设置节点关闭期间,节点自身需要延迟以及为
+
shutdownGracePeriod
设置节点关闭期间,节点自身需要延迟以及为
Pod 提供的宽限期限的总时长。
默认值:"0s"
@@ -1701,13 +1784,13 @@ list when the node is shutting down. For example, to allow critical pods 10s to shutdown, priority>=10000 pods 20s to shutdown, and all remaining pods 30s to shutdown. --> -shutdownGracePeriodByPodPriority
设置基于 Pod
+
shutdownGracePeriodByPodPriority
设置基于 Pod
相关的优先级类值而确定的体面关闭时间。当 kubelet 收到关闭请求的时候,kubelet
会针对节点上运行的所有 Pod 发起关闭操作,这些关闭操作会根据 Pod 的优先级确定其宽限期限,
之后 kubelet 等待所有 Pod 退出。
数组中的每个表项代表的是节点关闭时 Pod 的体面终止时间;这里的 Pod 的优先级类介于列表中当前优先级类值和下一个表项的优先级类值之间。
-例如,要赋予关键 Pod 10 秒钟时间来关闭,赋予优先级>=10000 Pod 20 秒钟时间来关闭, +
例如,要赋予关键 Pod 10 秒钟时间来关闭,赋予优先级 >=10000 Pod 20 秒钟时间来关闭, 赋予其余的 Pod 30 秒钟来关闭。
shutdownGracePeriodByPodPriority:
在退出之前,kubelet 要等待的时间上限为节点上所有优先级类的
-shutdownGracePeriodSeconds
的最大值。
+shutdownGracePeriodSeconds
的最大值。
当所有 Pod 都退出或者到达其宽限期限时,kubelet 会释放关闭防护锁。
-此功能要求GracefulNodeShutdown
特性门控被启用。
当shutdownGracePeriod
或shutdownGracePeriodCriticalPods
+此功能要求 GracefulNodeShutdown
特性门控被启用。
当 shutdownGracePeriod
或 shutdownGracePeriodCriticalPods
被设置时,此配置字段必须为空。
默认值:nil
@@ -1741,7 +1824,8 @@ Default: nil[]MemoryReservation
reservedMemory
给出一个逗号分隔的列表,为 NUMA 节点预留内存。
reservedMemory
给出一个逗号分隔的列表,为 NUMA 节点预留内存。
此参数仅在内存管理器功能特性语境下有意义。内存管理器不会为容器负载分配预留内存。
-例如,如果你的 NUMA0 节点内存为 10Gi,reservedMemory
设置为在 NUMA0
+例如,如果你的 NUMA0 节点内存为 10Gi,reservedMemory
设置为在 NUMA0
上预留 1Gi 内存,内存管理器会认为其上只有 9Gi 内存可供分配。
你可以设置不同数量的 NUMA 节点和内存类型。你也可以完全忽略这个字段,不过你要清楚, 所有 NUMA 节点上预留内存的总量要等于通过 @@ -1776,7 +1860,7 @@ Also, avoid specifying:
memory
和hugepages-<size>
之外的内存类型。memory
和 hugepages-<size>
之外的内存类型。默认值:nil
bool
enableProfilingHandler
启用通过 host:port/debug/pprof/ 接口来执行性能分析。
enableProfilingHandler
启用通过 host:port/debug/pprof/ 接口来执行性能分析。
默认值:true
bool
enableDebugFlagsHandler
启用通过 host:port/debug/flags/v Web
+
enableDebugFlagsHandler
启用通过 host:port/debug/flags/v Web
接口上的标志设置。
默认值:true
bool
seccompDefault
字段允许针对所有负载将RuntimeDefault
-设置为默认的 seccomp 配置。这一设置要求对应的SeccompDefault
特性门控被启用。
seccompDefault
字段允许针对所有负载将 RuntimeDefault
+设置为默认的 seccomp 配置。这一设置要求对应的 SeccompDefault
特性门控被启用。
默认值:false
float64
当设置 cgroupv2 memory.high
以实施MemoryQoS
特性时,
-memoryThrottlingFactor
用来作为内存限制或节点可分配内存的系数。
当设置 cgroupv2 memory.high
以实施 MemoryQoS
特性时,
+memoryThrottlingFactor
用来作为内存限制或节点可分配内存的系数。
减小此系数会为容器控制组设置较低的 high 限制值,从而增大回收压力;反之, 增大此系数会降低回收压力。更多细节参见 https://kep.k8s.io/2570。
默认值:0.8
@@ -1841,16 +1929,17 @@ Default: 0.8registerWithTaints
[]core/v1.Taint
+[]core/v1.Taint
registerWithTaints
是一个由污点组成的数组,包含 kubelet
-注册自身时要向节点对象添加的污点。只有registerNode
为true
+
registerWithTaints
是一个由污点组成的数组,包含 kubelet
+注册自身时要向节点对象添加的污点。只有 registerNode
为 true
时才会起作用,并且仅在节点的最初注册时起作用。
默认值:nil
bool
registerNode
启用向 API 服务器的自动注册。
registerNode
启用向 API 服务器的自动注册。
默认值:true
bool
localStorageCapacityIsolation 启用本地临时存储隔离特性。默认设置为 true。
此特性允许用户为容器的临时存储设置请求/限制,并以类似的方式管理 cpu 和 memory 的请求/限制。
此特性还允许为 emptyDir 卷设置 sizeLimit,如果卷所用的磁盘超过此限制将触发 Pod 驱逐。
@@ -1902,9 +1994,11 @@ Default: true -->
string
containerRuntimeEndpoint 是容器运行时的端点。 Linux 支持 UNIX 域套接字,而 Windows 支持命名管道和 TCP 端点。 示例:'unix://path/to/runtime.sock', 'npipe:////./pipe/runtime'。
@@ -1914,10 +2008,12 @@ Linux 支持 UNIX 域套接字,而 Windows 支持命名管道和 TCP 端点。string
imageServiceEndpoint 是容器镜像服务的端点。 Linux 支持 UNIX 域套接字,而 Windows 支持命名管道和 TCP 端点。 示例:'unix:///path/to/runtime.sock'、'npipe:////./pipe/runtime'。 @@ -1946,10 +2042,11 @@ SerializedNodeConfigSource 允许对 `v1.NodeConfigSource` 执行序列化操作
kind
SerializedNodeConfigSource
source
core/v1.NodeConfigSource
+core/v1.NodeConfigSource
source
是我们执行序列化的数据源。
matchImages
中的每个条目都是一个模式字符串,其中可以包含端口号和路径。
域名部分可以包含统配符,但端口或路径部分不可以。通配符可以用作子域名,例如
@@ -2134,7 +2231,7 @@ ExecEnvVar 用来在执行基于 exec 的凭据插件时设置环境变量。
- 无描述
+ 无描述。
system:anonymous
, and a group name of
system:unauthenticated
.
-->
- enabled
允许匿名用户向 kubelet 服务器发送请求。
+
enabled
允许匿名用户向 kubelet 服务器发送请求。
未被其他身份认证方法拒绝的请求都会被当做匿名请求。
-匿名请求对应的用户名为system:anonymous
,对应的用户组名为
+匿名请求对应的用户名为 system:anonymous
,对应的用户组名为
system:unauthenticated
。
system:anonymous
, and a group
KubeletX509Authentication
x509
包含与 x509 客户端证书认证相关的配置。
x509
包含与 x509 客户端证书认证相关的配置。
system:anonymous
, and a group
KubeletWebhookAuthentication
webhook
包含与 Webhook 持有者令牌认证相关的配置。
webhook
包含与 Webhook 持有者令牌认证相关的配置。
system:anonymous
, and a group
KubeletAnonymousAuthentication
anonymous
包含与匿名身份认证相关的配置信息。
anonymous
包含与匿名身份认证相关的配置信息。
system:anonymous
, and a group
KubeletAuthorizationMode
mode>是应用到 kubelet 服务器所接收到的请求上的鉴权模式。合法值包括
-
AlwaysAllow
和Webhook
。
+ mode
是应用到 kubelet 服务器所接收到的请求上的鉴权模式。合法值包括
+AlwaysAllow
和 Webhook
。
Webhook 模式使用 SubjectAccessReview
API 来确定鉴权。
SubjectAccessReview
API 来确定鉴权。
KubeletWebhookAuthorization
webhook
包含与 Webhook 鉴权相关的配置信息。
SubjectAccessReview
API 来确定鉴权。
bool
enabled
允许使用tokenreviews.authentication.k8s.io
+
+
enabled
允许使用 tokenreviews.authentication.k8s.io
API 来提供持有者令牌身份认证。
meta/v1.Duration
cacheTTL
启用对身份认证结果的缓存。
cacheTTL
启用对身份认证结果的缓存。
meta/v1.Duration
cacheAuthorizedTTL
设置来自 Webhook 鉴权组件的 'authorized'
+
+
cacheAuthorizedTTL
设置来自 Webhook 鉴权组件的 'authorized'
响应的缓存时长。
meta/v1.Duration
cacheUnauthorizedTTL
设置来自 Webhook 鉴权组件的 'unauthorized'
+
+
cacheUnauthorizedTTL
设置来自 Webhook 鉴权组件的 'unauthorized'
响应的缓存时长。
string
clientCAFile
是一个指向 PEM 编发的证书包的路径。
+and groups corresponding to the Organization in the client certificate.
+ -->
+
clientCAFile
是一个指向 PEM 编发的证书包的路径。
如果设置了此字段,则能够提供由此证书包中机构之一所签名的客户端证书的请求会被成功认证,
-并且其用户名对应于客户端证书的CommonName
、组名对应于客户端证书的
+并且其用户名对应于客户端证书的 CommonName
、组名对应于客户端证书的
Organization
。
limits
[必需]core/v1.ResourceList
+core/v1.ResourceList
string
swapBehavior
配置容器负载可以使用的交换内存。可以是
+
swapBehavior
配置容器负载可以使用的交换内存。可以是:
int32
priority
是与关闭宽限期限相关联的优先级值。
priority
是与关闭宽限期限相关联的优先级值。
int64
shutdownGracePeriodSeconds
是按秒数给出的关闭宽限期限。
+
+
shutdownGracePeriodSeconds
是按秒数给出的关闭宽限期限。
JSONOptions
[Alpha] JSON 包含记录 "json" 格式日志的选项。 只有 LoggingAlphaOptions 特性门控被启用时才可用。
-
+Only available when the LoggingAlphaOptions feature gate is enabled.
+ -->
[Alpha] infoBufferSize
在分离数据流时用来设置提示数据流的大小。
默认值为 0,相当于禁止缓存。只有 LoggingAlphaOptions 特性门控被启用时才可用。
-
+
format
设置日志消息的结构。默认的格式取值为
text
。
flushFrequency
[必需]time.Duration
+TimeOrMetaDuration
- 对日志进行清洗的最大间隔纳秒数(例如,1s = 1000000000)。 - 如果所选的日志后端在写入日志消息时不提供缓存,则此配置会被忽略。 + 日志清洗之间的最大时间间隔。 +如果是字符串,则解析为持续时间(例如 "1s")。 +如果是整数,则表示为最大纳秒数(例如 1s = 1000000000)。 +如果所选的日志后端在写入日志消息时未缓冲,则被忽略。
-
+are always logged.
+ -->
verbosity
用来确定日志消息记录的详细程度阈值。默认值为 0,
意味着仅记录最重要的消息。数值越大,额外的消息越多。出错消息总是会被记录下来。
-
+
vmodule
会在单个文件层面重载 verbosity 阈值的设置。
这一选项仅支持 "text" 日志格式。
-
+Only available when the LoggingAlphaOptions feature gate is enabled.
+ -->
[Alpha] options
中包含特定于不同日志格式的附加参数。
只有针对所选格式的选项会被使用,但是合法性检查时会查看所有参数。
只有 LoggingAlphaOptions 特性门控被启用时才可用。
@@ -2697,6 +2832,96 @@ Only available when the LoggingAlphaOptions feature gate is enabled.-->
+## `LoggingOptions` {#LoggingOptions}
+
+
+
+LoggingOptions
可以与 ValidateAndApplyWithOptions
一起使用,以覆盖某些全局默认值。
+
字段 | 描述 |
---|---|
ErrorStream [必需]+ io.Writer
+ |
+
+
+
+ |
+
InfoStream [必需]+ io.Writer
+ |
+
+
+
+ |
+
+
+TimeOrMetaDuration
仅出于向后兼容 flushFrequency
字段而存在,
+新字段应使用
metav1.Duration
。
+
字段 | 描述 |
---|---|
Duration [必需]+ meta/v1.Duration
+ |
+
+
+
+ |
+
- [必需]+ bool
+ |
+
+
+
+ |
+
采集器的 endpoint,此组件将向其报告追踪链路。 此连接不安全,目前不支持 TLS。推荐不设置,endpoint 是 otlp grpc 默认值,localhost:4317。
int32
samplingRatePerMillion 是每百万 span 要采集的样本数。推荐不设置。 如果不设置,则采样器优先使用其父级 span 的采样率,否则不采样。
VerbosityLevel 表示 klog 或 logr 的详细程度(verbosity)阈值。
-