diff --git a/content/zh/docs/reference/command-line-tools-reference/cloud-controller-manager.md b/content/zh/docs/reference/command-line-tools-reference/cloud-controller-manager.md new file mode 100644 index 0000000000..7dc7a128ee --- /dev/null +++ b/content/zh/docs/reference/command-line-tools-reference/cloud-controller-manager.md @@ -0,0 +1,892 @@ +--- +title: cloud-controller-manager +content_type: tool-reference +weight: 30 +--- + +## {{% heading "synopsis" %}} + + +云控制器管理器是一个守护进程,其中包含与 Kubernetes 一起发布的特定于云平台的控制回路。 + +``` +cloud-controller-manager [flags] +``` + +## {{% heading "options" %}} + +
| --add-dir-header | +|
| + +若为 true,则将文件目录名添加到日志消息头部。 + | +|
| --allocate-node-cidrs | +|
| + +是否基于云供应商来为 Pods 分配 CIDR 并进行设置。 + | +|
| --alsologtostderr | +|
| + +在将日志输出到文件的同时也输出到标准错误输出。 + | +|
| --authentication-kubeconfig string | +|
| + +指向“核心”Kubernetes 服务器的 kubeconfig 文件,其中包含创建 +tokenreviews.authentication.k8s.io 的足够权限。此标志为可选。 +如果取值为空,则所有令牌请求都被视为匿名请求,并且不会在集群中寻找客户端的证书机构。 + | +|
| --authentication-skip-lookup | +|
| + +如果为 false,则 authentication-kubeconfig 所指的 kubeconfig +文件会被用来寻找集群中缺失的身份认证配置信息。 + | +|
| --authentication-token-webhook-cache-ttl duration 默认值:10s | +|
| + +对来自 Webhook 令牌身份认证组件的响应的缓存时长。 + | +|
| --authentication-tolerate-lookup-failure | +|
| + +如果为 true,则在集群中未找到缺失的认证配置信息也不会被认为是致命错误。 +注意,这一设置可能导致身份认证组件将所有请求都视为匿名请求。 + | +|
| --authorization-always-allow-paths stringSlice 默认值:[/healthz] | +|
| + +在鉴权期间会忽略的一组 HTTP 路径。这些路径在不与 “核心” Kubernetes +服务器沟通的前提下就会被授权。 + | +|
| --authorization-kubeconfig string | +|
| + +指向“核心” Kubernetes 服务器的 kubeconfig 文件,其中包含创建 +subjectaccessreviews.authorization.k8s.io 的足够权限。此标志为可选。 +如果取值为空,则所有未被鉴权组件忽略的请求都会被拒绝。 + | +|
| --authorization-webhook-cache-authorized-ttl duration 默认值:10s | +|
| + | +对来自 Webhook 鉴权组件的“authorized”响应的缓存时长。 +|
| --authorization-webhook-cache-unauthorized-ttl duration 默认值:10s | +|
| + +对来自 Webhook 鉴权组件的“Unauthorized”响应的缓存时长。 + | +|
| --azure-container-registry-config string | +|
| + +包含 Azure 容器仓库配置信息的文件路径。 + | +|
| --bind-address ip 默认值:0.0.0.0 | +|
+
+在 --secure-port 所给端口上监听时所使用 IP 地址。所关联的网络接口必须从集群中其他部分可达,
+且可被命令行和 Web 客户端访问。如果此值为空或者为未设定地址(0.0.0.0 或 ::),
+则所有接口都会被使用。
+ |
+|
| --cert-dir string | +|
| + +TLS 证书所在的目录。如果 --tls-cert-file 和 --tls-private-key-file +都已指定,则此标志值被忽略。 + | +|
| --cidr-allocator-type string 默认值:"RangeAllocator" | +|
| + +要使用的 CIDR 分配器类型。 + | +|
| --client-ca-file string | +|
| + +若此标志被设置,所有能够提供由 client-ca-file 文件中所包含的机构之一签名的 +客户端证书的请求都会通过身份认证,且其身份标识对应客户证书中的 CommonName。 + | +|
| --cloud-config string | +|
| + +云供应商配置文件的路径。空字符串表示没有配置文件。 + | +|
| --cloud-provider string | +|
| + +云服务的供应商。空字符串表示没有供应商。 + | +|
--cloud-provider-gce-l7lb-src-cidrs cidrs 默认值:130.211.0.0/22,35.191.0.0/16 |
+|
| + +在 GCE 防火墙上为第七层负载均衡器流量代理和健康检查所打开的 CIDR。 + | +|
--cloud-provider-gce-lb-src-cidrs cidrs 默认值:130.211.0.0/22,209.85.152.0/22,209.85.204.0/22,35.191.0.0/16 |
+|
| + +在 GCE 防火墙上为第四层负载均衡器流量代理和健康检查所打开的 CIDR。 + | +|
| --cluster-cidr string | +|
| + +集群中 Pod 的 CIDR 范围。要求 --allocate-node-cidrs 为 true。 + | +|
| --cluster-name string 默认值: "kubernetes" | +|
| + +集群的实例前缀。 + | +|
| --concurrent-service-syncs int32 默认值: 1 | +|
| + +可并发同步的服务个数。较大数值意味着服务管理的响应能力更高,不过也意味着更多的 +CPU (和网络)压力。 + | +|
| --configure-cloud-routes 默认值: true | +|
| + +是否要在云供应商平台上配置由 allocate-node-cidrs 所分配的 CIDRs。 + | +|
| --contention-profiling | +|
| + +启用锁竞争分析,前提是 profiling 被弃用。 + | +|
| --controller-start-interval duration | +|
| + +启动控制器管理器之间的时间间隔。 + | +|
| --controllers stringSlice 默认值:[*] | +|
|
+
+一组要启用的控制器列表。'*' 意味着要启用所有默认打开的控制器,'foo'
+意味着要启用名为 'foo' 的控制器;'-foo' 意味着要禁用名为 'foo' 的控制器。 +控制器全集: cloud-node、cloud-node-lifecycle、
+route、service。
+默认禁用的控制器:<无>。
+ |
+|
| --external-cloud-volume-plugin string | +|
| + +当云驱动被设置为 external 时要使用的插件。可以为空,只有当 cloud-provider 为 +external 时才应设置。当前用来保证内置的云驱动的节点控制器和卷控制器能够正常工作。 + | +|
| --feature-gates mapStringBool | +|
|
+一组 key=value 偶对,描述 alpha/试验性功能的特性门控。可选项包括: +APIListChunking=true|false (BETA - 默认值=true) +APIPriorityAndFairness=true|false (ALPHA - 默认值=false) +APIResponseCompression=true|false (BETA - 默认值=true) +AllAlpha=true|false (ALPHA - 默认值=false) +AllBeta=true|false (BETA - 默认值=false) +AllowInsecureBackendProxy=true|false (BETA - 默认值=true) +AnyVolumeDataSource=true|false (ALPHA - 默认值=false) +AppArmor=true|false (BETA - 默认值=true) +BalanceAttachedNodeVolumes=true|false (ALPHA - 默认值=false) +BoundServiceAccountTokenVolume=true|false (ALPHA - 默认值=false) +CPUManager=true|false (BETA - 默认值=true) +CRIContainerLogRotation=true|false (BETA - 默认值=true) +CSIInlineVolume=true|false (BETA - 默认值=true) +CSIMigration=true|false (BETA - 默认值=true) +CSIMigrationAWS=true|false (BETA - 默认值=false) +CSIMigrationAWSComplete=true|false (ALPHA - 默认值=false) +CSIMigrationAzureDisk=true|false (BETA - 默认值=false) +CSIMigrationAzureDiskComplete=true|false (ALPHA - 默认值=false) +CSIMigrationAzureFile=true|false (ALPHA - 默认值=false) +CSIMigrationAzureFileComplete=true|false (ALPHA - 默认值=false) +CSIMigrationGCE=true|false (BETA - 默认值=false) +CSIMigrationGCEComplete=true|false (ALPHA - 默认值=false) +CSIMigrationOpenStack=true|false (BETA - 默认值=false) +CSIMigrationOpenStackComplete=true|false (ALPHA - 默认值=false) +CSIMigrationvSphere=true|false (BETA - 默认值=false) +CSIMigrationvSphereComplete=true|false (BETA - 默认值=false) +CSIStorageCapacity=true|false (ALPHA - 默认值=false) +CSIVolumeFSGroupPolicy=true|false (ALPHA - 默认值=false) +ConfigurableFSGroupPolicy=true|false (ALPHA - 默认值=false) +CustomCPUCFSQuotaPeriod=true|false (ALPHA - 默认值=false) +DefaultPodTopologySpread=true|false (ALPHA - 默认值=false) +DevicePlugins=true|false (BETA - 默认值=true) +DisableAcceleratorUsageMetrics=true|false (ALPHA - 默认值=false) +DynamicKubeletConfig=true|false (BETA - 默认值=true) +EndpointSlice=true|false (BETA - 默认值=true) +EndpointSliceProxying=true|false (BETA - 默认值=true) +EphemeralContainers=true|false (ALPHA - 默认值=false) +ExpandCSIVolumes=true|false (BETA - 默认值=true) +ExpandInUsePersistentVolumes=true|false (BETA - 默认值=true) +ExpandPersistentVolumes=true|false (BETA - 默认值=true) +ExperimentalHostUserNamespaceDefaulting=true|false (BETA - 默认值=false) +GenericEphemeralVolume=true|false (ALPHA - 默认值=false) +HPAScaleToZero=true|false (ALPHA - 默认值=false) +HugePageStorageMediumSize=true|false (BETA - 默认值=true) +HyperVContainer=true|false (ALPHA - 默认值=false) +IPv6DualStack=true|false (ALPHA - 默认值=false) +ImmutableEphemeralVolumes=true|false (BETA - 默认值=true) +KubeletPodResources=true|false (BETA - 默认值=true) +LegacyNodeRoleBehavior=true|false (BETA - 默认值=true) +LocalStorageCapacityIsolation=true|false (BETA - 默认值=true) +LocalStorageCapacityIsolationFSQuotaMonitoring=true|false (ALPHA - 默认值=false) +NodeDisruptionExclusion=true|false (BETA - 默认值=true) +NonPreemptingPriority=true|false (BETA - 默认值=true) +PodDisruptionBudget=true|false (BETA - 默认值=true) +PodOverhead=true|false (BETA - 默认值=true) +ProcMountType=true|false (ALPHA - 默认值=false) +QOSReserved=true|false (ALPHA - 默认值=false) +RemainingItemCount=true|false (BETA - 默认值=true) +RemoveSelfLink=true|false (ALPHA - 默认值=false) +RotateKubeletServerCertificate=true|false (BETA - 默认值=true) +RunAsGroup=true|false (BETA - 默认值=true) +RuntimeClass=true|false (BETA - 默认值=true) +SCTPSupport=true|false (BETA - 默认值=true) +SelectorIndex=true|false (BETA - 默认值=true) +ServerSideApply=true|false (BETA - 默认值=true) +ServiceAccountIssuerDiscovery=true|false (ALPHA - 默认值=false) +ServiceAppProtocol=true|false (BETA - 默认值=true) +ServiceNodeExclusion=true|false (BETA - 默认值=true) +ServiceTopology=true|false (ALPHA - 默认值=false) +SetHostnameAsFQDN=true|false (ALPHA - 默认值=false) +StartupProbe=true|false (BETA - 默认值=true) +StorageVersionHash=true|false (BETA - 默认值=true) +SupportNodePidsLimit=true|false (BETA - 默认值=true) +SupportPodPidsLimit=true|false (BETA - 默认值=true) +Sysctls=true|false (BETA - 默认值=true) +TTLAfterFinished=true|false (ALPHA - 默认值=false) +TokenRequest=true|false (BETA - 默认值=true) +TokenRequestProjection=true|false (BETA - 默认值=true) +TopologyManager=true|false (BETA - 默认值=true) +ValidateProxyRedirects=true|false (BETA - 默认值=true) +VolumeSnapshotDataSource=true|false (BETA - 默认值=true) +WarningHeaders=true|false (BETA - 默认值=true) +WinDSR=true|false (ALPHA - 默认值=false) +WinOverlay=true|false (ALPHA - 默认值=false) +WindowsEndpointSliceProxying=true|false (ALPHA - 默认值=false) + |
+|
| -h, --help | +|
+
+cloud-controller-manager 的帮助信息。
+ |
+|
| --http2-max-streams-per-connection int | +|
| + +在 HTTP/2 连接中,服务器为客户端提供的最大流式连接个数。0 意味着使用 Go +语言库中的默认值。 + | +|
| --kube-api-burst int32 默认值:30 | +|
| + +在与 Kubernetes API 服务器通信时可使用的突发性请求速率。 + | +|
| --kube-api-content-type string 默认值:"application/vnd.kubernetes.protobuf" | +|
| + +向 API 服务器发送请求时使用的内容类型(Content-Type)。 + | +|
| --kube-api-qps float32 默认值:20 | +|
| + +与 Kubernetes API 服务器通信时要遵循的 QPS(每秒查询数)约束。 + | +|
| --kubeconfig string | +|
| + +指向 kubeconfig 文件的路径;该文件中包含鉴权信息以及主控节点位置信息。 + | +|
| --leader-elect 默认值:true | +|
| + +启动领导者选举客户端,并在开始执行主循环之前尝试获得领导者角色。 +在运行多副本组件时启用此标志以达到高可用性。 + | +|
| --leader-elect-lease-duration duration 默认值:15s | +|
| + +当观察到领导者需要续约时,当前处于非领导者角色的候选组件要等待这里设置的时长, +之后才能尝试去获得曾经处于领导者角色但未能成功续约的席位。 +此标志值本质上是当前领导者在被其他候选者替代之前可以停止的最长时长。 +只有启用了领导者选举时此标志值才有意义。 + | +|
| --leader-elect-renew-deadline duration 默认值: 10s | +|
| + +当前领导者身份的组件在停止领导角色前需要对领导者席位续约,此标志值设置续约操作时间间隔。 +此值必须小于等于租期时长。只有启用了领导者选举时此标志值才有意义。 + | +|
| --leader-elect-resource-lock string 默认值:"endpointsleases" | +|
+
+在领导者选举期间用来锁定的资源对象类型。支持的选项包括
+'endpoints'、'configmaps'、'leases'、
+'endpointsleases' 和 'configmapsleases'。
+ |
+|
| --leader-elect-resource-name string 默认值:"cloud-controller-manager" | +|
| + +在领导者选举期间用来锁定的资源对象名称。 + | +|
| --leader-elect-resource-namespace string 默认值:"kube-system" | +|
| + +在领导者选举期间用来锁定的资源对象的名字空间。 + | +|
| --leader-elect-retry-period duration 默认值:2s | +|
| + +客户端在尝试抢占或者续约领导者席位时连续两次尝试之间的时间间隔。 +仅在启用了领导者选举时可用。 + | +|
--log-backtrace-at traceLocation 默认值::0 |
+|
+
+当日志机制执行到文件行 file:N 时打印调用堆栈。
+ |
+|
| --log-dir string | +|
| + +若此标志值非空,则将日志写入到所指定的目录中。 + | +|
| --log-file string | +|
| + +当此标志值非空时,表示使用该字符串值作为日志文件名。 + | +|
| --log-file-max-size uint 默认值:1800 | +|
| + +定义日志文件可增长到的最大尺寸。单位为 MB 字节。如果此值为 +0,则不限制文件的最大尺寸。 + | +|
| --log-flush-frequency duration 默认值:5s | +|
| + +相邻两次日志清洗操作之间的最大间隔秒数。 + | +|
| --logtostderr 默认值:true | +|
| + +将日支输出到标准错误输出而不是日志文件中。 + | +|
| --master string | +|
| + +Kubernetes API 服务器的地址(覆盖 kubeconfig 文件中的设置值。 + | +|
| --min-resync-period duration 默认值:12h0m0s | +|
| + +反射器(Reflectors)的再同步周期将介于 min-resync-period 和 +2*min-resync-period 之间。 + | +|
| --node-monitor-period duration 默认值:5s | +|
| + +在节点控制器中对节点状态进行同步的周期。 + | +|
| --node-status-update-frequency duration 默认值:5m0s | +|
| + +设置控制器更新节点状态的频率。 + | +|
| --permit-port-sharing | +|
| + +此标志值为 true 时,在绑定端口时将使用 SO_REUSEPORT +标志,允许多个实例绑定到同一地址和端口。默认值为 false。 + | +|
| --profiling 默认值:true | +|
+
+通过 Web 接口 host:port/debug/pprof/ 提供性能观测。
+ |
+|
| --requestheader-allowed-names stringSlice | +|
+
+客户证书中 CommonName 的列表,用于允许通过 --requestheader-allowed-names
+标识所设置的头部中提供用户名。此标志值为空时,通过
+--requestheader-client-ca-file 中的机构验证的所有客户端证书都可使用。
+ |
+|
| --requestheader-client-ca-file string | +|
+
+用来对所收到的请求中客户端证书进行验证的根证书包。在此验证之前,不能信任
+--requestheader-username-headers 所指定的头部中的用户名。
+警告:此操作一般不会理会是否已经对所收到的请求执行了鉴权。
+ |
+|
--requestheader-extra-headers-prefix stringSlice 默认值:[x-remote-extra-] |
+|
+
+要检查的请求头部前缀列表。建议使用 X-Remote-Extra-。
+ |
+|
--requestheader-group-headers stringSlice 默认值:[x-remote-group] |
+|
+
+为获取组名而要检查的请求头部列表。建议使用 X-Remote-Group。
+ |
+|
--requestheader-username-headers stringSlice 默认值:[x-remote-user] |
+|
+
+为获取用户名而要检查的请求头部列表。常用的是 X-Remote-User。
+ |
+|
| --route-reconciliation-period duration 默认值:10s | +|
| + +对云供应商为节点所创建的路由进行协商的周期。 + | +|
| --secure-port int 默认值:10258 | +|
| + +此标志值给出的是一个端口号,云控制器管理器在此端口上提供 HTTPS 服务以供身份认证和鉴权。 +如果此值为 0,则云控制器管理器不提供 HTTPS 服务。 + | +|
| --skip-headers | +|
| + +此值为 true 时,不在日志消息中添加头部前缀。 + | +|
| --skip-log-headers | +|
| + +此标志值为 true 时,不在打开日志文件时使用头部。 + | +|
| --stderrthreshold severity 默认值:2 | +|
| + +处于或者高于此阈值的日志消息会被输出到标准错误输出。 + | +|
| --tls-cert-file string | +|
+
+为 HTTPS 通信所给出的默认 x509 证书文件。如果有机构证书,要串接在服务器证书之后。
+当启用 HTTPS 服务时,如果 --tls-cert-file 和 --tls-private-key-file 未设置,
+则组件会自动生成一个自签名的证书和密钥,用于公开的网络地址,并将其保存在
+--cert-dir 所指定的目录下。
+ |
+|
| --tls-cipher-suites stringSlice | +|
|
+
+为服务器设定的逗号分隔的加密包列表。如果忽略此标志,则使用默认的 Go 语言加密包。 +优选的设置:TLS_AES_128_GCM_SHA256, TLS_AES_256_GCM_SHA384, TLS_CHACHA20_POLY1305_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305, TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256, TLS_RSA_WITH_3DES_EDE_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_RSA_WITH_AES_256_GCM_SHA384. +不安全的配置值:TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_RC4_128_SHA. + |
+|
| --tls-min-version string | +|
+
+所支持的 TLS 最低版本。可选值为:VersionTLS10、VersionTLS11、
+VersionTLS12、VersionTLS13。
+ |
+|
| --tls-private-key-file string | +|
+
+包含与 --tls-cert-file 所设定证书匹配的默认 x509 私钥文件。
+ |
+|
--tls-sni-cert-key namedCertKey 默认值:[] |
+|
+
+一组 x509 证书和私钥文件路径偶对。可选地,可以在路径名之后添加域名模式的后缀,
+每个后缀都是一个全限定的域名,也可带有前置的通配符部分。
+域名模式也允许使用 IP 地址,不过只有 API 服务器可以在客户请求的 IP 地址上访问
+时才可使用 IP 地址。如果未指定域名模式,则从证书中抽取名字。
+非通配符的匹配要优先于通配符匹配;显式的域名模式匹配也优先于抽取名字匹配。
+对于多个密钥/证书偶对,可多次使用 --tls-sni-cert-key 标志。
+例如:"example.crt,example.key" 或
+"foo.crt,foo.key:*.foo.com,foo.com"。
+ |
+|
| --use-service-account-credentials | +|
| + +此标志值为 true 时,为每个控制器使用独立的服务账号凭据。 + | +|
| -v, --v Level | +|
| + +日志级别详细程度值。 + | +|
| --version version[=true] | +|
| + +打印版本信息并退出。 + | +|
| --vmodule moduleSpec | +|
+
+逗号分隔的 pattern=N 字符串列表,用来基于文件来执行日志操作。
+ |
+|