Kubernetes(K8s) kubectl autoscale 常用命令

Kubernetes(K8s)中使用Kubectl 命令行工具管理 Kubernetes 集群。 kubectl 在 $HOME/.kube 目录中查找一个名为 config 的配置文件。 可以通过设置 KUBECONFIG 环境变量或设置 --kubeconfig 参数来指定其它 kubeconfig 文件。本文主要介绍Kubernetes(K8s)中kubectl autoscale 常用命令。

1、Kubectl语法

kubectl autoscale (-f FILENAME | TYPE NAME | TYPE/NAME) [--min=MINPODS] --max=MAXPODS [--cpu-percent=CPU] [flags]

kubectl autoscalescale虽然能够很方便的对副本数进行扩展或缩小,但是仍然需要人工介入,不能实时自动的根据系统负载对副本数进行扩展或缩小。autoscale命令提供了自动根据pod负载对其副本进行扩缩的功能。指定Deployment、ReplicaSet或ReplicationController,并创建已经定义好资源的自动伸缩器。使用自动伸缩器可以根据需要自动增加或减少系统中部署的pod数量。

2、kubectl命令中的简写

kubectl命令中可以使用的缩写,具体如下:

certificatesigningrequests (缩写 csr)
componentstatuses (缩写 cs)
configmaps (缩写 cm)
customresourcedefinition (缩写 crd)
daemonsets (缩写 ds)
deployments (缩写 deploy)
endpoints (缩写 ep)
events (缩写 ev)
horizontalpodautoautoscalers (缩写 hpa)
ingresses (缩写 ing)
limitranges (缩写 limits)
namespaces (缩写 ns)
networkpolicies (缩写 netpol)
nodes (缩写 no)
persistentvolumeclaims (缩写 pvc)
persistentvolumes (缩写 pv)
poddisruptionbudgets (缩写 pdb)
pods (缩写 po)
podsecuritypolicies (缩写 psp)
replicasets (缩写 rs)
replicationcontrollers (缩写 rc)
resourcequotas (缩写 quota)
serviceaccounts (缩写 sa)
services (缩写 svc)
statefulsets (缩写 sts)
storageclasses (缩写 sc)

3、kubectl autoscale 命令

1)指定副本范围在1~4

kubectl autoscale rc rc-nginx-3 --min=1 --max=4

2)使用 Deployment "foo" 设定,使用默认的自动伸缩策略,指定目标CPU使用率,使其Pod数量在2到10之间

kubectl autoscale deployment foo --min=2 --max=10

3)使用RC "foo"设定,使其Pod的数量介于1和5之间,CPU使用率维持在80%

kubectl autoscale rc foo --max=5 --cpu-percent=80
推荐阅读
cjavapy编程之路首页