Kubelet 配置 (v1beta1)
资源类型
FormatOptions
出现于
FormatOptions 包含不同日志格式的选项。
字段 | 描述 |
---|---|
text [必填]TextOptions | [Alpha] Text 包含日志格式 "text" 的选项。仅在启用 LoggingAlphaOptions 功能门控时可用。 |
json [必填]JSONOptions | [Alpha] JSON 包含日志格式 "json" 的选项。仅在启用 LoggingAlphaOptions 功能门控时可用。 |
JSONOptions
出现于
JSONOptions 包含日志格式 "json" 的选项。
字段 | 描述 |
---|---|
OutputRoutingOptions [必填]OutputRoutingOptions | (OutputRoutingOptions 的成员嵌入到此类型中。)未提供描述。 |
LogFormatFactory
LogFormatFactory 为某些额外的、非默认日志格式提供支持。
LoggingConfiguration
出现于
LoggingConfiguration 包含日志记录选项。
字段 | 描述 |
---|---|
format [必填]string | Format 标志指定日志消息的结构。format 的默认值为 |
flushFrequency [必填]TimeOrMetaDuration | 两次日志刷新之间的最长时间。如果是字符串,则解析为持续时间(例如 "1s") 如果是整数,则为最大纳秒数(例如 1s = 1000000000)。如果选定的日志记录后端在不缓冲的情况下写入日志消息,则忽略此字段。 |
verbosity [必填]VerbosityLevel | Verbosity 是确定记录哪些日志消息的阈值。默认值为零,仅记录最重要的消息。更高的值启用其他消息。错误消息始终记录。 |
vmodule [必填]VModuleConfiguration | VModule 覆盖单个文件的详细程度阈值。仅支持 "text" 日志格式。 |
options [必填]FormatOptions | [Alpha] Options 包含特定于不同日志记录格式的其他参数。仅使用所选格式的选项,但所有选项都经过验证。仅在启用 LoggingAlphaOptions 功能门控时可用。 |
LoggingOptions
LoggingOptions 可以与 ValidateAndApplyWithOptions 一起使用,以覆盖某些全局默认值。
字段 | 描述 |
---|---|
ErrorStream [必填]io.Writer | ErrorStream 可用于覆盖 os.Stderr 默认值。 |
InfoStream [必填]io.Writer | InfoStream 可用于覆盖 os.Stdout 默认值。 |
OutputRoutingOptions
出现于
OutputRoutingOptions 包含 "text" 和 "json" 都支持的选项。
字段 | 描述 |
---|---|
splitStream [必填]bool | [Alpha] SplitStream 将错误消息重定向到 stderr,而信息消息则发送到 stdout,并进行缓冲。默认情况下,两者都写入 stdout,不进行缓冲。仅在启用 LoggingAlphaOptions 功能门控时可用。 |
infoBufferSize [必填]k8s.io/apimachinery/pkg/api/resource.QuantityValue | [Alpha] InfoBufferSize 设置使用拆分流时信息流的大小。默认值为零,表示禁用缓冲。仅在启用 LoggingAlphaOptions 功能门控时可用。 |
TextOptions
出现于
TextOptions 包含日志格式 "text" 的选项。
字段 | 描述 |
---|---|
OutputRoutingOptions [必填]OutputRoutingOptions | (OutputRoutingOptions 的成员嵌入到此类型中。)未提供描述。 |
TimeOrMetaDuration
出现于
TimeOrMetaDuration 仅出于向后兼容 flushFrequency 字段的目的而存在,新字段应使用 metav1.Duration。
字段 | 描述 |
---|---|
Duration [必填]meta/v1.Duration | Duration 保存持续时间 |
- [必填]bool | SerializeAsString 控制该值是序列化为字符串还是整数 |
TracingConfiguration
出现于
TracingConfiguration 为 OpenTelemetry 跟踪客户端提供版本化配置。
字段 | 描述 |
---|---|
endpoint string | 此组件将向其报告跟踪信息的收集器的端点。连接是不安全的,目前不支持 TLS。建议不设置,endpoint 为 otlp grpc 默认值,localhost:4317。 |
samplingRatePerMillion int32 | SamplingRatePerMillion 是每百万个 span 收集的样本数。建议不设置。如果未设置,则采样器会遵循其父 span 的采样率,但否则从不采样。 |
VModuleConfiguration
([]k8s.io/component-base/logs/api/v1.VModuleItem
的别名)
出现于
VModuleConfiguration 是单个文件名或模式以及相应的详细程度阈值的集合。
VerbosityLevel
(uint32
的别名)
出现于
VerbosityLevel 表示 klog 或 logr 详细程度阈值。
CredentialProviderConfig
CredentialProviderConfig 是包含每个 exec 凭据提供程序信息的配置。Kubelet 从磁盘读取此配置,并根据 CredentialProvider 类型启用每个提供程序。
字段 | 描述 |
---|---|
apiVersion string | kubelet.config.k8s.io/v1beta1 |
kind string | CredentialProviderConfig |
providers [必填][]CredentialProvider | providers 是 Kubelet 将启用的凭据提供程序插件列表。多个提供程序可能与单个镜像匹配,在这种情况下,将所有提供程序的凭据都返回给 Kubelet。如果为单个镜像调用了多个提供程序,则结果将合并。如果提供程序返回重叠的身份验证密钥,则使用此列表中较早提供程序的值。 |
KubeletConfiguration
KubeletConfiguration 包含 Kubelet 的配置
字段 | 描述 |
---|---|
apiVersion string | kubelet.config.k8s.io/v1beta1 |
kind string | KubeletConfiguration |
enableServer [必填]bool | enableServer 启用 Kubelet 的安全服务器。注意:Kubelet 的不安全端口由 readOnlyPort 选项控制。默认值:true |
staticPodPath string | staticPodPath 是包含要运行的本地(静态)pod 的目录的路径,或者是单个静态 pod 文件的路径。默认值:"" |
podLogsDir string | podLogsDir 是 Kubelet 将用于放置 pod 日志文件的自定义根目录路径。默认值:"/var/log/pods/" 注意:不建议使用临时文件夹作为日志目录,因为这可能会在许多地方导致意外行为。 |
syncFrequency meta/v1.Duration | syncFrequency 是同步正在运行的容器和配置之间的最大周期。默认值:"1m" |
fileCheckFrequency meta/v1.Duration | fileCheckFrequency 是检查配置文件以获取新数据的间隔时间。默认值:"20s" |
httpCheckFrequency meta/v1.Duration | httpCheckFrequency 是检查 http 以获取新数据的间隔时间。默认值:"20s" |
staticPodURL string | staticPodURL 是用于访问要运行的静态 pod 的 URL。默认值:"" |
staticPodURLHeader map[string][]string | staticPodURLHeader 是一个切片映射,其中包含访问 podURL 时要使用的 HTTP 标头。默认值:nil |
address string | address 是 Kubelet 用于提供服务的 IP 地址(设置为 0.0.0.0 表示所有接口)。默认值:"0.0.0.0" |
port int32 | port 是 Kubelet 用于提供服务的端口。端口号必须介于 1 到 65535 之间(含)。默认值:10250 |
readOnlyPort int32 | readOnlyPort 是 Kubelet 用于提供只读服务的端口,无需身份验证/授权。端口号必须介于 1 到 65535 之间(含)。将此字段设置为 0 将禁用只读服务。默认值:0(禁用) |
tlsCertFile string | tlsCertFile 是包含 HTTPS 的 x509 证书的文件。(如果有 CA 证书,则在服务器证书之后连接)。如果未提供 tlsCertFile 和 tlsPrivateKeyFile,则会为公共地址生成自签名证书和密钥,并将其保存到传递给 Kubelet 的 --cert-dir 标志的目录中。默认值:"" |
tlsPrivateKeyFile string | tlsPrivateKeyFile 是包含与 tlsCertFile 匹配的 x509 私钥的文件。默认值:"" |
tlsCipherSuites []string | tlsCipherSuites 是服务器允许的密码套件列表。请注意,TLS 1.3 密码套件不可配置。值来自 tls 包常量(https://golang.ac.cn/pkg/crypto/tls/#pkg-constants)。默认值:nil |
tlsMinVersion string | tlsMinVersion 是支持的最低 TLS 版本。值来自 tls 包常量(https://golang.ac.cn/pkg/crypto/tls/#pkg-constants)。默认值:"" |
rotateCertificates bool | rotateCertificates 启用客户端证书轮换。Kubelet 将从 certificates.k8s.io API 请求新证书。这需要审批人批准证书签名请求。默认值:false |
serverTLSBootstrap bool | serverTLSBootstrap 启用服务器证书引导。Kubelet 不会自签名服务证书,而是从“certificates.k8s.io”API 请求证书。这需要审批人批准证书签名请求 (CSR)。设置此字段时,必须启用 RotateKubeletServerCertificate 功能。默认值:false |
authentication KubeletAuthentication | authentication 指定如何对 Kubelet 服务器的请求进行身份验证。默认值:anonymous: enabled: false webhook: enabled: true cacheTTL: "2m" |
authorization KubeletAuthorization | authorization 指定如何对 Kubelet 服务器的请求进行授权。默认值:mode: Webhook webhook: cacheAuthorizedTTL: "5m" cacheUnauthorizedTTL: "30s" |
registryPullQPS int32 | registryPullQPS 是每秒注册表拉取次数的限制。该值不能为负数。将其设置为 0 表示没有限制。默认值:5 |
registryBurst int32 | registryBurst 是突发拉取的最大大小,暂时允许拉取突发到此数量,但仍不超过 registryPullQPS。该值不能为负数。仅在 registryPullQPS 大于 0 时使用。默认值:10 |
eventRecordQPS int32 | eventRecordQPS 是每秒最大事件创建次数。如果为 0,则不强制执行限制。该值不能为负数。默认值:50 |
eventBurst int32 | eventBurst 是事件创建突发的最大大小,暂时允许事件创建突发到此数量,但仍不超过 eventRecordQPS。此字段不能为负数,并且仅在 eventRecordQPS > 0 时使用。默认值:100 |
enableDebuggingHandlers bool | **enableDebuggingHandlers**: 启用用于日志访问和本地运行容器和命令的服务器端点,包括 exec、attach、logs 和 portforward 功能。默认值:true |
**enableContentionProfiling** bool | **enableContentionProfiling**: 如果 enableDebuggingHandlers 为 true,则启用阻塞分析。默认值:false |
**healthzPort** int32 | **healthzPort**: 本地主机 healthz 端点的端口(设置为 0 以禁用)。有效数字介于 1 到 65535 之间。默认值:10248 |
**healthzBindAddress** string | **healthzBindAddress**: healthz 服务器监听的 IP 地址。默认值:"127.0.0.1" |
**oomScoreAdj** int32 | **oomScoreAdj**: kubelet 进程的 oom-score-adj 值。值必须在 [-1000, 1000] 范围内。默认值:-999 |
**clusterDomain** string | **clusterDomain**: 此集群的 DNS 域。如果设置,kubelet 将配置所有容器搜索此域,以及主机的搜索域。默认值:"" |
**clusterDNS** []string | **clusterDNS**: 集群 DNS 服务器的 IP 地址列表。如果设置,kubelet 将配置所有容器使用此地址进行 DNS 解析,而不是使用主机的 DNS 服务器。默认值:nil |
**streamingConnectionIdleTimeout** meta/v1.Duration | **streamingConnectionIdleTimeout**: 流连接在自动关闭之前可以空闲的最长时间。默认值:"4h" |
**nodeStatusUpdateFrequency** meta/v1.Duration | **nodeStatusUpdateFrequency**: kubelet 计算节点状态的频率。如果未启用节点租约功能,它也是 kubelet 向主节点发布节点状态的频率。注意:当未启用节点租约功能时,更改此常量时要谨慎,它必须与 nodecontroller 中的 nodeMonitorGracePeriod 配合使用。默认值:"10s" |
**nodeStatusReportFrequency** meta/v1.Duration | **nodeStatusReportFrequency**: 如果节点状态没有变化,kubelet 向主节点发布节点状态的频率。如果检测到任何更改,Kubelet 将忽略此频率并立即发布节点状态。仅当启用节点租约功能时才使用。nodeStatusReportFrequency 的默认值为 5m。但是,如果显式设置了 nodeStatusUpdateFrequency,则为了向后兼容,nodeStatusReportFrequency 的默认值将设置为 nodeStatusUpdateFrequency。默认值:"5m" |
**nodeLeaseDurationSeconds** int32 | **nodeLeaseDurationSeconds**: Kubelet 将在其对应的租约上设置的持续时间。NodeLease 通过让 Kubelet 在 kube-node-lease 命名空间中创建并定期续订以节点命名的租约来指示节点运行状况。如果租约过期,则可以认为该节点不正常。根据 KEP-0009,目前每 10 秒续订一次租约。将来,可以根据租约期限设置租约续订间隔。字段值必须大于 0。默认值:40 |
**imageMinimumGCAge** meta/v1.Duration | **imageMinimumGCAge**: 未使用的镜像在被垃圾回收之前的最短保留时间。默认值:"2m" |
**imageMaximumGCAge** meta/v1.Duration | **imageMaximumGCAge**: 镜像在被垃圾回收之前可以未使用状态的最长时间。此字段的默认值为 "0s",表示禁用此字段,这意味着不会根据未使用时间过长来垃圾回收镜像。默认值:"0s"(禁用) |
**imageGCHighThresholdPercent** int32 | **imageGCHighThresholdPercent**: 磁盘使用率超过此百分比后,将始终运行镜像垃圾回收。百分比通过将此字段值除以 100 来计算,因此此字段必须介于 0 到 100 之间(含)。如果指定,则该值必须大于 imageGCLowThresholdPercent。默认值:85 |
**imageGCLowThresholdPercent** int32 | **imageGCLowThresholdPercent**: 磁盘使用率低于此百分比时,永远不会运行镜像垃圾回收。要进行垃圾回收的最低磁盘使用率。百分比通过将此字段值除以 100 来计算,因此此字段值必须介于 0 到 100 之间(含)。如果指定,则该值必须小于 imageGCHighThresholdPercent。默认值:80 |
**volumeStatsAggPeriod** meta/v1.Duration | **volumeStatsAggPeriod**: 计算和缓存所有 Pod 的卷磁盘使用情况的频率。默认值:"1m" |
**kubeletCgroups** string | **kubeletCgroups**: 用于隔离 kubelet 的 cgroup 的绝对名称。默认值:"" |
**systemCgroups** string | **systemCgroups**: 用于放置所有尚未在容器中的非内核进程的 cgroup 的绝对名称。为空表示没有容器。回滚此标志需要重新启动。如果此字段不为空,则必须指定 cgroupRoot。默认值:"" |
**cgroupRoot** string | **cgroupRoot**: 用于 Pod 的根 cgroup。容器运行时将尽力处理此问题。 |
**cgroupsPerQOS** bool | **cgroupsPerQOS**: 启用基于 QoS 的 CGroup 层次结构:用于 QoS 类的顶级 CGroup,所有 Burstable 和 BestEffort Pod 都在其特定的顶级 QoS CGroup 下启动。默认值:true |
**cgroupDriver** string | **cgroupDriver**: kubelet 用于操作主机上 CGroups 的驱动程序(cgroupfs 或 systemd)。默认值:"cgroupfs" |
**cpuManagerPolicy** string | **cpuManagerPolicy**: 要使用的策略的名称。需要启用 CPUManager 功能门控。默认值:"None" |
**cpuManagerPolicyOptions** **map[string]string** | **cpuManagerPolicyOptions**: 一组键值对,允许设置额外的选项来微调 cpu 管理器策略的行为。需要同时启用 "CPUManager" 和 "CPUManagerPolicyOptions" 功能门控。默认值:nil |
**cpuManagerReconcilePeriod** meta/v1.Duration | **cpuManagerReconcilePeriod**: CPU 管理器的协调周期。需要启用 CPUManager 功能门控。默认值:"10s" |
**memoryManagerPolicy** string | **memoryManagerPolicy**: 内存管理器要使用的策略的名称。需要启用 MemoryManager 功能门控。默认值:"none" |
**topologyManagerPolicy** string | **topologyManagerPolicy**: 要使用的拓扑管理器策略的名称。有效值包括:
默认值:"none" |
**topologyManagerScope** string | **topologyManagerScope**: 表示拓扑管理器请求和提示提供程序生成的拓扑提示的范围。有效值包括:
默认值:"container" |
**topologyManagerPolicyOptions** **map[string]string** | **topologyManagerPolicyOptions**: 一组键值对,允许设置额外的选项来微调拓扑管理器策略的行为。需要同时启用 "TopologyManager" 和 "TopologyManagerPolicyOptions" 功能门控。默认值:nil |
**qosReserved** **map[string]string** | **qosReserved**: 一组资源名称到百分比对,用于指定为 Guaranteed QoS 层的独占使用而保留的资源的最小百分比。当前支持的资源:"memory"。需要启用 QOSReserved 功能门控。默认值:nil |
**runtimeRequestTimeout** meta/v1.Duration | **runtimeRequestTimeout**: 除长运行请求(pull、logs、exec 和 attach)之外的所有运行时请求的超时时间。默认值:"2m" |
**hairpinMode** string | **hairpinMode**: 指定 Kubelet 应如何为发夹数据包配置容器网桥。设置此标志允许服务中的端点在尝试访问自身服务时回环到自身。值:
通常,必须设置 `--hairpin-mode=hairpin-veth` 才能实现发夹 NAT,因为 promiscuous-bridge 假定存在名为 cbr0 的容器网桥。默认值:"promiscuous-bridge" |
**maxPods** int32 | **maxPods**: 可在此 Kubelet 上运行的最大 Pod 数。该值必须是非负整数。默认值:110 |
**podCIDR** string | **podCIDR**: 用于 Pod IP 地址的 CIDR,仅在独立模式下使用。在集群模式下,这是从控制平面获取的。默认值:"" |
**podPidsLimit** **int64** | **podPidsLimit**: 任何 Pod 中的最大 PID 数。默认值:-1 |
**resolvConf** string | **resolvConf**: 解析器配置文件,用作容器 DNS 解析配置的基础。如果设置为空字符串,将覆盖默认值并有效禁用 DNS 查找。默认值:"/etc/resolv.conf" |
**runOnce** bool | **runOnce**: 使 Kubelet 对 API 服务器检查一次 Pod,运行这些 Pod 以及静态 Pod 文件指定的 Pod,然后退出。默认值:false |
**cpuCFSQuota** bool | **cpuCFSQuota**: 为指定 CPU 限制的容器启用 CPU CFS 配额强制执行。默认值:true |
**cpuCFSQuotaPeriod** meta/v1.Duration | **cpuCFSQuotaPeriod**: CPU CFS 配额周期值,`cpu.cfs_period_us`。该值必须介于 1 毫秒到 1 秒之间(含)。需要启用 CustomCPUCFSQuotaPeriod 功能门控。默认值:"100ms" |
**nodeStatusMaxImages** int32 | **nodeStatusMaxImages**: 限制 Node.status.images 中报告的镜像数量。该值必须大于 -2。注意:如果指定为 -1,则不应用上限。如果指定为 0,则不返回任何镜像。默认值:50 |
**maxOpenFiles** **int64** | **maxOpenFiles**: Kubelet 进程可以打开的文件数。该值必须是非负数。默认值:1000000 |
**contentType** string | **contentType**: 发送到 apiserver 的请求的内容类型。默认值:"application/vnd.kubernetes.protobuf" |
**kubeAPIQPS** int32 | **kubeAPIQPS**: 与 kubernetes apiserver 通信时使用的 QPS。默认值:50 |
**kubeAPIBurst** int32 | **kubeAPIBurst**: 与 kubernetes API 服务器通信时允许的突发量。此字段不能为负数。默认值:100 |
**serializeImagePulls** bool | **serializeImagePulls**: 启用后,告诉 Kubelet 一次拉取一个镜像。我们建议*不要*在运行 docker 守护程序版本低于 1.9 或使用 Aufs 存储后端的节点上更改默认值。问题 #10959 包含更多详细信息。默认值:true |
**maxParallelImagePulls** int32 | **maxParallelImagePulls**: 设置并行拉取镜像的最大数量。如果 SerializeImagePulls 为 true,则无法设置此字段。将其设置为 nil 表示没有限制。默认值:nil |
**evictionHard** **map[string]string** | **evictionHard**: 信号名称到数量的映射,定义硬驱逐阈值。例如:`{"memory.available": "300Mi"}`。要显式禁用,请在任意资源上传递 0% 或 100% 的阈值。默认值:memory.available: "100Mi" nodefs.available: "10%" nodefs.inodesFree: "5%" imagefs.available: "15%" |
**evictionSoft** **map[string]string** | **evictionSoft**: 信号名称到数量的映射,定义软驱逐阈值。例如:`{"memory.available": "300Mi"}`。默认值:nil |
**evictionSoftGracePeriod** **map[string]string** | **evictionSoftGracePeriod**: 信号名称到数量的映射,定义每个软驱逐信号的宽限期。例如:`{"memory.available": "30s"}`。默认值:nil |
**evictionPressureTransitionPeriod** meta/v1.Duration | evictionPressureTransitionPeriod 是指 kubelet 在退出驱逐压力条件之前必须等待的时间。默认值:"5m" |
evictionMaxPodGracePeriod int32 | evictionMaxPodGracePeriod 是在响应满足软驱逐阈值而终止 Pod 时允许使用的最大宽限期(以秒为单位)。此值有效地限制了软驱逐期间 Pod 的 terminationGracePeriodSeconds 值。注意:由于问题 #64530,该行为存在一个错误,即该值当前仅在软驱逐期间覆盖宽限期,这可能会增加 Pod 上设置的宽限期。此错误将在未来版本中修复。默认值:0 |
evictionMinimumReclaim **map[string]string** | evictionMinimumReclaim 是一个信号名称到数量的映射,它定义了最小回收量,描述了 kubelet 在执行 Pod 驱逐时,当该资源处于压力下时将回收的给定资源的最小数量。例如: |
podsPerCore int32 | podsPerCore 是每个核心的最大 Pod 数。不能超过 maxPods。该值必须是非负整数。如果为 0,则对 Pod 的数量没有限制。默认值:0 |
enableControllerAttachDetach bool | enableControllerAttachDetach 使 Attach/Detach 控制器能够管理调度到此节点的卷的附加/分离,并禁用 kubelet 执行任何附加/分离操作。注意:kubelet 不支持附加/分离 CSI 卷,因此对于该用例,此选项需要为 true。默认值:true |
protectKernelDefaults bool | protectKernelDefaults,如果为 true,则如果内核标志与其预期不符,则会导致 Kubelet 出错。否则,Kubelet 将尝试修改内核标志以匹配其预期。默认值:false |
makeIPTablesUtilChains bool | makeIPTablesUtilChains,如果为 true,则会导致 Kubelet 在 iptables 中创建 KUBE-IPTABLES-HINT 链,作为对其他组件关于系统上 iptables 配置的提示。默认值:true |
iptablesMasqueradeBit int32 | iptablesMasqueradeBit 以前控制 KUBE-MARK-MASQ 链的创建。已弃用:不再有任何效果。默认值:14 |
iptablesDropBit int32 | iptablesDropBit 以前控制 KUBE-MARK-DROP 链的创建。已弃用:不再有任何效果。默认值:15 |
featureGates map[string]bool | featureGates 是一个功能名称到布尔值的映射,用于启用或禁用实验性功能。此字段会零星修改“k8s.io/kubernetes/pkg/features/kube_features.go”中的内置默认值。默认值:nil |
failSwapOn bool | failSwapOn 告诉 Kubelet 如果在节点上启用了交换,则启动失败。默认值:true |
memorySwap MemorySwapConfiguration | memorySwap 配置容器工作负载可用的交换内存。 |
containerLogMaxSize string | containerLogMaxSize 是一个数量,定义了容器日志文件在轮换之前的最大大小。例如:"5Mi" 或 "256Ki"。默认值:"10Mi" |
containerLogMaxFiles int32 | containerLogMaxFiles 指定容器可以存在的最大容器日志文件数。默认值:5 |
containerLogMaxWorkers int32 | ContainerLogMaxWorkers 指定为执行日志轮换操作而生成的并发工作程序的最大数量。将此计数设置为 1 可禁用并发日志轮换工作流。默认值:1 |
containerLogMonitorInterval meta/v1.Duration | ContainerLogMonitorInterval 指定监视容器日志以执行日志轮换操作的持续时间。默认为 10 * time.Seconds。但可以根据日志生成速率和要轮换的大小自定义为更小的值。默认值:10s |
configMapAndSecretChangeDetectionStrategy ResourceChangeDetectionStrategy | configMapAndSecretChangeDetectionStrategy 是 ConfigMap 和 Secret 管理器运行的模式。有效值包括
默认值:"Watch" |
systemReserved **map[string]string** | systemReserved 是一组 ResourceName=ResourceQuantity(例如 cpu=200m,memory=150G)对,描述了为非 Kubernetes 组件保留的资源。当前仅支持 cpu 和内存。有关更多详细信息,请参阅 https://kubernetes.ac.cn/docs/user-guide/compute-resources。默认值:nil |
kubeReserved **map[string]string** | kubeReserved 是一组 ResourceName=ResourceQuantity(例如 cpu=200m,memory=150G)对,描述了为 Kubernetes 系统组件保留的资源。当前支持 cpu、内存和根文件系统的本地存储。有关更多详细信息,请参阅 https://kubernetes.ac.cn/docs/concepts/configuration/manage-resources-containers/。默认值:nil |
reservedSystemCPUs [必填]string | reservedSystemCPUs 选项指定为主机级系统线程和 Kubernetes 相关线程保留的 CPU 列表。这提供了一个“静态”CPU 列表,而不是 systemReserved 和 kubeReserved 提供的“动态”列表。此选项不支持 systemReservedCgroup 或 kubeReservedCgroup。 |
showHiddenMetricsForVersion string | showHiddenMetricsForVersion 是您要显示隐藏指标的先前版本。只有先前的次要版本才有意义,其他值将不被允许。格式为 |
systemReservedCgroup string | systemReservedCgroup 帮助 kubelet 识别用于强制执行 |
kubeReservedCgroup string | kubeReservedCgroup 帮助 kubelet 识别用于强制执行 |
enforceNodeAllocatable []string | 此标志指定 Kubelet 需要执行的各种节点可分配强制执行。此标志接受选项列表。可接受的选项是 |
allowedUnsafeSysctls []string | 以逗号分隔的不安全 sysctl 或 sysctl 模式(以 |
volumePluginDir string | volumePluginDir 是用于搜索其他第三方卷插件的目录的完整路径。默认值:"/usr/libexec/kubernetes/kubelet-plugins/volume/exec/" |
providerID string | providerID,如果设置,则设置外部提供程序(即云提供程序)可以使用它来标识特定节点的实例的唯一 ID。默认值:"" |
kernelMemcgNotification bool | kernelMemcgNotification,如果设置,则指示 kubelet 与内核 memcg 通知集成,以确定是否超过内存驱逐阈值,而不是轮询。默认值:false |
logging [必填]LoggingConfiguration | logging 指定日志记录的选项。有关更多信息,请参阅日志选项。默认值:格式:text |
enableSystemLogHandler bool | enableSystemLogHandler 通过 Web 界面 host:port/logs/ 启用系统日志。默认值:true |
enableSystemLogQuery bool | enableSystemLogQuery 在 /logs 端点上启用节点日志查询功能。除了此功能之外,还必须启用 EnableSystemLogHandler。默认值:false |
shutdownGracePeriod meta/v1.Duration | shutdownGracePeriod 指定节点在节点关闭期间应延迟关闭的总持续时间以及 Pod 终止的总宽限期。默认值:"0s" |
shutdownGracePeriodCriticalPods meta/v1.Duration | shutdownGracePeriodCriticalPods 指定在节点关闭期间用于终止关键 Pod 的持续时间。这应该小于 shutdownGracePeriod。例如,如果 shutdownGracePeriod=30s,shutdownGracePeriodCriticalPods=10s,则在节点关闭期间,前 20 秒将保留用于正常终止普通 Pod,最后 10 秒将保留用于终止关键 Pod。默认值:"0s" |
shutdownGracePeriodByPodPriority []ShutdownGracePeriodByPodPriority | shutdownGracePeriodByPodPriority 根据 Pod 关联的优先级类值指定 Pod 的关闭宽限期。当接收到关闭请求时,Kubelet 将使用取决于 Pod 优先级的宽限期启动对节点上运行的所有 Pod 的关闭,然后等待所有 Pod 退出。数组中的每个条目表示当节点正在关闭时,具有优先级类值的 Pod 的正常关闭时间,该值位于该值和列表中下一个更高条目的范围内。例如,要允许关键 Pod 10 秒关闭,优先级>=10000 的 Pod 20 秒关闭,所有剩余的 Pod 30 秒关闭。 shutdownGracePeriodByPodPriority
Kubelet 在退出之前将等待的时间最多为节点上表示的每个优先级类范围的所有 shutdownGracePeriodSeconds 的最大值。当所有 Pod 都已退出或达到其宽限期时,Kubelet 将释放关闭抑制锁。需要启用 GracefulNodeShutdown 功能门。如果设置了 ShutdownGracePeriod 或 ShutdownGracePeriodCriticalPods,则此配置必须为空。默认值:nil |
reservedMemory []MemoryReservation | reservedMemory 为 NUMA 节点指定以逗号分隔的内存预留列表。该参数仅在内存管理器功能的上下文中才有意义。内存管理器不会为容器工作负载分配保留内存。例如,如果您有一个具有 10Gi 内存的 NUMA0,并且 reservedMemory 被指定为在 NUMA0 处保留 1Gi 内存,则内存管理器将假定只有 9Gi 可用于分配。您可以指定不同数量的 NUMA 节点和内存类型。您可以完全省略此参数,但您应该注意,所有 NUMA 节点的保留内存总量应等于节点可分配指定的内存量。如果至少一个节点可分配参数具有非零值,则您需要至少指定一个 NUMA 节点。此外,请避免指定
默认值:nil |
enableProfilingHandler bool | enableProfilingHandler 通过 Web 界面 host:port/debug/pprof/ 启用分析。默认值:true |
enableDebugFlagsHandler bool | enableDebugFlagsHandler 通过 Web 界面 host:port/debug/flags/v 启用标志端点。默认值:true |
seccompDefault bool | SeccompDefault 启用使用 |
memoryThrottlingFactor float64 | MemoryThrottlingFactor 指定在设置 cgroupv2 memory.high 值以强制执行 MemoryQoS 时乘以内存限制或节点可分配内存的因子。降低此因子将为容器 cgroup 设置较低的高限制,并在增加时降低回收压力,而增加则会降低回收压力。有关更多详细信息,请参阅 https://kep.k8s.io/2570。默认值:0.9 |
registerWithTaints []core/v1.Taint | registerWithTaints 是一个污点数组,当 kubelet 注册自身时,会将其添加到节点对象中。这仅在 registerNode 为 true 且在节点初始注册时才生效。默认值:nil |
registerNode bool | registerNode 启用使用 apiserver 的自动注册。默认值:true |
tracing TracingConfiguration | Tracing 指定 OpenTelemetry 跟踪客户端的版本化配置。有关更多详细信息,请参阅 https://kep.k8s.io/2832。默认值:nil |
localStorageCapacityIsolation bool | LocalStorageCapacityIsolation 启用本地临时存储隔离功能。默认设置为 true。此功能允许用户为容器的临时存储设置请求/限制,并以类似于 CPU 和内存的方式管理它。它还允许为 emptyDir 卷设置 sizeLimit,如果卷的磁盘使用量超过限制,将触发 Pod 驱逐。此功能依赖于检测正确的根文件系统磁盘使用情况的能力。对于某些系统,例如 kind rootless,如果无法支持此功能,则应禁用 LocalStorageCapacityIsolation 功能。一旦禁用,用户不应为容器的临时存储设置请求/限制,也不应为 emptyDir 设置 sizeLimit。默认值:true |
containerRuntimeEndpoint [必填]string | ContainerRuntimeEndpoint 是容器运行时的端点。Linux 上支持 Unix 域套接字,而 Windows 上支持 npipe 和 tcp 端点。示例:'unix:///path/to/runtime.sock'、'npipe:////./pipe/runtime' |
imageServiceEndpoint string | ImageServiceEndpoint 是容器镜像服务的端点。Linux 上支持 Unix 域套接字,而 Windows 上支持 npipe 和 tcp 端点。示例:'unix:///path/to/runtime.sock'、'npipe:////./pipe/runtime'。如果未指定,则使用 containerRuntimeEndpoint 中的值。 |
SerializedNodeConfigSource
SerializedNodeConfigSource 允许我们序列化 v1.NodeConfigSource。Kubelet 在内部使用此类型来跟踪检查点的动态配置。它存在于 kubeletconfig API 组中,因为它被归类为 Kubelet 的版本化输入。
字段 | 描述 |
---|---|
apiVersion string | kubelet.config.k8s.io/v1beta1 |
kind string | SerializedNodeConfigSource |
source core/v1.NodeConfigSource | source 是我们正在序列化的源。 |
CredentialProvider
出现于
CredentialProvider 表示要由 kubelet 调用的 exec 插件。仅当正在拉取的镜像与插件处理的镜像匹配时(请参阅 matchImages),才会调用该插件。
字段 | 描述 |
---|---|
name [必填]string | name 是凭据提供程序的必需名称。它必须与 kubelet 所见的提供程序可执行文件的名称匹配。可执行文件必须位于 kubelet 的 bin 目录中(由 --image-credential-provider-bin-dir 标志设置)。 |
matchImages [必填][]string | matchImages 是必需的字符串列表,用于与镜像匹配,以确定是否应调用此提供程序。如果其中一个字符串与 kubelet 请求的镜像匹配,则将调用插件并有机会提供凭据。镜像应包含注册表域和 URL 路径。 matchImages 中的每个条目都是一个模式,可以选择包含端口和路径。可以在域中使用通配符,但不能在端口或路径中使用。支持通配符作为子域,例如“*.k8s.io”或“k8s.*.io”,以及顶级域,例如“k8s.*”。还支持匹配部分子域,例如“app*.k8s.io”。每个通配符只能匹配一个子域段,因此“*.io”与“*.k8s.io”不匹配。 当以下所有条件均为真时,镜像和 matchImage 之间存在匹配
matchImages 的示例值
|
defaultCacheDuration [必填]meta/v1.Duration | defaultCacheDuration 是如果插件响应中未提供缓存持续时间,则插件将在内存中缓存凭据的默认持续时间。此字段是必需的。 |
apiVersion [必填]string | exec CredentialProviderRequest 的必需输入版本。返回的 CredentialProviderResponse 必须使用与输入相同的编码版本。当前支持的值为
|
args []string | 执行命令时要传递的参数。 |
env []ExecEnvVar | Env 定义要向进程公开的其他环境变量。这些变量与主机的环境以及 client-go 用于将参数传递给插件的变量进行合并。 |
ExecEnvVar
出现于
ExecEnvVar 用于在执行基于 exec 的凭据插件时设置环境变量。
字段 | 描述 |
---|---|
name [必填]string | 未提供描述。 |
value [必填]string | 未提供描述。 |
KubeletAnonymousAuthentication
出现于
字段 | 描述 |
---|---|
enabled bool | enabled 允许向 kubelet 服务器发送匿名请求。未被其他身份验证方法拒绝的请求将被视为匿名请求。匿名请求的用户名为 |
KubeletAuthentication
出现于
字段 | 描述 |
---|---|
x509 KubeletX509Authentication | x509 包含与 x509 客户端证书身份验证相关的设置。 |
webhook KubeletWebhookAuthentication | webhook 包含与 webhook 持有者令牌身份验证相关的设置。 |
anonymous KubeletAnonymousAuthentication | anonymous 包含与匿名身份验证相关的设置。 |
KubeletAuthorization
出现于
字段 | 描述 |
---|---|
mode KubeletAuthorizationMode | mode 是应用于 kubelet 服务器请求的授权模式。有效值为 |
webhook KubeletWebhookAuthorization | webhook 包含与 Webhook 授权相关的设置。 |
KubeletAuthorizationMode
(string
的别名)
出现于
KubeletWebhookAuthentication
出现于
字段 | 描述 |
---|---|
enabled bool | enabled 允许由 tokenreviews.authentication.k8s.io API 支持的持有者令牌身份验证。 |
cacheTTL meta/v1.Duration | cacheTTL 启用身份验证结果的缓存 |
KubeletWebhookAuthorization
出现于
字段 | 描述 |
---|---|
cacheAuthorizedTTL meta/v1.Duration | cacheAuthorizedTTL 是缓存来自 webhook 授权者的“已授权”响应的持续时间。 |
cacheUnauthorizedTTL meta/v1.Duration | cacheUnauthorizedTTL 是缓存来自 webhook 授权者的“未授权”响应的持续时间。 |
KubeletX509Authentication
出现于
字段 | 描述 |
---|---|
clientCAFile string | clientCAFile 是 PEM 编码的证书包的路径。如果设置,则任何提供由包中某个颁发机构签名的客户端证书的请求都将使用与 CommonName 对应的用户名和与客户端证书中的组织对应的组进行身份验证。 |
MemoryReservation
出现于
MemoryReservation 为每个 NUMA 节点指定不同类型的内存预留
字段 | 描述 |
---|---|
numaNode [必填]int32 | 未提供描述。 |
limits [必填]core/v1.ResourceList | 未提供描述。 |
MemorySwapConfiguration
出现于
字段 | 描述 |
---|---|
swapBehavior string | swapBehavior 配置容器工作负载可用的交换内存。可以是以下之一:""、“NoSwap”:工作负载不能使用交换,默认选项。“LimitedSwap”:工作负载交换使用受限。交换限制与容器的内存请求成正比。 |
ResourceChangeDetectionStrategy
(string
的别名)
出现于
ResourceChangeDetectionStrategy 表示内部管理器(密钥、配置映射)发现对象更改的模式。
ShutdownGracePeriodByPodPriority
出现于
ShutdownGracePeriodByPodPriority 根据 Pod 关联的优先级类值指定 Pod 的关闭宽限期
字段 | 描述 |
---|---|
priority [必填]int32 | priority 是与关闭宽限期关联的优先级值 |
shutdownGracePeriodSeconds [必填]**int64** | shutdownGracePeriodSeconds 是以秒为单位的关闭宽限期 |
本页面由系统自动生成。
如果您打算报告此页面的问题,请在问题描述中提及该页面是自动生成的。修复可能需要在 Kubernetes 项目的其他地方进行。