如何停止/暂停库伯内特豆荚

我的集群中运行着一个 MySQL 播放器。< br > 我需要暂停吊舱的工作而不删除它,类似的东西停靠站,其中 docker stop container-id cmd 将停止容器不删除容器。库伯内特有没有可用的命令来暂停或停止一个豆荚?

210685 次浏览

没有。这是不可能的停止一个豆荚和恢复后,当需要。但是,您可以考虑以下方法。

在 k8中,pods 使用服务进行抽象。我认为隔离 pod 的一种方法是更新服务定义中的 pod 选择器。 这样,您可以使用服务定义控制到 pod (s)的流量。每当您想要恢复流量更新时,pod 选择器的值就会恢复到服务定义中的值。

因此,正如其他人指出,库伯内特不支持停止/暂停当前状态的豆荚和恢复时,需要。但是,您仍然可以通过没有工作部署(将副本数量设置为0)来实现它。

kubectl scale --replicas=0 deployment/<your-deployment>

看看有没有人帮忙

# Set a new size for a Deployment, ReplicaSet, Replication Controller, or StatefulSet.
kubectl scale --help


Scale 还允许用户为 Scale 操作指定一个或多个先决条件。

如果指定了 --current-replicas--resource-version,则在尝试缩放之前对其进行验证 保证在向服务器发送缩放时前提条件为真。

例子:

  # Scale a replicaset named 'foo' to 3.
kubectl scale --replicas=3 rs/foo


# Scale a resource identified by type and name specified in "foo.yaml" to 3.
kubectl scale --replicas=3 -f foo.yaml


# If the deployment named mysql's current size is 2, scale mysql to 3.
kubectl scale --current-replicas=2 --replicas=3 deployment/mysql


# Scale multiple replication controllers.
kubectl scale --replicas=5 rc/foo rc/bar rc/baz


# Scale statefulset named 'web' to 3.
kubectl scale --replicas=3 statefulset/web

有了库伯内特,就不可能停止或暂停一个花苞。但是,您可以删除一个 Pod,因为您有清单可以将其再次带回。

如果要删除一个 Pod,可以运行以下 kubectl命令:

kubectl delete -n default pod <your-pod-name>