缩小Kubernetes豆荚

PPK*_*PK 26 kubernetes

我在用

kubectl scale --replicas=0 -f deployment.yaml

停止我所有正在运行的播放器.请告诉我是否有更好的方法可以将所有正在运行的pod分解为零保持配置,部署等等.完好无损,以便我可以根据需要稍后扩展.

mda*_*iel 42

你正在做正确的行动; 传统上,scale动词只应用于资源名称,因为kubectl scale deploy my-awesome-deployment --replicas=0它消除了始终指向描述该部署的特定文件的需要,但是如果使用该文件更方便,则使用该文件没有任何错误(我知道)您.


小智 29

解决方案非常简单明了

kubectl scale deploy -n <namespace> --replicas=0 --all 
Run Code Online (Sandbox Code Playgroud)

  • `--all` 将规模应用于所有部署(在命名空间中)。您可以将其替换为一个特定部署的名称。 (7认同)
  • 这对我不起作用,返回“错误:没有对象传递到比例” (4认同)
  • 您能解释一下“--all”在这种情况下的作用吗?由于某种原因,它只适用于我这个标志。 (2认同)

R0M*_*RI0 9

开始了。缩减整个命名空间中的所有部署:

kubectl get deploy -n <namespace> -o name | xargs -I % kubectl scale % --replicas=0 -n <namespace>
Run Code Online (Sandbox Code Playgroud)

相应地扩大设置--replicas=1(或任何其他所需的数量)

  • 为什么不只使用`kubectl scale deploy -n &lt;namespace&gt; --replicas = 0 --all`呢? (8认同)

Tia*_*ici 6

  kubectl get deployments
NAME      READY   UP-TO-DATE   AVAILABLE   AGE
app-gke   3/3     3            3           13m

  kubectl scale deploy app-gke --replicas=5
deployment.extensions/app-gke scaled


kubectl get pods
NAME                       READY   STATUS              RESTARTS   AGE
app-gke-7b768cd6d7-b25px   2/2     Running             0          11m
app-gke-7b768cd6d7-glj5v   0/2     ContainerCreating   0          4s
app-gke-7b768cd6d7-jdt6l   2/2     Running             0          11m
app-gke-7b768cd6d7-ktx87   2/2     Running             0          11m
app-gke-7b768cd6d7-qxpgl   0/2     ContainerCreating   0          4s
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


小智 6

使用以下命令缩小/放大当前命名空间中的所有部署和有状态集。在切换项目时在开发中很有用。

kubectl scale statefulset,deployment --all --replicas=0
Run Code Online (Sandbox Code Playgroud)

如果需要,添加命名空间标志

kubectl scale statefulset,deployment -n mynamespace --all --replicas=0
Run Code Online (Sandbox Code Playgroud)