k8s组件参数详细说明
一、k8s组件启动参数说明
不同的k8s版本参数可能有差异,本节以v1.30.2版本为例进行介绍。通过组件的命令帮助器可以获得完整的参数信息说明,不同组件参数的配置形式可能也不同。以下表格描述为百度翻译,语义可能会有偏差。
官方的文档地址https://kubernetes.io/zh-cn/docs/reference/。可通过页面语言选择切换为中文阅读。
二、kube-apiserver组件参数
参数分类 | 参数名称 | 描述 |
通用 | --advertise-address | 要在其上将apiserver通告给集群成员的IP地址。该地址必须可由集群的其他成员访问。如果为空,将使用--bind地址。如果未指定--bind地址,则将使用接口。 |
--cloud-provider-gce-l7lb-src-cidrs | GCE防火墙中为L7LB流量代理和健康检查打开的CIDR。(默认值130.211.0.0/22,35.191.0.0/16) | |
--cors-allowed-origins | CORS允许的来源列表,逗号分隔。支持子域匹配的正则表达式。如果此列表为空,则不会启用CORS。请确保每个表达式与 整个主机名,方法是以"^"或包含前缀"//"锚定在开头,以"$"或包含端口分隔符后缀锚定在结尾。 |
|
--default-not-ready-toleration-seconds | 指示notReady:NoExecute的容忍度的容忍度秒数,默认情况下,该值会添加到尚未具有此类容忍度的每个pod中。(默认300) | |
--default-unreachable-toleration-seconds | 指示不可访问的容忍度的容忍度秒数:NoExecute,默认情况下添加到尚未具有这种容忍度的每个pod。(默认300) | |
--external-hostname | 为该主机生成外部化URL时要使用的主机名(例如SwaggerAPIDocs或OpenIDDiscovery)。 | |
--feature-gates | 一组键=值对,用于描述阿尔法/实验特征的特征门。选项较多,此处省略。 | |
--goaway-chance | 为了防止HTTP/2客户端卡在单个apiserver上,请随机关闭一个连接(GOAWAY)。客户端的其他运行中请求不会受到影响,客户端将重新连接,很可能在再次通过负载均衡器后登录到不同的apiserver。此参数设置将发送GOAWAY的请求的分数。具有单个apiserver或不使用负载均衡器的集群不应启用此功能。最小值为0(关闭),最大值为.02(1/50个请求)。001(1/1000)是建议的起点。 | |
--livez-grace-period | 此选项表示apiserver完成启动序列并激活所需的最长时间。从apiserver的启动时间到经过这段时间,/livez将假设启动挂钩将成功完成,因此返回true。 | |
--max-mutating-requests-inflight | 如果--enable优先级和公平性为true,则将此请求和--max请求相加以确定服务器的总并发限制(必须为正)。否则,该标志将限制最大突变次数,或者零值将完全禁用该限制。(默认200) | |
--max-requests-inflight | 如果-enable优先级和公平性为真,则将这一请求和--max空中变化请求相加,以确定服务器的总并发限制(必须为正)。否则,该标志将限制飞行中的最大uest数,或者零值将完全禁用该限制。(默认值400) | |
--min-request-timeout | 一个可选字段,指示处理程序在超时请求之前必须保持打开状态的最小秒数。目前只由监视请求处理程序执行,它选择一个高于该数字的随机化值作为imeout,以分散负载。(默认1800) | |
--request-timeout | 一个可选字段,指示处理程序在超时之前必须保持请求打开的持续时间。这是请求的默认请求超时,但可能会被特定类型请求的--min请求超时等标志覆盖。(默认1m0s) | |
--shutdown-delay-duration | 延迟终止的时间。在此期间,服务器保持正常服务请求。端点/healthz和/livez将返回成功,但/readyz立即返回失败。优雅的终止在结束后开始。这可用于允许负载平衡器停止向该服务器发送流量。 | |
--shutdown-send-retry-after | 如果为true,HTTP服务器将继续侦听,直到所有非长时间运行的请求都被耗尽为止。在此窗口期间,所有传入请求都将被拒绝,状态代码为429,并显示"重试之后"
响应标头,此外还设置了"连接:关闭"响应标头,以便在空闲时断开TCP连接。 |
|
--shutdown-watch-termination-grace-period | 如果设置了此选项,则表示在正常服务器关闭窗口期间,apiserver将等待活动监视请求耗尽的最大宽限期。 | |
--strict-transport-security-directives | HSTS指令列表,逗号分隔。如果此列表为空,则不会添加HSTS指令。示例:"最大年龄=31536000,包括子域,预加载 | |
Etcd | --delete-collection-workers | DeleteCollection调用派生的工作者数。这些用于加速命名空间清理。(默认值1) |
--enable-garbage-collector | 启用通用垃圾收集器。必须与kube控制器管理器的相应标志同步。(默认为true) | |
--encryption-provider-config | 包含加密提供程序配置的文件,用于在etcd中存储机密 | |
--encryption-provider-config-automatic-reload | 确定如果磁盘内容发生更改,是否应自动重新加载--encryptionproviderconfig设置的文件。将其设置为true将禁用通过API唯一识别不同KMS插件的能力
服务器healthz端点。 |
|
--etcd-cafile | 用于保护etcd通信安全的SSL证书颁发机构文件。 | |
--etcd-certfile | 用于保护etcd通信安全的SSL证书文件。 | |
--etcd-compaction-interval | 压缩请求的间隔。如果为0,则来自apiserver的压缩请求将被禁用。(默认5m0s) | |
--etcd-count-metric-poll-period | 每种类型的资源数量的轮询频率等。0禁用度量集合。(默认1m0s) | |
--etcd-db-metric-poll-interval | 轮询etcd和更新度量的请求间隔。0禁用度量集合(默认为30秒) | |
--etcd-healthcheck-timeout | 检查etcd运行状况时要使用的超时。(默认2s) | |
--etcd-keyfile | 用于保护etcd通信安全的SSL密钥文件。 | |
--etcd-prefix | etcd中所有资源路径的前缀。(默认为"/register") | |
--etcd-readycheck-timeout | 检查etcd就绪状态时使用的超时(默认为2s) | |
--etcd-servers | 要连接的etcd服务器列表(scheme://ip:port),逗号分隔。 | |
--etcd-servers-overrides | 每个资源etcd服务器覆盖,逗号分隔。单个覆盖格式:组/资源#服务器,其中服务器为URL,以分号分隔。请注意,这仅适用于编译为此服务器二进制文件的资源。 | |
--lease-reuse-duration-seconds | 每个租约重复使用的时间(以秒为单位)。较低的值可以避免大量对象重复使用同一租约。请注意,值太小可能会导致存储层出现性能问题。(默认60) | |
--storage-backend | 持久性的存储后端。选项:"etcd3"(默认值)。 | |
--storage-media-type | 用于在存储器中存储对象的介质类型。某些资源或存储后端可能只支持特定的介质类型,并将忽略此设置。支持的媒体类型:[application/json,application/yaml,
application/vnd.kubernetes.protobuf](默认为"application/vnd.kubernetes.protobuf") |
|
--watch-cache | 在apiserver中启用监视缓存(默认为true) | |
--watch-cache-sizes | 观察某些资源(pod、节点等)的缓存大小设置,以逗号分隔。 | |
安全 | --bind-address | 要侦听--secure端口端口的IP地址。集群的其余部分和CLI/web客户端必须可以访问关联的接口。如果为空或未指定地址(0.0.0.0或::),则将使用所有接口和IP地址系列。(默认值0.0.0.0) |
--cert-dir | TLS证书所在的目录。如果提供了--tls证书文件和--tls私钥文件,则会忽略此标志。(默认为"/var/run/kubernetes") | |
--http2-max-streams-per-connection | 服务器为客户端提供的HTTP/2连接中最大流数的限制。零表示使用golang的默认值。 | |
--permit-address-sharing | 如果为true,绑定端口时将使用SO_REUSEADDR。这允许并行绑定到0.0.0.0等通配符IP和特定IP,并避免等待内核释放TIME_WAIT状态的套接字。[默认值=false] | |
--permit-port-sharing | 如果为true,绑定端口时将使用SO_REUSEPORT,这允许多个实例绑定在同一地址和端口上。[默认值=false] | |
--secure-port | 为HTTPS提供身份验证和授权服务的端口。它不能用0关闭。(默认6443) | |
--tls-cert-file | 包含HTTPS默认x509证书的文件。(CA证书(如果有)连接在服务器证书之后)。如果启用了HTTPS服务,并且没有提供--tls证书文件和--tls私钥文件,则自签名为公共地址生成证书和密钥,并将其保存到--cert-dir指定的目录中。 | |
--tls-cipher-suites | 服务器密码套件的逗号分隔列表。如果省略,将使用默认的Go密码套件。 | |
--tls-min-version | 支持最低TLS版本。可能的值:版本TLS10、版本TLS11、版本TLC12、版本TLS13 | |
--tls-private-key-file | 包含默认x509私钥匹配的文件--tls证书文件。 | |
--tls-sni-cert-key | 一对x509证书和私钥文件路径,可选地以域模式列表作为后缀,这些域模式是完全限定的域名,可能带有前缀通配符段。域模式也允许使用IP地址,但只有当apiserver能够看到客户端请求的IP地址时,才应使用IP。如果没有提供域模式,则会提取证书的名称。非通配符匹配胜过通配符匹配,显式域模式胜过提取的名称。对于多个密钥/证书对,请多次使用--tls-sni-cert密钥。 | |
审核 | --audit-log-batch-buffer-size | 批处理和写入之前用于存储事件的缓冲区大小。仅在批处理模式下使用。(默认10000) |
--audit-log-batch-max-size | 批的最大大小。仅在批处理模式下使用。(默认值1) | |
--audit-log-batch-max-wait | 强制写入未达到最大大小的批之前等待的时间。仅在批处理模式下使用。 | |
--audit-log-batch-throttle-burst | 如果以前未使用ThrottleQPS,则同时发送的最大请求数。仅在批处理模式下使用。 | |
--audit-log-batch-throttle-enable | 是否启用了批处理限制。仅在批处理模式下使用。 | |
--audit-log-batch-throttle-qps | 每秒的最大平均批数。仅在批处理模式下使用。 | |
--audit-log-compress | 如果设置了,旋转后的日志文件将使用gzip进行压缩。 | |
--audit-log-format | 保存的审核的格式。"legacy"表示每个事件的单行文本格式。"json"表示结构化json格式。已知的格式是遗留的json。(默认为"json") | |
--audit-log-maxage | 根据文件名中编码的时间戳,保留旧审核日志文件的最大天数。 | |
--audit-log-maxbackup | 要保留的旧审核日志文件的最大数目。将值设置为0意味着对文件数量没有限制。 | |
--audit-log-maxsize | 审核日志文件在旋转之前的最大大小(以兆字节为单位)。 | |
--audit-log-mode | 发送审核事件的策略。阻止表示发送事件应阻止服务器响应。批处理使后端异步缓冲和写入事件。已知的模式有批处理、阻塞、严格阻塞。(默认"blocking") | |
--audit-log-path | 如果设置,则所有到达apiserver的请求都将记录到此文件中。"-"意味着标准输出。 | |
--audit-log-truncate-enabled | 是否启用了事件和批截断。 | |
--audit-log-truncate-max-batch-size | 发送到基础后端的批的最大大小。实际的序列化大小可以大几百个字节。如果一个批次超过此限制,它将被拆分为几个较小的批次。(默认10485760) | |
--audit-log-truncate-max-event-size | 发送到基础后端的审核事件的最大大小。如果事件的大小大于这个数字,则会删除第一个请求和响应,如果这还不能充分减少大小,则会丢弃事件。(默认102400) | |
--audit-log-version | 用于序列化写入日志的审核事件的API组和版本。(默认为"audit.k8s.io/v1") | |
--audit-policy-file | 定义审核策略配置的文件的路径。 | |
--audit-webhook-batch-buffer-size | 批处理和写入之前用于存储事件的缓冲区大小。仅在批处理模式下使用。(默认10000) | |
--audit-webhook-batch-max-size | 批的最大大小。仅在批处理模式下使用。(默认值400) | |
--audit-webhook-batch-max-wait | 强制写入未达到最大大小的批之前等待的时间。仅在批处理模式下使用。(默认30s) | |
--audit-webhook-batch-throttle-burst | 如果以前未使用ThrottleQPS,则同时发送的最大请求数。仅在批处理模式下使用。(默认值15) | |
--audit-webhook-batch-throttle-enable | 是否启用了批处理限制。仅在批处理模式下使用。(默认为true) | |
--audit-webhook-batch-throttle-qps | 每秒的最大平均批数。仅在批处理模式下使用。(默认值10) | |
--audit-webhook-config-file | kubeconfig格式文件的路径,该文件定义了审核webhook配置。 | |
--audit-webhook-initial-backoff | 重试第一个失败的请求之前等待的时间。(默认10s) | |
--audit-webhook-mode | 发送审核事件的策略。阻止表示发送事件应阻止服务器响应。批处理使后端异步缓冲和写入事件。已知的模式有批处理、阻塞、严格阻塞。(默认为"batch") | |
--audit-webhook-truncate-enabled | 是否启用了事件和批截断。 | |
--audit-webhook-truncate-max-batch-size | 发送到基础后端的批的最大大小。实际的序列化大小可以大几百个字节。如果一个批次超过此限制,它将被拆分为几个较小的批次。(默认10485760) | |
--audit-webhook-truncate-max-event-size | 发送到基础后端的审核事件的最大大小。如果事件的大小大于这个数字,则会删除第一个请求和响应,如果这还不能充分减少大小,则会丢弃事件。(默认102400) | |
--audit-webhook-version | 用于序列化写入webhook的审核事件的API组和版本。(默认为"audit.k8s.io/v1") | |
特征 | --contention-profiling | 如果启用了分析,则启用块分析 |
--debug-socket-path | 使用未受保护的(无authn/authz)unix域套接字以给定路径进行分析 | |
--enable-priority-and-fairness | 如果为true,请将飞行中的最大值处理程序替换为一个增强的处理程序,该处理程序以优先级和公平性排队和调度(默认为true) | |
--profiling | 通过web界面主机启用分析:port/debug/prof/(默认为true) | |
身份验证 | --anonymous-auth | 启用对API服务器的安全端口的匿名请求。未被其他身份验证方法拒绝的请求将被视为匿名请求。匿名请求的用户名为system:nonymous,组名为system:unauthenticated。(默认为true) |
--api-audiences | API的标识符。服务帐户令牌验证器将验证针对API使用的令牌是否绑定到这些受众中的至少一个受众。如果配置了--service帐户颁发者标志,并且此标志不是,此字段默认为包含颁发者URL的单个元素列表。 | |
--authentication-config | 使用身份验证配置文件配置JWT令牌验证器。注意:此功能自v1.29起就在Alpha中。需要设置featuregate=StructuredAuthenticationConfiguration=true才能启用此功能。此功能与oidc-*标志互斥。 | |
--authentication-token-webhook-cache-ttl | 缓存来自webhook令牌验证器的响应的持续时间。(默认2m0s) | |
--authentication-token-webhook-config-file | 具有用于kubeconfig格式的令牌身份验证的webhook配置的文件。API服务器将查询远程服务以确定承载令牌的身份验证。 | |
--authentication-token-webhook-version | 要发送到webhook并期望从webhook接收的authentication.k8s.ioTokenReview的API版本。(默认为"v1beta1") | |
--client-ca-file | 如果设置了该选项,则在客户端ca文件中提供由其中一个授权机构签名的客户端证书的任何请求都将使用与客户端证书的CommonName相对应的身份进行身份验证。 | |
--enable-bootstrap-token-auth | 启用以允许"kubesystem"命名空间中"bootstrap.kubernetes.io/token"类型的机密用于TLS引导身份验证。 | |
--oidc-ca-file | 如果设置了,OpenID服务器的证书将由oidc-ca文件中的一个授权机构验证,否则将使用主机的根ca集。 | |
--oidc-client-id | 如果设置了oidc颁发者url,则必须设置OpenIDConnect客户端的客户端ID。 | |
--oidc-groups-claim | 如果提供,则为用于指定用户组的自定义OpenIDConnect声明的名称。声明值应为字符串或字符串数组。此标志是实验性的,请参阅身份验证文档以了解更多详细信息。 | |
--oidc-groups-prefix | 如果提供,所有组都将以该值为前缀,以防止与其他身份验证策略发生冲突。 | |
--oidc-issuer-url | OpenID颁发者的URL,只接受HTTPS方案。如果设置,它将用于验证OIDCJSONWeb令牌(JWT)。 | |
--oidc-required-claim | 描述ID令牌中所需声明的密钥=值对。如果设置了,则验证该声明是否存在于具有匹配值的ID令牌中。重复此标志可指定多个声明。 | |
--oidc-signing-algs | 允许的JOSE非对称签名算法的逗号分隔列表。 | |
--oidc-username-claim | OpenID声称用作用户名。请注意,默认声明("sub")以外的声明不能保证是唯一的和不可变的。此标志是实验性的,请参阅身份验证文档以了解更多信息细节。(默认为"sub") | |
--oidc-username-prefix | 如果提供,所有用户名都将以该值为前缀。如果未提供,则"电子邮件"以外的用户名声明将以颁发者URL为前缀,以避免冲突。若要跳过任何前缀,请提供值"-"。 | |
--requestheader-allowed-names | 客户端证书的常见名称列表,允许在由--requestheader-username-headers指定的标头中提供用户名。如果为空,则允许由--requestheader-client-ca-file中的授权机构验证的任何客户端证书。 | |
--requestheader-client-ca-file | 用于验证客户端证书的根证书捆绑包,在信任由--requestheader-username-headers指定的标头中的用户名之前对传入请求进行验证。警告:通常不要依赖于对传入请求的授权已经完成。 | |
--requestheader-extra-headers-prefix | 要检查的请求标头前缀的列表。建议使用X-Remote-Extra。 | |
--requestheader-group-headers | 要检查组的请求标头的列表。建议使用X-Remote-Group。 | |
--requestheader-username-headers | 要检查用户名的请求标头的列表。X-Remote-User是常见的。 | |
--service-account-extend-token-expiration | 在生成令牌期间启用计划服务帐户过期扩展,这有助于从传统令牌安全过渡到绑定服务帐户令牌功能。如果启用此标志,则准入注入的令牌将延长至多1年,以防止在转换期间出现意外故障,忽略服务帐户的最大令牌过期值。(默认为true) | |
--service-account-issuer | 服务帐户令牌颁发者的标识符。颁发者将在已颁发令牌的"iss"声明中断言此标识符。此值是字符串或URI。 | |
--service-account-jwks-uri | 覆盖/.aknowledge/openid配置中提供的发现文档中JSONWeb密钥集的URI。如果发现文档和密钥集是从API服务器的外部以外的URL提供给依赖方的(自动检测或用外部主机名覆盖),则此标志非常有用。 | |
--service-account-key-file | 包含PEM编码的x509RSA或ECDSA私钥或公钥的文件,用于验证ServiceAccount令牌。指定的文件可以包含多个键,并且可以使用不同的文件多次指定标志。如果未指定,则使用--tls私钥文件。提供服务帐户签名密钥文件时必须指定。 | |
--service-account-lookup | 如果为true,则验证etcd中是否存在ServiceAccount令牌,作为身份验证的一部分。(默认为true) | |
--service-account-max-token-expiration | 服务帐户令牌颁发者创建的令牌的最大有效期。如果请求了有效期大于此值的有效TokenRequest,则会发出具有有效值的令牌。 | |
--token-auth-file | 如果设置,将用于通过令牌身份验证保护API服务器的安全端口的文件。 | |
授权 | --authorization-config | 用于配置授权器链的授权配置文件。注意:自v1.29起,此功能处于Alpha阶段。启用此功能需要将--feature-gate=StructuredAuthorizationConfiguration=true功能标志设置为true。此功能与其他--authorization-mode和--authorization-webhook-*标志是互斥的。 |
--authorization-mode | 在安全端口上进行授权的有序插件列表。如果未使用--authorization-config,则默认为AlwaysAllow。逗号分隔的列表包括:AlwaysAllow(始终允许)、AlwaysDeny(始终拒绝)、ABAC(基于属性的访问控制)、Webhook(Webhook授权)、RBAC(基于角色的访问控制)、Node(节点)。 | |
--authorization-policy-file | 在安全端口上,具有json逐行格式的授权策略的文件,与--authorization-mode=ABAC一起使用。 | |
--authorization-webhook-cache-authorized-ttl | 缓存来自webhook授权者的"授权"响应的持续时间。(默认5m0s) | |
--authorization-webhook-cache-unauthorized-ttl | 缓存来自webhook授权者的"未授权"响应的持续时间。(默认30s) | |
--authorization-webhook-config-file | 具有kubeconfig格式的webhook配置的文件,与--authorization-mode=webhook一起使用。API服务器将查询远程服务,以确定对API服务器安全端口的访问。 | |
--authorization-webhook-version | 要发送到Webhook并从其接收的authorization.k8s.ioSubjectAccessReview的API版本。默认为"v1beta1"。 | |
API启用 | --runtime-config | 一组键值对,用于启用或禁用内置的API。支持的选项包括:
这些选项允许管理员根据需要精确地管理Kubernetes中各种API版本的可用性。 |
出口选择 | --egress-selector-config-file | 具有apiserver出口选择器配置的文件。 |
准许 | --admission-control | 准入控制分为两个阶段。在第一阶段,仅运行变异准入插件。在第二阶段,仅运行验证准入插件。下面列表中的名称可能代表验证插件、变异插件或两者皆有。传递到此标志的插件顺序不重要。逗号分隔的列表如下:AlwaysAdmit,AlwaysDeny,AlwaysPullImages,CertificateApproval,CertificateSigning,CertificateSubjectRestriction,ClusterTrustBundleAttest,DefaultIngressClass,DefaultStorageClass,DefaultTolerationSeconds,DenyServiceExternalIPs,EventRateLimit,ExtendedResourceToleration,ImagePolicyWebhook,LimitPodHardAntiAffinityTopology,LimitRanger,MutatingAdmissionWebhook,NamespaceAutoProvision,NamespaceExists,NamespaceLifecycle,NodeRestriction,OwnerReferencesPermissionEnforcement,PersistentVolumeClaimResize,PersistentVolumeLabel,PodNodeSelector,PodSecurity,PodTolerationRestriction,Priority,ResourceQuota,RuntimeClass,ServiceAccount,StorageObjectInUseProtection,TaintNodesByCondition,ValidatingAdmissionPolicy,ValidatingAdmissionWebhook |
--admission-control-config-file | 具有准入控制配置的文件。 | |
--disable-admission-plugins | 应该禁用的准入插件,尽管它们在默认启用的插件列表中 | |
--enable-admission-plugins | 以逗号分隔的准入插件列表 | |
度量 | --allow-metric-labels | 从度量标签到值的映射允许此标签的列表。 |
--allow-metric-labels-manifest | 包含允许列表映射的清单文件的路径。该文件的格式与标志相同--允许使用度量标签。 | |
--disabled-metrics | 此标志为行为不端的度量提供了一个逃生通道。您必须提供完全限定的度量名称才能禁用它。免责声明:禁用度量的优先级高于显示隐藏度量。 | |
--show-hidden-metrics-for-version | 要显示其隐藏度量的早期版本。只有以前的次要版本才有意义,不允许使用其他值。 | |
日志 | --log-flush-frequency | 日志刷新之间的最大秒数(默认为5s) |
--log-json-info-buffer-size | 在具有拆分输出流的JSON格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲。 | |
--log-json-split-stream | 在JSON格式中,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout。 | |
--log-text-info-buffer-size | 在具有拆分输出流的文本格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲。 | |
--log-text-split-stream | 以文本格式,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout。 | |
--logging-format | 设置日志格式。允许的格式:"json"、"text"。(默认为"text") | |
--vmodule | 逗号分隔的模式列表=文件过滤日志记录的N个设置(仅适用于文本日志格式) | |
-v,--vLevel |
日志级别详细程度编号 | |
追踪 | --tracing-config-file | 具有apiserver跟踪配置的文件。 |
其他 | --aggregator-reject-forwarding-redirect | 聚合器拒绝将重定向响应转发回客户端。(默认为true) |
--allow-privileged | 如果为true,则允许特权容器。[默认值=false] | |
--enable-aggregator-routing | 启用聚合器将请求路由到端点IP,而不是群集IP。 | |
--event-ttl | 保留事件的时间量。(默认为1h0m0s) | |
--kubelet-certificate-authority | 证书颁发机构的证书文件的路径。 | |
--kubelet-client-certificate | TLS的客户端证书文件的路径。 | |
--kubelet-client-key | TLS的客户端密钥文件的路径。 | |
--kubelet-preferred-address-types | 用于kubelet连接的首选NodeAddressTypes的列表。(默认值[Hostname,InternalDNS,InternalIP,ExternalDNS,ExternalIP]) | |
--kubelet-timeout | kubelet操作超时。(默认5s) | |
--kubernetes-service-node-port | 如果非零,则Kubernetes主服务(apiserver创建/维护)的类型将为NodePort,并将其用作端口的值。如果为零,则Kubernetes主机服务的类型为ClusterIP。 | |
--max-connection-bytes-per-sec | 如果为非零,则将每个用户连接限制为此字节/秒的数量。当前仅适用于长时间运行的请求。 | |
--peer-advertise-ip | 如果设置了UnknownVersionInteroperabilityProxy功能并且启用了该功能,则当由于kubeapiserver之间的版本偏差而无法由对等方处理请求时,对等方kubeapiservers将使用该IP将请求代理到此kubeapiserver。此标志仅用于配置了多个kube-apiserver以实现高可用性的集群。 | |
--peer-advertise-port | --peer-advertise-ip的端口。 | |
--peer-ca-file | 如果设置了UnknownVersionInteroperabilityProxy功能,则此文件将用于验证对等kubeapiservers的服务证书。此标志仅用于配置有多个kubeapiservers提供高可用性。 | |
--proxy-client-cert-file | 当聚合器或kube-apiserver在请求过程中必须调用时,用于证明其身份的客户端证书。这包括向用户api服务器代理请求,并调用webhook准入插件。 | |
--proxy-client-key-file | 客户端证书的私钥,用于证明聚合器或kube-apiserver在请求过程中必须调用时的身份。这包括向用户api服务器代理请求,并调用webhook准入插件。 | |
--service-account-signing-key-file | 包含服务帐户令牌颁发者的当前私钥的文件的路径。颁发者将使用此私钥对已颁发的ID令牌进行签名。 | |
--service-cluster-ip-range | CIDR表示法IP范围,从中分配服务群集IP。这不得与分配给节点或pod的任何IP范围重叠。最多允许两个双堆栈CIDR。 | |
--service-node-port-range | 为具有NodePort可见性的服务保留的端口范围。这不能与节点上的临时端口范围重叠。示例:"30000-32767"。包含在范围的两端。(默认30000-32767) | |
-h,--help | 参数帮助器 | |
--version | 版本查询 |
三、kube-controller-manager组件参数
参数分类 | 参数名称 | 描述 |
调试 | --contention-profiling | 如果启用了分析,则启用块分析 |
--profiling | 通过web界面主机启用分析:port/debug/prof/(默认为true) | |
引线迁移 | --enable-leader-migration | 是否启用控制器引线迁移 |
--leader-migration-config | 控制器引线迁移的配置文件的路径,或为空以使用反映控制器管理器默认配置的值。配置文件的类型应为LeaderMigrationConfiguration,groupcontrollermanager.config.k8s.io,版本v1alpha1。 | |
通用 | --allocate-node-cidrs | 是否应该在云提供商上分配和设置Pod的CIDR。 |
--cidr-allocator-type | 要使用的CIDR分配器的类型(默认为"RangeAllocator") | |
--cloud-config | 云提供程序配置文件的路径。没有配置文件的空字符串。 | |
--cloud-provider | 云服务的提供商。没有提供程序的空字符串。 | |
--cluster-cidr | 集群中吊舱的CIDR范围。要求--allocate-node-cidrs为true | |
--cluster-name | 群集的实例前缀。(默认为"kubernetes") | |
--configure-cloud-routes | 分配节点分配的CIDR是否应该在云提供程序上进行配置。(默认为true) | |
--controller-start-interval | 启动控制器管理器之间的间隔。 | |
--controllers | 要启用的控制器列表。"*"默认情况下启用allon控制器,"foo"启用名为"foo"的控制器,"-foo"禁用名为"foo"的控制器。 | |
--external-cloud-volume-plugin | 当云提供程序设置为外部时要使用的插件。可以为空,应仅在云提供程序为外部时设置。 | |
--feature-gates | 一组键=值对,用于描述阿尔法/实验特征的特征。 | |
--kube-api-burst | 在与kubernetesapiserver交谈时使用突发。(默认值30) | |
--kube-api-content-type | 发送到apiserver的请求的内容类型。(默认为"application/vnd.kubernetes.protobuf") | |
--kube-api-qps | 在与kubernetesapiserver交谈时使用的QPS。(默认值20) | |
--leader-elect | 启动一个领导人选举客户端,并在执行主循环之前获得领导权。在运行复制组件以获得高可用性时启用此功能。(默认为true) | |
--leader-elect-lease-duration | 非领导人候选人在观察到领导层更新后等待的时间,直到试图获得领导但未更新的领导人职位的领导权。这实际上是领导者在被另一位候选人取代之前可以被阻止的最长时间。这仅适用于启用领导人选举的情况。(默认15秒) | |
--leader-elect-renew-deadline | 代理主在停止领导之前尝试更新领导槽之间的间隔。这必须小于租约持续时间。这仅适用于启用领导者选举的情况。(默认值10秒) | |
--leader-elect-resource-lock | 在领导者选举期间用于锁定的资源对象的类型。支持的选项有"leases"、"endpointslease"和"configmapslease"。(默认"leases") | |
--leader-elect-resource-name | 用于在选举领导者期间进行锁定的资源对象的名称。(默认值"kube-controller-manager") | |
--leader-elect-resource-namespace | 用于在领导者选举期间进行锁定的资源对象的命名空间。(默认值"kube-system") | |
--leader-elect-retry-period | 客户在尝试收购和更新领导层之间应该等待的时间。这仅适用于启用领导人选举的情况。(默认2s) | |
--min-resync-period | 反射器中的重新同步周期将在MinResyncPeriod和2*MinResyncPeriod之间是随机的。(默认为12h0m0s) | |
--node-monitor-period | 在云节点生命周期控制器中同步NodeStatus的周期。(默认5s) | |
--route-reconciliation-period | 云提供程序为节点创建的路由的协调期。(默认10s) | |
--use-service-account-credentials | 如果为true,请为每个控制器使用单独的服务帐户凭据。 | |
同步服务 | --concurrent-service-syncs | 允许同时同步的服务数。较大的数字=响应更快的服务管理,但CPU(和网络)负载更大(默认值1) |
安全服务 | --bind-address | 要侦听--secure端口端口的IP地址。集群的其余部分和CLI/web客户端必须可以访问关联的接口。如果为空或未指定地址(0.0.0.0或::),则所有将使用接口和IP地址系列。(默认值0.0.0.0) |
--cert-dir | TLS证书所在的目录。如果提供了--tls证书文件和--tls私钥文件,则此标志将被忽略。 | |
--http2-max-streams-per-connection | 服务器为客户端提供的HTTP/2连接中最大流数的限制。零表示使用golang的默认值。 | |
--permit-address-sharing | 如果为true,绑定端口时将使用SO_REUSEADDR。这允许并行绑定到0.0.0.0等通配符IP和特定IP,并避免等待内核释放TIME_WAIT状态的套接字。[默认值=false] | |
--permit-port-sharing | 如果为true,绑定端口时将使用SO_REUSEPORT,这允许多个实例绑定在同一地址和端口上。[默认值=false] | |
--secure-port | 为HTTPS提供身份验证和授权服务的端口。如果为0,则完全不提供HTTPS服务。(默认值10257) | |
--tls-cert-file | 包含HTTPS默认x509证书的文件。(CA证书(如果有)连接在服务器证书之后)。如果启用了HTTPS服务,并且没有提供--tls证书文件和--tls私钥文件,则自签名为公共地址生成证书和密钥,并将其保存到--cert-dir指定的目录中。 | |
--tls-cipher-suites | 服务器密码套件的逗号分隔列表。如果省略,将使用默认的Go密码套件。 | |
--tls-min-version | 支持最低TLS版本。可能的值:版本TLS10、版本TLS11、版本TLC12、版本TLS13 | |
--tls-private-key-file | 包含默认x509私钥匹配的文件--tls证书文件。 | |
--tls-sni-cert-key |
一对x509证书和私钥文件路径,可选地以域模式列表作为后缀,这些域模式是完全限定的域名,可能带有前缀通配符段。域模式还允许IP地址,但只有当apiserver能够看到客户端请求的IP地址时,才应使用IP。如果没有提供域模式,则会提取证书的名称。 |
|
身份验证 | --authentication-kubeconfig | kubeconfig文件指向具有足够权限创建okenreviews.authentication.k8s.io的"核心"kubernetes服务器。这是可选的。如果为空,则所有令牌请求都被视为匿名,并且不会在群集中查找客户端CA。 |
--authentication-skip-lookup | 如果为false,则身份验证kubeconfig将用于从集群中查找缺少的身份验证配置。 | |
--authentication-token-webhook-cache-ttl | 缓存来自webhook令牌验证器的响应的持续时间。(默认10s) | |
--authentication-tolerate-lookup-failure | 如果为真,则无法从集群中查找丢失的身份验证配置不会被视为致命。请注意,这可能会导致将所有请求视为匿名的身份验证。 | |
--client-ca-file | 如果设置了该选项,则在客户端ca文件中提供由其中一个授权机构签名的客户端证书的任何请求都将使用与客户端证书的CommonName相对应的身份进行身份验证。 | |
--requestheader-allowed-names | 客户端证书的常见名称列表,允许在由--requestheader-username-headers指定的标头中提供用户名。如果为空,则允许由--requestheader-client-ca-file中的授权机构验证的任何客户端证书。 | |
--requestheader-client-ca-file | 在信任由--requestheaderusername标头指定的标头中的用户名之前,用于验证传入请求的客户端证书的根证书捆绑包。警告:通常不依赖于已经对传入请求进行了授权。 | |
--requestheader-extra-headers-prefix | 要检查的请求标头前缀的列表。建议使用X-Remote-Extra。(默认值[x-remote-extra-]) | |
--requestheader-group-headers | 要检查组的请求标头的列表。建议使用X-Remote-G组。(默认[x-remote-group]) | |
--requestheader-username-headers | 要检查用户名的请求标头的列表。X-Remote-User很常见。(默认[x-remote-user]) | |
授权 | --authorization-always-allow-paths | 在授权过程中要跳过的HTTP路径列表,即这些路径是在不联系"核心"kubernetes服务器的情况下授权的。(默认值[/healthz、/readyz、/livez]) |
--authorization-kubeconfig | kubeconfig文件指向具有足够权限创建subjectaccessreviews.authorization.k8s.io的"核心"kubernetes服务器。这是可选的。如果为空,则禁止所有未被授权跳过的请求。 | |
--authorization-webhook-cache-authorized-ttl | 缓存来自webhook授权者的"授权"响应的持续时间。(默认10s) | |
--authorization-webhook-cache-unauthorized-ttl | 缓存来自webhook授权者的"未授权"响应的持续时间。(默认10s) | |
持久卷连接分离控制器 |
--attach-detach-reconcile-sync-period | 卷连接与分离之间的协调器同步等待时间。此持续时间必须大于1秒,从默认值增加此值可能会导致卷与Pod不匹配。(默认1m0s) |
--disable-attach-detach-reconcile-sync | 禁用卷连接分离协调器同步。禁用此选项可能会导致卷与Pod不匹配。明智地使用。 | |
--disable-force-detach-on-timeout | 防止根据最大卸载时间和节点状态强制分离卷。如果此标志设置为true,则必须使用非优雅节点关闭功能从节点故障中恢复。 | |
认证签名控制器 | --cluster-signing-cert-file | 包含用于颁发群集范围证书的PEM编码X509CA证书的文件名。如果指定,则不能指定更具体的集群签名标记。 |
--cluster-signing-duration | 将给出已签名证书的最大持续时间。单个CSR可以通过设置spec.expirationSeconds来请求更短的证书。(默认8760h0m0s) | |
--cluster-signing-key-file | 包含PEM编码的RSA或ECDSA私钥的文件名,用于对集群范围的证书进行签名。如果指定,则不能指定更具体的集群签名标记。 | |
--cluster-signing-kube-apiserver-client-cert-file | 包含PEM编码的X509CA证书的文件名,用于为kubernetes.io/kube-apiserver-client签名者颁发证书。如果指定,--cluster-signing-{cert,key}-file不得设置 | |
--cluster-signing-kube-apiserver-client-key-file | 包含PEM编码的RSA或ECDSA私钥的文件名,用于为kubernetes.io/kube-apiserver-client签名者签名证书。如果指定,--cluster-signing-{cert,key}-file不得设置 | |
--cluster-signing-kubelet-client-cert-file | 包含PEM编码的X509CA证书的文件名,用于为kubernetes.io/kube-apiserver-client-kubelet签名者颁发证书。如果指定,--cluster-signing-{cert,key}-file不得设置 | |
--cluster-signing-kubelet-client-key-file | 包含PEM编码的RSA或ECDSA私钥的文件名,用于对kubernetes.io/kube-apiserver-client-kubelet签名者的证书进行签名。如果指定,--cluster-signing-{cert,key}-file不得设置 | |
--cluster-signing-kubelet-serving-cert-file | 包含PEM编码的X509CA证书的文件名,用于为kubernetes.io/kubelet-serving签名者颁发证书。如果指定,--cluster-signing-{cert,key}-file不得设置 | |
--cluster-signing-kubelet-serving-key-file | 包含PEM编码的RSA或ECDSA私钥的文件名,用于为kubernetes.io/kubelet-serving签名者签名证书。如果指定,--cluster-signing-{cert,key}-file不得设置 | |
--cluster-signing-legacy-unknown-cert-file | 包含PEM编码的X509CA证书的文件名,用于为kubernetes.io/legacy-unknown签名者颁发证书。如果指定,--cluster-signing-{cert,key}-file不得设置 | |
--cluster-signing-legacy-unknown-key-file | 包含PEM编码的RSA或ECDSA私钥的文件名,用于为kubernetes.io/legacy-unknown签名者签名证书。如果指定,--cluster-signing-{cert,key}-file不得设置 | |
部署控制器 | --concurrent-deployment-syncs | 允许同时同步的部署对象的数量。更大的数字=部署响应更快,但CPU(和网络)负载更大(默认值5) |
状态设定控制器 | --concurrent-statefulset-syncs | 允许同时同步的状态集对象的数量。较大的数字=响应性更强的状态集,但CPU(和网络)负载更大(默认值5) |
端点控制器 | --concurrent-endpoint-syncs | 将同时进行的端点同步操作的数量。更大的数字=更快的端点更新,但更多的CPU(和网络)负载(默认值5) |
--endpoint-updates-batch-period | 端点更新批处理周期的长度。pod更改的处理将延迟此时间,以将其与潜在的即将到来的更新相结合,并减少端点更新的总数。数字越大=端点编程延迟越高,但生成的端点修订数量越低 | |
端点切片控制器 | --concurrent-service-endpoint-syncs | 将同时进行的服务端点同步操作的数量。更大的数字=更快的端点切片更新,但更多的CPU(和网络)负载。默认为5。(默认值5) |
--endpointslice-updates-batch-period | 端点切片的长度会更新批处理周期。pod更改的处理将延迟此时间,以将其与潜在的即将到来的更新相结合,并减少端点更新的总数。数字越大=端点编程延迟越高,但生成的端点修订数量越低 | |
--max-endpoints-per-slice | 将添加到EndpointSlice的最大端点数。每个切片更多的端点将导致更少的端点切片,但更大的资源。默认值为100。(默认值为100) | |
端点切片镜像控制器 |
--mirroring-concurrent-service-endpoint-syncs | 端点切片镜像控制器将同时执行的服务端点同步操作的数量。更大的数字=更快的端点切片更新,但更多的CPU(和网络)负载。默认为5 |
--mirroring-endpointslice-updates-batch-period | EndpointSlice的长度会更新端点切片镜像控制器的批处理周期。EndpointSlice更改的处理将延迟此持续时间,以便将它们与潜在的即将到来的更新连接起来,并减少EndpointSlice更新的总数。数字越大=端点编程延迟越高,但生成的端点修订数量越低 | |
--mirroring-max-endpoints-per-subset | 端点切片镜像控制器将添加到EndpointSlice的最大端点数。每个切片更多的端点将导致更少的端点切片,但更大的资源。默认值为100 | |
瞬时音量控制器 | --concurrent-ephemeralvolume-syncs | 将同时进行的临时卷同步操作的数量。更大的数字=更快的临时卷更新,但更多的CPU(和网络)负载(默认值5) |
垃圾收集器控制器 | --concurrent-gc-syncs | 允许同时同步的垃圾收集器工作进程的数量。(默认值20) |
--enable-garbage-collector | 启用通用垃圾收集器。必须与kube-apiserver的相应标志同步。(默认为true) | |
水平吊舱自动伸缩控制器 | --concurrent-horizontal-pod-autoscaler-syncs | 允许同时同步的水平pod自动缩放器对象的数量。更大的数字=更灵敏的水平pod自动缩放器对象处理,但更多的CPU(和网络)负载。(默认值5) |
--horizontal-pod-autoscaler-cpu-initialization-period | pod启动后可能跳过CPU采样的时段。(默认5m0s) | |
--horizontal-pod-autoscaler-downscale-stabilization | 自动缩放器将向后查看的时间段,并且不会缩小到在此期间提出的任何建议以下。(默认5m0s) | |
--horizontal-pod-autoscaler-initial-readiness-delay | 吊舱启动后的准备状态变化期间将被视为初始准备状态。(默认30s) | |
--horizontal-pod-autoscaler-sync-period | 在水平吊舱自动缩放器中同步吊舱数量的周期。(默认15秒) | |
--horizontal-pod-autoscaler-tolerance | 考虑缩放的水平吊舱自动缩放器的期望与实际度量比的最小变化(从1.0开始)。(默认值0.1) | |
任务控制器 | --concurrent-job-syncs | 允许同时同步的作业对象的数量。更大的数字=响应更快的作业,但CPU(和网络)负载更大(默认值5) |
定时调度控制器 | --concurrent-cron-job-syncs | 允许同时同步的cron作业对象的数量。更大的数字=响应更快的作业,但CPU(和网络)负载更大(默认值5) |
传统服务帐户令牌清理器控制器 | --legacy-service-account-token-clean-up-period | 从上次使用旧服务帐户令牌到可以删除它的时间段。(默认8760h0m0s) |
命名空间控制器 | --concurrent-namespace-syncs | 允许同时同步的命名空间对象的数量。更大的数字=响应更快的命名空间终止,但CPU(和网络)负载更大(默认值10) |
--namespace-sync-period | 同步命名空间生命周期更新的周期(默认5m0s) | |
节点ipam控制器 | --node-cidr-mask-size | 群集中节点cidr的掩码大小。默认值为24(IPv4)和64(IPv6)。 |
--node-cidr-mask-size-ipv4 | 双堆栈群集中IPv4节点cidr的掩码大小。默认值为24。 | |
--node-cidr-mask-size-ipv6 | 双栈群集中IPv6节点cidr的掩码大小。默认值为64。 | |
--service-cluster-ip-range | 群集中服务的CIDR范围。要求--allocate节点cidrs为true | |
节点生命周期控制器 | --large-cluster-size-threshold | 节点生命周期控制器出于驱逐逻辑目的将集群视为较大的节点数量--对于此大小或更小的集群,辅助节点驱逐率隐式覆盖为0。注意:如果节点位于多个区域中,则此阈值将被视为每个区域的区域节点大小阈值,以独立确定节点驱逐率。(默认值50) |
--node-eviction-rate | 当一个区域处于健康状态时,在节点故障的情况下每秒删除Pod的节点数(有关健康/不健康的定义,请参阅--unhealthzonethreshold)。区域是指非多区域集群中的整个集群。(默认值0.1) | |
--node-monitor-grace-period | 我们允许运行的Node在标记为不健康之前无响应的时间量。必须是kubelet的nodeStatusUpdateFrequency的N倍,其中N表示kubelet发布节点状态所允许的重试次数。(默认40秒) | |
--node-startup-grace-period | 在标记为不健康之前,我们允许启动节点无响应的时间量。(默认1m0s) | |
--secondary-node-eviction-rate | 当一个区域不健康时,在节点故障的情况下每秒删除Pod的节点数(有关健康/不健康的定义,请参阅--unhealthzonethreshold)。区域是指非多区域集群中的整个集群。如果群集大小小于--large群集大小阈值,则此值将隐式重写为0。(默认值0.01) | |
--unhealthy-zone-threshold | 一个区域中需要未就绪的节点比例(至少3个),才能将该区域视为不健康。(默认值0.55) | |
持久卷粘合剂控制器 | --enable-dynamic-provisioning | 为支持动态资源调配的环境启用动态资源调配。(默认为true) |
--enable-hostpath-provisioner | 在没有云提供商的情况下运行时启用HostPathPV配置。这允许测试和开发配置功能。HostPath配置无论如何都不受支持,在多节点集群中不起作用,不应用于测试或开发以外的任何用途。 | |
--flex-volume-plugin-dir | flex卷插件应在其中搜索其他第三方卷插件的目录的完整路径。(默认"/usr/libexec/kubernes/kubelet插件/volume/exec/") | |
--pv-recycler-increment-timeout-nfs | NFS洗涤盒的ActiveDeadlineSeconds每Gi增加的时间增量(默认值为30) | |
--pv-recycler-minimum-timeout-hostpath | HostPathRecyclerpod使用的最小ActiveDeadlineSeconds。这仅用于开发和测试,在多节点集群中不起作用。(默认60) | |
--pv-recycler-minimum-timeout-nfs | NFS回收器pod使用的最小ActiveDeadlineSeconds(默认值300) | |
--pv-recycler-pod-template-filepath-hostpath | 用作HostPath持久卷回收模板的pod定义的文件路径。这仅用于开发和测试,在多节点集群中不起作用。 | |
--pv-recycler-pod-template-filepath-nfs | 用作NFS持久卷回收模板的pod定义的文件路径 | |
--pv-recycler-timeout-increment-hostpath | HostPath洗涤盒的ActiveDeadlineSeconds每Gi增加的时间增量。这仅用于开发和测试,在多节点集群中不起作用。(默认值30) | |
--pvclaimbinder-sync-period | 同步持久卷和持久卷声明的时间段(默认15秒) | |
Pod垃圾收集器控制器 | --terminated-pod-gc-threshold | 在终止的pod垃圾收集器开始删除终止的pod之前,可以存在的终止的pod数。如果<=0,则终止的pod垃圾收集器将被禁用。(默认值12500) |
Replicast控制器 | --concurrent-replicaset-syncs | 允许同时同步的副本集的数量。数字越大=副本管理响应越快,但CPU(和网络)负载越大(默认值5) |
复制控制器控制器 | --concurrent-rc-syncs | 允许同时同步的复制控制器的数量。数字越大=副本管理响应越快,但CPU(和网络)负载越大(默认值5) |
资源配额控制器 | --concurrent-resource-quota-syncs | 允许同时同步的资源配额数。较大的数字=响应更快的配额管理,但CPU(和网络)负载更大(默认值5) |
--resource-quota-sync-period | 系统中同步配额使用状态的周期(默认5m0s) | |
服务帐户控制器 | --concurrent-serviceaccount-token-syncs | 允许同时同步的服务帐户令牌对象的数量。数字越大=令牌生成响应越快,但CPU(和网络)负载越大(默认值5) |
--root-ca-file | 如果设置,此根证书颁发机构将包含在服务帐户的令牌密钥中。这必须是有效的PEM编码CA捆绑包。 | |
--service-account-private-key-file | 包含用于对服务帐户令牌进行签名的PEM编码的私有RSA或ECDSA密钥的文件名。 | |
Ttl后结束控制器 | --concurrent-ttl-after-finished-syncs | 允许并发同步的控制器工作进程完成后的ttl数量。(默认值5) |
验证任务策略状态控制器 | --concurrent-validating-admission-policy-status-syncs | 允许同时同步的ValidatingAdmissionPolicyStatusController工作进程的数量。(默认值5) |
度量 | --allow-metric-labels | 从度量标签到值的映射允许此标签的列表。 |
--allow-metric-labels-manifest | 包含允许列表映射的清单文件的路径。 | |
--disabled-metrics | 此标志为行为不端的度量提供了一个逃生通道。您必须提供完全限定的度量名称才能禁用它。免责声明:禁用度量的优先级高于显示隐藏度量。 | |
--show-hidden-metrics-for-version | 要显示其隐藏度量的早期版本。只有以前的次要版本才有意义,不允许使用其他值。 | |
日志 | --log-flush-frequency | 日志刷新之间的最大秒数(默认为5s) |
--log-json-info-buffer-size | 在具有拆分输出流的JSON格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲。 | |
--log-json-split-stream | 在JSON格式中,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout。 | |
--log-text-info-buffer-size | 在具有拆分输出流的文本格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲。 | |
--log-text-split-stream | 以文本格式,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout。 | |
--logging-format | 设置日志格式。允许的格式:"json"、"text"。(默认为"text") | |
-v,--vLevel | 日志级别详细程度的编号 | |
其他 | --kubeconfig | 带有授权和主位置信息的kubeconfig文件的路径(主位置可以被主标志覆盖)。 |
--master | KubernetesAPI服务器的地址(覆盖kubeconfig中的任何值)。 |
四、kube-scheduler组件参数
参数分类 | 参数名称 | 描述 |
其他 | --config | 配置文件的路径。 |
--master | KubernetesAPI服务器的地址(覆盖kubeconfig中的任何值) | |
--write-config-to | 如果已设置,请将配置值写入此文件并退出。 | |
安全服务 | --bind-address | 要侦听--secure端口端口的IP地址。集群的其余部分和CLI/web客户端必须可以访问关联的接口。如果为空或未指定地址(0.0.0.0或::),则所有将使用接口和IP地址系列。(默认值0.0.0.0) |
--cert-dir | TLS证书所在的目录。如果提供了--tls证书文件和--tls私钥文件,则此标志将被忽略。 | |
--http2-max-streams-per-connection | 服务器为客户端提供的HTTP/2连接中最大流数的限制。零表示使用golang的默认值。 | |
--permit-address-sharing | 如果为true,绑定端口时将使用SO_REUSEADDR。这允许并行绑定到0.0.0.0等通配符IP和特定IP,并避免等待内核释放TIME_WAIT状态的套接字。[默认值=false] | |
--permit-port-sharing | 如果为true,绑定端口时将使用SO_REUSEPORT,这允许多个实例绑定在同一地址和端口上。[默认值=false] | |
--secure-port | 为HTTPS提供身份验证和授权服务的端口。如果为0,则完全不提供HTTPS服务。(默认值10259) | |
--tls-cert-file | 包含HTTPS默认x509证书的文件。(CA证书(如果有)连接在服务器证书之后)。如果启用了HTTPS服务,并且没有提供--tls-cert文件和--tls私钥文件,则会为公共地址生成自签名证书和密钥,并将其保存到--cert-dir指定的目录中。 | |
--tls-cipher-suites | 服务器密码套件的逗号分隔列表。如果省略,将使用默认的Go密码套件。 | |
--tls-min-version | 支持的最小TLS版本。可能值:版本TLS10、版本TLS11、版本TLS12、版本TLS13 | |
--tls-private-key-file | 包含默认x509私钥匹配的文件--tls证书文件。 | |
--tls-sni-cert-key | 一对x509证书和私钥文件路径,可选地以域模式列表作为后缀,这些域模式是完全限定的域名,可能带有前缀通配符段。域模式也允许使用IP地址,但只有当apiserver能够看到客户端请求的IP地址时,才应使用IP。如果没有提供域模式,则会提取证书的名称。非通配符匹配胜过通配符匹配,显式域模式胜过提取的名称。 | |
身份验证 | --authentication-kubeconfig | kubeconfig文件指向具有足够权限创建tokenreviews.authentication.k8s.io的"核心"kubernetes服务器。这是可选的。如果为空,则所有令牌请求都被视为匿名,并且不会在群集中查找客户端CA。 |
--authentication-skip-lookup | 如果为false,则身份验证kubeconfig将用于从集群中查找缺少的身份验证配置。 | |
--authentication-token-webhook-cache-ttl | 缓存来自webhook令牌验证器的响应的持续时间。(默认10s) | |
--authentication-tolerate-lookup-failure | 如果为真,则无法从集群中查找丢失的身份验证配置不会被视为致命。请注意,这可能会导致将所有请求视为匿名的身份验证。(默认为true) | |
--client-ca-file | 如果设置了该选项,则在客户端ca文件中提供由其中一个授权机构签名的客户端证书的任何请求都将使用与客户端证书的CommonName相对应的身份进行身份验证。 | |
--requestheader-allowed-names | 客户端证书通用名称列表,允许在--requestheaderusername标头指定的标头中提供用户名。如果为空,则允许使用--requestheader-client-ca文件中由权威机构验证的任何客户端证书。 | |
--requestheader-client-ca-file | 在信任由--requestheaderusername标头指定的标头中的用户名之前,用于验证传入请求的客户端证书的根证书捆绑包。警告:通常不依赖于已经对传入请求进行了授权。 | |
--requestheader-extra-headers-prefix | 要检查的请求标头前缀的列表。建议使用X-Remote-Extra。(默认值[x-remote-extra-]) | |
--requestheader-group-headers | 要检查组的请求标头的列表。建议使用X-Remote-G组。(默认[x-remote-group]) | |
--requestheader-username-headers | 要检查用户名的请求标头的列表。X-Remote-User很常见。(默认[x-remote-user]) | |
授权 | --authorization-always-allow-paths | 在授权过程中要跳过的HTTP路径列表,即这些路径是在不联系"核心"kubernetes服务器的情况下授权的。(默认值[/healthz、/readyz、/livez]) |
--authorization-kubeconfig | kubeconfig文件指向具有足够权限创建subjectaccessreviews.authorization.k8s.io的"核心"kubernetes服务器。这是可选的。如果为空,则禁止所有未被授权跳过的请求。 | |
--authorization-webhook-cache-authorized-ttl | 缓存来自webhook授权者的"授权"响应的持续时间。(默认10s) | |
--authorization-webhook-cache-unauthorized-ttl | 缓存来自webhook授权者的"未授权"响应的持续时间。(默认10s) | |
领导选举 | --leader-elect | 启动一个领导人选举客户端,并在执行主循环之前获得领导权。在运行复制组件以获得高可用性时启用此功能。(默认为true) |
--leader-elect-lease-duration | 非领导人候选人在观察到领导层更新后等待的时间,直到试图获得领导但未更新的领导人职位的领导权。这实际上是领导者在被另一位候选人取代之前可以被阻止的最长时间。这仅适用于启用领导人选举的情况。(默认15秒) | |
--leader-elect-renew-deadline | 代理主在停止领导之前尝试更新领导槽之间的间隔。这必须小于租约持续时间。这仅适用于启用领导者选举的情况。(默认值10秒) | |
--leader-elect-resource-lock | 在领导者选举期间用于锁定的资源对象的类型。支持的选项有"leases"、"endpointslease"和"configmapslease"。(默认"leases") | |
--leader-elect-resource-name | 在领导者选举期间用于锁定的资源对象的名称。(默认"kube-scheduler") | |
--leader-elect-resource-namespace | 在领导者选举期间用于锁定的资源对象的命名空间。(默认"kube-system" | |
--leader-elect-retry-period | 客户在尝试收购和更新领导层之间应该等待的时间。这仅适用于启用领导人选举的情况。(默认2s) | |
特征 | --feature-gates | 一组键=值对,用于描述阿尔法/实验特征的特征门。 |
度量 | --allow-metric-labels | 从度量标签到值的映射允许此标签的列表。 |
--allow-metric-labels-manifest | 包含允许列表映射的清单文件的路径。该文件的格式与标志相同--允许使用度量标签。 | |
--disabled-metrics | 标志为行为不端的度量提供了一个逃生通道。您必须提供完全限定的度量名称才能禁用它。免责声明:禁用度量的优先级高于显示隐藏度量。 | |
--show-hidden-metrics-for-version | 要显示其隐藏度量的早期版本。只有以前的次要版本才有意义,不允许使用其他值。 | |
日志 | --log-flush-frequency | 日志刷新之间的最大秒数(默认为5s) |
--log-json-info-buffer-size | 在具有拆分输出流的JSON格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲。 | |
--log-json-split-stream | 在JSON格式中,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout。 | |
--log-text-info-buffer-size | 在具有拆分输出流的文本格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲。 | |
--log-text-split-stream | 以文本格式,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout。 | |
--logging-format | 设置日志格式。允许的格式:"json"、"text"。(默认为"text") | |
--vmodule | 逗号分隔的模式列表=文件过滤日志记录的N个设置(仅适用于文本日志格式) | |
-v,--vLevel | 日志级别详细程度编号 |
五、kubelet组件参数
参数名称 | 描述 |
--config | Kubelet将从该文件加载其初始配置。路径可以是绝对的或相对的;相对路径从Kubelet的当前工作目录开始。省略此标志以使用内置的默认配置值。命令行标志覆盖此文件中的配置,不建议使用命令行标记配置。详情查看https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/。 |
--config-dir | 指定目录的路径以指定附加的配置文件(drop-ins),允许用户选择性地覆盖默认提供的配置以及KubeletConfigFile标志中提供的配置。默认情况下为空字符串。 |
--address | Kubelet服务的IP地址(设置为"0.0.0.0"或::",用于监听所有接口和IP地址系列)(默认为0.0.0.0) |
--allowed-unsafe-sysctls | 以逗号分隔的不安全sysctls或不安全sysctl模式的白名单(以*结尾)。使用这些由您自行承担风险 |
--anonymous-auth | 启用对Kubelet服务器的匿名请求。未被其他身份验证方法拒绝的请求被视为匿名请求。匿名请求的用户名为system:Anonymous,组名为system:unauthenticated。(默认为true) |
--authentication-token-webhook | 使用TokenReviewAPI确定承载令牌的身份验证 |
--authentication-token-webhook-cache-ttl | 缓存来自webhook令牌验证器的响应的持续时间。(默认2m0s) |
--authorization-mode | Kubelet服务器的授权模式。有效选项为AlwaysAllow或Webhook。Webhook模式使用SubjectAccessReviewAPI来确定授权。(默认"AlwaysAllow") |
--authorization-webhook-cache-authorized-ttl | 缓存来自webhook授权器的"授权"响应的持续时间。(默认5m0s) |
--authorization-webhook-cache-unauthorized-ttl | 缓存来自webhook授权者的"未经授权"响应的持续时间。(默认30秒) |
--boot-id-file | 以逗号分隔的文件列表,用于检查引导id。请使用第一个存在的文件。(默认"/proc/sys/kernel/random/boot_id")(弃用) |
--bootstrap-kubeconfig | 用于获取kubelet客户端证书的kubeconfig文件的路径。如果--kubeconfig指定的文件不存在,则使用bootstrapkubecconfig从API服务器请求客户端证书。成功后,将引用生成的客户端证书和密钥的kubeconfig文件写入--kubeconfig指定的路径。客户端证书和密钥文件将存储在--cert-dir指向的目录中。 |
--cert-dir | TLS证书所在的目录。如果提供了--tls证书文件和--tls私钥文件,则此标志将被忽略。(默认"/var/lib/kubelet/pki") |
--cgroup-driver | kubelet用来操纵主机上cgroups的驱动程序。可能的值:"cgroupfs","systemd"(默认为"cgroupfs") |
--cgroup-root | 用于Pod的可选根cgroup。这是由容器运行时在尽力而为的基础上处理的。默认值:"",表示使用容器运行时默认值 |
--cgroups-per-qos | 如果创建了真正的顶级QoS和podcgroup,则启用QoScgroup层次结构的创建。(默认为true) |
--client-ca-file | 如果设置,则任何呈现由客户端ca文件中的一个机构签名的客户端证书的请求都将使用与客户端证书的CommonName对应的身份进行身份验证 |
--cloud-config | 云提供商配置文件的路径。空字符串表示没有配置文件。(弃用:将在1.25或更高版本中删除,支持从Kubelet中删除云提供商代码。) |
--cloud-provider | 云服务提供商。设置为空字符串,以便在没有云提供商的情况下运行。设置为"外部"以与外部云提供商一起运行。如果设置,云提供商将确定节点的名称(请参阅云提供商文档以确定是否以及如何使用主机名)。 |
--cluster-dns | 以逗号分隔的DNS服务器IP地址列表。在Pod具有"dnsPolicy=ClusterFirst"的情况下,此值用于容器DNS服务器。注意:列表中出现的所有DNS服务器必须提供相同的记录集,否则集群内的名称解析可能无法正常工作。无法保证可以联系哪个DNS服务器进行名称解析 |
--cluster-domain | 此群集的域。如果设置,kubelet将配置所有容器来搜索此域以及主机的搜索域 |
--container-log-max-files | 设置容器可以存在的容器日志文件的最大数量。该数字必须大于等于2。(默认值5) |
--container-log-max-size | 在旋转容器日志文件之前设置其最大大小(例如10Mi)。(默认"10Mi") |
--container-runtime-endpoint | 容器运行时服务的端点。在Linux上支持Unix域套接字,而在Windows上支持npipe和tcp端点。示例:"unix:///path/to/runtime.sock","npipe:////./pipe/runtime"(默认值为"unix:///run/containerd/containerd.sock") |
--containerd | containerd端点(默认为"/run/containerd/containerd.sock")(弃用) |
--containerd-namespace | containerd命名空间(默认为"k8s.io")(弃用) |
--contention-profiling | 如果启用了分析,则启用块分析 |
--cpu-cfs-quota | 为指定CPU限制的容器启用CPUCFS配额强制(默认为true) |
--cpu-cfs-quota-period | 设置CPUCFS配额周期值cpu.cfs_period_us,默认为Linux内核默认值(默认100ms) |
--cpu-manager-policy | 要使用的CPU管理器策略。可能的值:"none"、"static"。(默认"none") |
--cpu-manager-policy-options | 要使用的一组key=valueCPU管理器策略选项,以微调其行为。如果没有提供,请保持默认行为 |
--cpu-manager-reconcile-period | CPU管理器对账期。示例:"10s"或"1m"。如果未提供,则默认为"NodeStatusUpdateFrequency"(默认10秒) |
--enable-controller-attach-detach | 启用Attach/Detach控制器来管理计划到此节点的卷的连接/分离,并禁用kubelet执行任何连接/分离操作(默认为true) |
--enable-debugging-handlers | 启用服务器端点以进行日志收集和本地运行容器和命令(默认为true) |
--enable-load-reader | 是否启用cpu负载读取器(弃用) |
--enable-server | 启用Kubelet的服务器(默认为true) |
--enforce-node-allocatable | 可分配字符串kubelet要执行的节点可分配强制级别的逗号分隔列表。可接受的选项包括"无"、"Pod"、"系统保留"和"kube保留"。如果指定了后两个选项,则还必须分别设置"--systemreservedcgroup"和"--kubereservedcgiroup"。如果指定了"无",则不应设置其他选项 |
--event-burst | 突发事件记录的最大大小,暂时允许事件记录突发到此数字,同时仍不超过事件qps。该数字必须大于等于0。如果0将使用DefaultBurst:10。(默认值100) |
--event-qps | QPS限制事件创建。该数字必须大于等于0。如果为0,则使用DefaultQPS:5。(默认值50) |
--eviction-hard | 一组驱逐阈值(例如memory.available<1Gi),如果满足这些阈值,将触发pod驱逐 |
--eviction-max-pod-grace-period | 响应于软驱逐阈值而终止Pod时使用的最大允许宽限期(秒)。如果为负,则遵从pod指定的值 |
--eviction-minimum-reclaim | 一组最小回收量(例如imagefs.available=2Gi),描述了如果资源处于压力之下,kubelet在执行pod驱逐时将回收的最小资源量 |
--eviction-pressure-transition-period | kubelet在从驱逐压力状态转换出来之前必须等待的时间。(默认5m0s) |
--eviction-soft | 一组驱逐阈值(例如,内存可用性<1.5Gi),如果在相应的宽限期内达到,将触发pod驱逐 |
--eviction-soft-grace-period | 一组驱逐宽限期(例如memory.availabe=1m30s),对应于软驱逐阈值在触发pod驱逐之前必须保持的时间 |
--exit-on-lock-contention | kubelet是否应在锁文件争用时退出 |
--fail-swap-on | 如果节点上启用了swap,则使Kubelet无法启动。(默认为true) |
--feature-gates | 一组键=值对,描述阿尔法/实验特征的特征门。 |
--file-check-frequency | 检查配置文件以获取新数据之间的持续时间(默认为20秒) |
--hairpin-mode | kubelet应该如何设置发夹NAT。这允许服务的端点在尝试访问自己的服务时进行负载平衡。有效值为"promiscuous-bridge"、"hairpin-veth"和"none" |
--healthz-bind-address | healthz服务器的IP地址(设置为"0.0.0.0"或"::",用于监听所有接口和IP地址系列)(默认127.0.0.1) |
--healthz-port | 本地主机healthz端点的端口(设置为0以禁用)(默认10248) |
--hostname-override | 如果非空,将使用此字符串作为标识,而不是实际的主机名。如果设置了--cloudprovider,则云提供商将确定节点的名称(请参阅云提供商文档以确定是否以及如何使用主机名)。 |
--housekeeping-interval | 集装箱保管间隔(默认10秒) |
--http-check-frequency | 检查http以获取新数据之间的持续时间(默认为20秒) |
--image-credential-provider-bin-dir | 凭据提供程序插件二进制文件所在目录的路径。 |
--image-credential-provider-config | 凭据提供程序插件配置文件的路径。 |
--image-gc-high-threshold | 始终运行映像垃圾回收的磁盘使用率百分比。值必须在[0,100]范围内,若要禁用图像垃圾回收,请设置为100。(默认值85) |
--image-gc-low-threshold | 从未运行映像垃圾回收的磁盘使用率百分比。垃圾回收的最低磁盘使用率。值必须在[0,100]范围内,并且必须小于--imagegc高阈值。(默认值80) |
--image-service-endpoint | 容器映像服务的终结点。如果未指定,则默认情况下与--container运行时端点相同。Linux支持Unix域套接字,而Windows支持npipe和tcp端点。示例:"unix:///path/to/runtime.sock","npipe:////./pipe/runtime" |
--keep-terminated-pod-volumes | 在pod终止后,将终止的pod卷装载到节点上。可用于调试与卷相关的问题。(已弃用) |
--kernel-memcg-notification | 如果启用,kubelet将与内核memcg通知集成,以确定是否超过内存驱逐阈值,而不是轮询 |
--kube-api-burst | 在与kubernetesapiserver交谈时使用。该数字必须大于等于0。如果0将使用DefaultBurst:100。不包括速率限制由一组不同标志(默认值100)控制的事件和节点心跳api |
--kube-api-content-type | 发送到apiserver的请求的内容类型。(默认"application/vnd.kubernes.protobuf") |
--kube-api-qps | 与kubernetesapiserver交谈时使用的QPS。该数字必须大于等于0。如果为0,则使用默认QPS:50。不包括速率限制由一组不同标志(默认值50)控制的事件和节点心跳api |
--kube-reserved | 一组ResourceName=ResourceQuantity(例如cpu=200m,内存=500Mi,临时存储=1Gi,pid=1000)对,描述为kubernetes系统组件保留的资源。目前只支持根文件系统的cpu、内存、pid和本地临时存储 |
--kube-reserved-cgroup | 用于管理kubernetes组件的顶级cgroup的绝对名称,这些组件的计算资源是通过"--kube-reserved"标志保留的。例如"/kube保留"。[default=""] |
--kubeconfig | kubeconfig文件的路径,指定如何连接到API服务器。提供--kubeconfig启用API服务器模式,省略--kubecconfig启用独立模式 |
--kubelet-cgroups | 用于创建和运行Kubelet的cgroups的可选绝对名称 |
--local-storage-capacity-isolation | 如果为真,则启用本地临时存储隔离。否则,本地存储隔离功能将被禁用(默认为true) |
--lock-file | kubelet用作锁文件的文件路径 |
--log-flush-frequency | 日志刷新之间的最大秒数(默认5秒) |
--log-json-info-buffer-size | 在具有拆分输出流的JSON格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲。 |
--log-json-split-stream | 在JSON格式中,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout。 |
--log-text-info-buffer-size | 在具有拆分输出流的文本格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲 |
--log-text-split-stream | 以文本格式,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout。 |
--logging-format | 设置日志格式。允许的格式:"json"、"text"。(默认为"text") |
--make-iptables-util-chains | 如果为true,kubelet将确保主机上存在iptables实用规则。(默认为true) |
--manifest-url | 用于访问要运行的其他Pod规范的URL |
--manifest-url-header | 访问提供给--manifesturl的url时使用的逗号分隔的HTTP标头列表。将按照提供的相同顺序添加多个同名标题。此标志可以重复调用。例如:--manifesturlheader"a:hello,b:again,c:world"--manifesturlheader"b:beautiful" |
--max-open-files | --max-open-filesintKubelet进程可以打开的文件数。(默认1000000) |
--max-pods | 可以在此Kubelet上运行的Pod数量。(默认值110) |
--maximum-dead-containers | 全局保留的容器旧实例的最大数量。每个容器都会占用一些磁盘空间。要禁用,请设置为负数。(默认值为-1) |
--maximum-dead-containers-per-container | 每个容器要保留的旧实例的最大数量。每个容器都会占用一些磁盘空间。(默认值1) |
--memory-manager-policy | 要使用的内存管理器策略。可能的值:"无"、"静态"。(默认"None") |
--minimum-image-ttl-duration | 垃圾回收前未使用图像的最短生存期。示例:"300ms"、"10s"或"2h45m"。(默认2m0s) |
--node-ip | 节点的IP地址(或逗号分隔的双栈IP地址)。如果未设置,kubelet将使用节点的默认IPv4地址(如果有的话),或者如果没有IPv4地址,则使用其默认IPv6地址。您可以传递"::"使其更喜欢默认IPv6地址而不是默认IPv4地址。 |
--node-labels | 在群集中注册节点时要添加的标签。标签必须是由","分隔的键=值对。"kubements.io"命名空间中的标签必须以允许的前缀开头(kubelet.kubernetes.io,node.kubernements.io),或者在特别允许的集合中。 |
--node-status-max-images | 节点中要报告的最大图像数。地位图像。如果指定了-1,则不会应用上限。(默认值50) |
--node-status-update-frequency | 指定kubelet向master发布节点状态的频率。注意:更改常量时要小心,它必须与nodecontroller中的nodeMonitorGracePeriod一起工作。(默认10秒) |
--oom-score-adj | kubelet进程的oom评分调整值。值必须在[-10001000]范围内(默认值-999) |
--pod-cidr | 用于podIP地址的CIDR,仅在独立模式下使用。在集群模式下,这是从主节点获得的。对于IPv6,分配的最大IP数为65536 |
--pod-infra-container-image | 指定的映像不会被映像垃圾回收器修剪。CRI实现有自己的配置来设置此映像。(默认"registry.k8s.io/pase:3.9") |
--pod-manifest-path | 包含要运行的静态pod文件的目录路径,或单个静态pod文件路径。以点开头的文件将被忽略 |
--pod-max-pids | 设置每个pod的最大进程数。如果为-1,kubelet默认为节点可分配的pid容量。(默认值-1) |
--pods-per-core | 每个内核可以在Kubelet上运行的Pod数量。此Kubelet上的Pod总数不能超过最大Pod数,因此如果此计算导致Kubelet上允许的Pod数量更多,则将使用最大Pod数。值为0时禁用此限制 |
--port | Kubelet服务的端口。(默认10250) |
--protect-kernel-defaults | 内核调优的默认kubelet行为。如果设置,如果任何内核可调参数与kubelet默认值不同,kubelet将出错 |
--provider-id | 用于标识计算机数据库中节点的唯一标识符,即cloudprovider |
--qos-reserved | 一组ResourceName=Percentage(例如内存=50%)对,描述了如何在QoS级别保留pod资源请求。目前只支持内存。需要启用QOSReserved功能 |
--read-only-port | Kubelet在没有身份验证/授权的情况下提供服务的只读端口(设置为0表示禁用)(默认10255) |
--register-node | 向apiserver注册节点。如果未提供--kubeconfig,则此标志无关紧要,因为Kubelet将没有可注册的apiserver |
--register-schedulable | 将节点注册为可调度节点。如果注册节点为false,则不会有任何效果。(默认为true) |
--register-with-taints | 使用给定的污点列表注册节点(逗号分隔的"<key>=<value>:<effect>")。如果注册节点为false,则不执行操作 |
--registry-burst | 突发拉取的最大大小,暂时允许拉取突发到此数字,同时仍不超过注册表qps。仅在--registryqps>0(默认值10)时使用 |
--registry-qps | 如果>0,则将注册表pullQPS限制为此值。如果为0,则无限制。(默认值5) |
--reserved-cpus | 以逗号分隔的CPU或CPU范围列表,保留用于系统和kubernetes使用。此特定列表将取代--systemreserved和--kube-reserved中的cpu计数 |
--reserved-memory | NUMA节点的内存保留列表,以逗号分隔。(例如--保留内存0:内存=1Gi,hugepages-1M=2Gi--保留内存1:内存=2Gi)。每种内存类型的总和应等于kube保留、系统保留和驱逐阈值的总和 |
--resolv-conf | 解析器配置文件用作容器DNS解析配置的基础。(默认"/etc/resolv.conf") |
--root-dir | 用于管理kubelet文件(卷挂载等)的目录路径。(默认为"/var/lib/kubelet") |
--rotate-certificates | 当证书到期时,通过向kube-apiserver请求新证书来自动轮换kubelet客户端证书 |
--rotate-server-certificates | 当证书到期时,通过向kube-apiserver请求新证书来自动请求和轮换kubelet服务证书。需要启用RotateKubeletServerCertificate功能门,并批准提交的CertificateSigningRequest对象 |
--runonce | 如果为true,请在从静态pod文件或远程URL生成pod后退出。与--enable-server独占 |
--runtime-cgroups | 用于创建和运行运行时的cgroups的可选绝对名称 |
--runtime-request-timeout | 除长时间运行的请求(pull、logs、exec和attach)外,所有运行时请求的超时。当超时超过时,kubelet将取消请求,抛出错误并稍后重试。(默认2m0s) |
--seccomp-default | 启用RuntimeDefault作为所有工作负载的默认seccomp配置文件。 |
--serialize-image-pulls | 一次拉取一个镜像。我们建议在运行docker守护程序版本小于1.9或使用Aufs存储后端的节点上不要更改默认值。(默认为true) |
--streaming-connection-idle-timeout | 流媒体连接在自动关闭之前可以空闲的最长时间。0表示没有超时。示例:"5m"。注意:所有与kubelet服务器的连接最长持续时间为4小时。(默认4h0m0s) |
--sync-frequency | 同步正在运行的容器和配置之间的最大时间间隔(默认1m0s) |
--system-cgroups | cgroup的可选绝对名称,用于将cgroup中尚未包含的所有非内核进程放置在"/"下。空即无容器。回滚标志需要重新启动 |
--system-reserved | 一组ResourceName=ResourceQuantity(例如cpu=200m,内存=500Mi,临时存储=1Gi,pid=1000)对,描述为非kubernetes组件保留的资源。目前只支持根文件系统的cpu、内存、pid和本地临时存储。[default=none] |
--system-reserved-cgroup | 用于管理非kubernetes组件的顶级cgroup的绝对名称,这些组件的计算资源是通过"--systemreserved"标志保留的。例如"/系统保留"。[default=""] |
--tls-cert-file | 包含用于提供HTTPS服务的x509证书的文件(如果有中间证书,则在服务器证书后连接)。如果未提供--tls-cert文件和--tls私钥文件,则会为公共地址生成自签名证书和密钥,并将其保存到传递给--cert-dir的目录中 |
--tls-cipher-suites | 以逗号分隔的服务器密码套件列表。如果省略,将使用默认的Go密码套件。 |
--tls-min-version | 支持的最低TLS版本。可能的值:版本TLS10、版本TLS11、版本TLS12、版本TLS13(已弃用:此参数应通过Kubelet的--config标志指定的配置文件设置。 |
--tls-private-key-file | 包含x509私钥匹配的文件--tls-cert文件 |
--topology-manager-policy | 要使用的拓扑管理器策略。可能的值:"none","best-effort","restricted","single-numa-node,(默认"none") |
--topology-manager-policy-options | 要使用的一组key=value拓扑管理器策略选项,以微调其行为。如果没有提供,请保持默认行为 |
--topology-manager-scope | 拓扑提示应用的范围。拓扑管理器从提示提供者收集提示,并将其应用于定义的范围,以确保pod的准入。可能的值:"container"、"pod"。(默认"container") |
-v,--vLevel | --v日志级别详细程度的级别号 |
--vmodule | 逗号分隔的模式列表=N个文件过滤日志记录设置(仅适用于文本日志格式) |
--volume-plugin-dir | 搜索其他第三方卷插件的目录的完整路径(默认为"/usr/libexec/kubernes/kubelet-plugins/volume/exec/") |
--volume-stats-agg-period | 指定kubelet计算和缓存所有Pod和卷的卷磁盘使用情况的间隔。要禁用体积计算,请设置为负数 |
六、kube-proxy组件参数
参数名称 | 描述 |
--config | 配置文件的路径 |
--bind-address | 覆盖kube-proxy对其节点主IP的想法。请注意,该名称是一个历史工件,kube-prroxy实际上并没有将任何套接字绑定到该IP。如果配置文件由--config指定,则忽略此参数 |
--bind-address-hard-fail | 如果为true,kube-proxy会将绑定端口失败视为致命并退出 |
--boot-id-file | 以逗号分隔的文件列表,用于检查引导id。请使用第一个存在的文件。(默认"/proc/sys/kernel/random/boot_id") |
--cleanup | 如果为true,清除iptables和ipvs规则并退出。 |
--cluster-cidr | 集群中吊舱的CIDR范围。(对于双堆栈集群,这可以是逗号分隔的双堆栈CIDR范围对)当--detect-local模式设置为ClusterCIDR时,如果源IP在此范围内,kube-proxy将认为流量是本地的。如果配置文件由--config指定,则忽略此参数 |
--config-sync-period | 刷新apiserver配置的频率。必须大于0。(默认15m0s) |
--conntrack-max-per-core | 每个CPU核心要跟踪的最大NAT连接数(0表示保持限制不变,忽略conntrackmin)。(默认值32768) |
--conntrack-min | 要分配的conntrack条目数的最小值,与每个核心的conntrac最大值无关(将每个核心的conntrack最大值设置为0,使限制保持不变)。(默认值131072) |
--conntrack-tcp-be-liberal | 通过将nf_conntrack_TCP_be_liberal设置为1,启用自由模式来跟踪TCP数据包 |
--conntrack-tcp-timeout-close-wait | CLOSE_WAIT状态下TCP连接的NAT超时(默认1h0m0s) |
--conntrack-tcp-timeout-established | 已建立TCP连接的空闲超时(0保持原样)(默认24h0m0s) |
--conntrack-udp-timeout | 已建立TCP连接的空闲超时(0保持原样)(默认24h0m0s) |
--conntrack-udp-timeout-stream | ASSUREDUDP连接的空闲超时(0保持原样) |
--detect-local-mode | 用于检测本地流量的模式。如果配置文件由--config指定,则忽略此参数 |
--feature-gates | 一组键=值对,描述阿尔法/实验特征的特征门 |
--healthz-bind-address | 健康检查服务器要服务的IP地址和端口,默认为"0.0.0.0:10256"(如果未设置--bind地址或IPv4),或"[::]:10256。设置为空以禁用。如果配置文件由--config指定,则忽略此参数。(默认值0.0.0.0:10256) |
--hostname-override | 如果非空,则将用作运行kube-proxy的节点的名称。如果未设置,则假定节点名称与节点的主机名相同。 |
--init-only | 如果为true,请执行必须以完全root权限完成的任何初始化步骤,然后退出。完成此操作后,您可以仅使用CAP_NET_ADMIN功能再次运行kube-proxy。 |
--iptables-localhost-nodeports | 如果为false,kube-proxy将禁用允许通过localhost访问NodePort服务的传统行为。(仅适用于iptables模式和IPv4;其他代理模式或IPv6不允许使用localhostNodePorts。)(默认为true) |
--iptables-masquerade-bit | 如果使用iptables或ipvs代理模式,则使用fwmark空格的位来标记需要SNAT的数据包。必须在[0,31]范围内。(默认值14) |
--iptables-min-sync-period | iptables规则重新同步之间的最短时间间隔(例如"5s"、"1m"、"2h22m")。值为0表示每次服务或EndpointSlice更改都会立即导致iptables重新同步。(默认1秒) |
--iptables-sync-period | 表示各种重新同步和清理操作执行频率的间隔(例如"5s"、"1m"、"2h22m")。必须大于0。(默认30秒) |
--ipvs-exclude-cidrs | 一个逗号分隔的CIDR列表,在清理ipvs规则时,ipvs代理程序不应触摸这些CIDR。 |
--ipvs-min-sync-period | IPVS规则重新同步之间的最短时间间隔(例如"5s"、"1m"、"2h22m")。值为0表示每次服务或EndpointSlice更改都会导致IPVS立即重新同步。 |
--ipvs-scheduler | 代理模式为ipvs时的ipvs调度程序类型 |
--ipvs-strict-arp | 通过将ARP_ignore设置为1并将ARP_announce设置为2来启用严格ARP |
--ipvs-sync-period | 表示各种重新同步和清理操作执行频率的间隔(例如"5s"、"1m"、"2h22m")。必须大于0。(默认30秒) |
--ipvs-tcp-timeout | 空闲IPVSTCP连接的超时,0保持原样。(例如"5s"、"1m"、"2h22m") |
--ipvs-tcpfin-timeout | IPVSTCP连接在收到FIN数据包后的超时时间,0表示保持原样(例如"5s"、"1m"、"2h22m") |
--ipvs-udp-timeout | IPVSUDP数据包的超时,0保持原样。(例如"5s"、"1m"、"2h22m") |
--kube-api-burst | 在与kubernetesapiserver对话时使用(默认值10) |
--kube-api-content-type | 发送到apiserver的请求的内容类型。(默认"application/vnd.kubernes.protobuf") |
--kube-api-qps | 与kubernetesapiserver对话时使用的QPS(默认值5) |
--kubeconfig | 带有授权信息的kubeconfig文件的路径(主位置可以被主标志覆盖) |
--log-flush-frequency | 日志刷新之间的最大秒数(默认5秒) |
--log-json-info-buffer-size | 在具有拆分输出流的JSON格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲 |
--log-json-split-stream | 在JSON格式中,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout |
--log-text-info-buffer-size | 在具有拆分输出流的文本格式中,信息消息可以缓冲一段时间以提高性能。默认值为0字节将禁用缓冲 |
--log-text-split-stream | 以文本格式,将错误消息写入stderr,将信息消息写入stdout。默认情况是将单个流写入stdout |
--logging-format | 设置日志格式。允许的格式:"json"、"text"。(默认为"text") |
--machine-id-file | 以逗号分隔的文件列表,用于检查计算机id。请使用第一个存在的文件。(默认"/etc/machineid,/var/lib/dbus/machineid") |
--masquerade-all | 如果使用iptables或ipvs代理模式,则SNAT所有通过服务集群IP发送的流量。这可能是某些CNI插件所必需的 |
--master | KubernetesAPI服务器的地址(覆盖kubeconfig中的任何值) |
--metrics-bind-address | 指标服务器要服务的IP地址和端口,默认为"127.0.0.1:10249"(如果未设置--bind地址或IPv4),或"[::1]:10249"(若--bound地址为IPv6)。(设置为"0.0.0.0:10249"/"[::]:10249"以绑定所有接口。)设置为空以禁用。如果配置文件由--config指定,则忽略此参数 |
--oom-score-adj | kube-proxy进程的oom评分调整值。值必须在[-10001000]范围内。如果配置文件由--config指定,则忽略此参数。(默认值-999) |
--pod-bridge-interface | 网桥接口名称。当--detect-local模式设置为BridgeInterface时,如果流量来自此网桥,kube-proxy将认为流量是本地的 |
--pod-interface-name-prefix | 接口名称前缀。当--detect-local模式设置为InterfaceNamePrefix时,如果流量来自名称以此前缀开头的任何接口,kube-proxy将认为流量是本地的 |
--profiling | 如果为true,则启用通过/debug/prof处理程序上的web界面进行分析。如果配置文件由--config指定,则忽略此参数 |
--proxy-mode | 使用哪种代理模式:在Linux上,这可以是"iptables"(默认)或"ipvs"。在Windows上,唯一支持的值是"kernelspace"。如果配置文件由--config指定,则忽略此参数 |
--show-hidden-metrics-for-version | 您要显示隐藏指标的先前版本。只有以前的次要版本有意义,不允许使用其他值。 |
-v,--vLevel | 日志级别详细程度的编号 |
--write-config-to | 如果已设置,请将默认配置值写入此文件并退出 |
--vmodule | 逗号分隔的模式列表=N个文件过滤日志记录设置(仅适用于文本日志格式) |
七、kubectl组件(客户端命令行工具)命令
命令 | 描述 |
create | 从文件或stdin创建资源 |
expose | 将复制控制器、服务、部署或Pod暴露为一个新的Kubernetes服务。 |
run | 在集群上运行特定镜像 |
set | 为对象设置指定特性 |
explain | 获取资源的文档 |
get | 显示一个或多个资源 |
edit | 编辑服务器上的资源 |
delete | 按文件名、stdin、资源和名称或按资源和标签选择器删除资源 |
rollout | 管理资源的滚动升级 |
scale | 为部署、副本集或复制控制器设置新的大小 |
autoscale | 自动扩展部署、副本集、有状态集或复制控制器 |
certificate | 修改证书资源 |
cluster-info | 显示集群信息 |
top | 显示资源(CPU/内存)使用情况 |
cordon | 标记节点为不可调度 |
uncordon | 标记节点为可调度 |
drain | 清空节点以准备维护 |
taint | 更新一个或者多个节点上的污点 |
describe | 显示特定资源或资源组的详细信息 |
logs | 打印Pod中容器的日志 |
attach | 挂接到一个运行中的容器 |
exec | 在某个容器中执行一个命令 |
port-forward | 将一个或多个本地端口转发到某个Pod |
proxy | 运行一个指向KubernetesAPI服务器的代理 |
cp | 在容器之间复制文件和目录 |
auth | 检查授权 |
debug | 创建调试会话以排除工作负载和节点的故障 |
events | 列出事件 |
diff | 将实时版本与潜在应用版本进行比较 |
apply | 按文件名或stdin将配置应用于资源 |
patch | 更新资源的字段 |
replace | 用文件名或stdin替换资源 |
wait | 实验性:等待一个或多个资源上的特定条件 |
kustomize | 从目录或URL构建kustomization目标 |
label | 更新某资源上的标签 |
annotate | 更新一个资源的注解 |
completion | 指定shell(bash、zsh、fish或powershell)的输出shell完成代码 |
api-resources | 打印服务器上支持的API资源 |
api-versions | 在服务器上以“组/版本”的形式打印支持的API版本 |
config | 修改kubeconfig文件 |
plugin | 提供与插件交互的实用程序 |
version | 输出客户端和服务端的版本信息 |