kubectl autoscale
简介
创建一个自动扩缩器,自动选择并设置在 Kubernetes 集群中运行的 Pod 数量。
此命令将先尝试使用 autoscaling/v2
API,如果发生错误,它将回退到 autoscaling/v1
API。
按名称查找 Deployment、ReplicaSet、StatefulSet 或 ReplicationController, 并创建使用给定资源作为参照指标的自动扩缩器。 自动扩缩器可以根据需要自动增加或减少系统内部署的 Pod 数量。
kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu=CPU] [--memory=MEMORY]
示例
# 自动扩缩名为 "foo" 的 Deployment,其 Pod 数量在 2 到 10 之间,
# 未指定目标 CPU 利用率,因此将使用默认的自动扩缩策略
kubectl autoscale deployment foo --min=2 --max=10
# 自动扩缩名为 "foo" 的 ReplicationController,其 Pod 数量在 1 到 5 之间,
# 目标 CPU 利用率为 80%
kubectl autoscale rc foo --max=5 --cpu-percent=80
# 自动扩缩名为 "bar" 的 Deployment,其 Pod 数量在 3 到 6 之间,
# 目标平均 CPU 为 500m,内存为 200Mi
kubectl autoscale deployment bar --min=3 --max=6 --cpu=500m --memory=200Mi
# 自动扩缩名为 "bar" 的 Deployment,其 Pod 数量在 2 到 8 之间,
# 目标 CPU 利用率为 60%,内存利用率为 70%
kubectl autoscale deployment bar --min=3 --max=6 --cpu=60% --memory=70%
选项
--allow-missing-template-keys 默认值:true | |
如果为 true,则当模板中缺少字段或映射键时,忽略模板中的任何错误。 仅适用于 golang 和 jsonpath 输出格式。 |
|
--cpu string | |
所有 Pod 的目标 CPU 利用率。
|
|
--dry-run string[="unchanged"] 默认值:"none" | |
必须是 "none"、"server" 或 "client"。如果是 client 策略,仅打印将要发送的对象,而不实际发送。 如果是 server 策略,提交服务器端请求而不持久化资源。 |
|
--field-manager string 默认值:"kubectl-autoscale" | |
用于跟踪字段属主关系的管理器的名称。 |
|
-f, --filename strings | |
用于标识要自动扩缩的资源的文件名、目录或文件 URL 列表。 |
|
-h, --help | |
关于 autoscale 的帮助信息。 |
|
-k, --kustomize string | |
处理 kustomization 目录。此标志不能与 -f 或 -R 一起使用。 |
|
--max int32 默认值:-1 | |
自动扩缩器可设置的 Pod 数量上限(必需)。 |
|
--memory string | |
所有 Pod 的目标内存利用率。
|
|
--min int32 默认值:-1 | |
自动扩缩器可以设置的 Pod 数量下限。如果未指定或为负数,服务器将应用默认值。 |
|
--name string | |
新创建对象的名称。如果未指定,则将使用输入资源的名称。 |
|
-o, --output string | |
输出格式。可选值为: json、yaml、name、go-template、go-template-file、template、templatefile、jsonpath、jsonpath-as-json、jsonpath-file。 |
|
-R, --recursive | |
以递归方式处理在 -f、--filename 中给出的目录。当你想要管理位于同一目录中的相关清单时很有用。 |
|
--save-config | |
如果为 true,则当前对象的配置将被保存在其注解中。否则,注解将保持不变。 当你希望后续对此对象执行 `kubectl apply` 操作时,此标志很有用。 |
|
--show-managed-fields | |
如果为 true,在以 JSON 或 YAML 格式打印对象时保留 managedFields。 |
|
--template string | |
当 -o=go-template、-o=go-template-file 时使用的模板字符串或模板文件路径。 模板格式为 golang 模板 [http://golang.org/pkg/text/template/#pkg-overview]。 |
Parent Options Inherited
--as string | |
操作所用的伪装用户名。用户可以是常规用户或命名空间中的服务账号。 |
|
--as-group strings | |
操作所用的伪装用户组,此标志可以被重复设置以指定多个组。 |
|
--as-uid string | |
操作所用的伪装 UID。 |
|
--cache-dir string 默认值:"$HOME/.kube/cache" | |
默认缓存目录。 |
|
--certificate-authority string | |
证书机构的证书文件的路径。 |
|
--client-certificate string | |
TLS 客户端证书文件的路径。 |
|
--client-key string | |
TLS 客户端密钥文件的路径。 |
|
--cluster string | |
要使用的 kubeconfig 中集群的名称。 |
|
--context string | |
要使用的 kubeconfig 上下文的名称。 |
|
--disable-compression | |
如果为 true,则对服务器所有请求的响应不再压缩。 |
|
--insecure-skip-tls-verify | |
如果为 true,则不检查服务器证书的有效性。这将使你的 HTTPS 连接不安全。 |
|
--kubeconfig string | |
CLI 请求要使用的 kubeconfig 文件的路径。 |
|
--kuberc string | |
用于偏好设置的 kuberc 文件的路径。可以通过导出 KUBECTL_KUBERC=false 特性门控或关闭 KUBERC=off 特性来禁用此功能。 |
|
--match-server-version | |
要求服务器版本与客户端版本匹配。 |
|
-n, --namespace string | |
如果存在,则是此 CLI 请求的命名空间范围。 |
|
--password string | |
对 API 服务器进行基本身份验证所用的密码。 |
|
--profile string 默认值:"none" | |
要记录的性能分析信息。可选值为(none|cpu|heap|goroutine|threadcreate|block|mutex)。 |
|
--profile-output string 默认值:"profile.pprof" | |
性能分析信息要写入的目标文件的名称。 |
|
--request-timeout string 默认值:"0" | |
在放弃某个服务器请求之前等待的时长。非零值应包含相应的时间单位(例如 1s、2m、3h)。 值为零表示请求不会超时。 |
|
-s, --server string | |
Kubernetes API 服务器的地址和端口。 |
|
--storage-driver-buffer-duration duration 默认值:1m0s | |
对存储驱动的写入操作将被缓存的时长;缓存的操作会作为一个事务提交给非内存后端。 |
|
--storage-driver-db string 默认值:"cadvisor" | |
数据库名称。 |
|
--storage-driver-host string 默认值:"localhost:8086" | |
数据库 host:port。 |
|
--storage-driver-password string 默认值:"root" | |
数据库密码。 |
|
--storage-driver-secure | |
使用与数据库的安全连接。 |
|
--storage-driver-table string 默认值:"stats" | |
表名。 |
|
--storage-driver-user string 默认值:"root" | |
数据库用户名。 |
|
--tls-server-name string | |
服务器证书验证所用的服务器名称。如果未提供,则使用与服务器通信所用的主机名。 |
|
--token string | |
向 API 服务器进行身份验证的持有者令牌。 |
|
--user string | |
要使用的 kubeconfig 用户的名称。 |
|
--username string | |
对 API 服务器进行基本身份验证时所用的用户名。 |
|
--version version[=true] | |
--version, --version=raw 打印版本信息并退出;--version=vX.Y.Z... 设置报告的版本。 |
|
--warnings-as-errors | |
将从服务器收到的警告视为错误,并以非零退出码退出。 |
另请参见
- kubectl - kubectl 控制 Kubernetes 集群管理器
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.