AAT*_*RAN 24 docker kubernetes kubernetes-pod
我的集群中运行着一个MySQL Pod。
我需要暂时暂停pod的工作而不删除它,这类似于docker,其中docker stop container-id
cmd将停止容器而不删除容器。
Kubernetes中是否有任何命令可以暂停/停止Pod?
sul*_*edi 52
因此,就像其他人指出的那样,Kubernetes不支持Pod当前状态的停止/暂停以及在需要时恢复。但是,您仍然可以通过没有有效的部署(将副本数设置为0)来实现。
kubectl scale --replicas=0 deployment/<your-pod>
Run Code Online (Sandbox Code Playgroud)
看到帮助
# Set a new size for a Deployment, ReplicaSet, Replication Controller, or StatefulSet.
kubectl scale --help
Run Code Online (Sandbox Code Playgroud)
缩放还允许用户为缩放操作指定一个或多个前提条件。
如果指定--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
Run Code Online (Sandbox Code Playgroud)
P E*_*ram 13
不可以。无法停止 Pod 并在需要时稍后恢复。但是,您可以考虑以下方法。
在 k8s 中,pod 是使用服务抽象出来的。我能想到的隔离 pod 的一种方法是更新服务定义中的 pod 选择器。这样你就可以使用服务定义来控制到 pod(s) 的流量。每当您想要恢复流量时,请将 pod 选择器值更新回服务定义中的值。
对于 Kubernetes,无法停止/暂停 Pod。但是,您可以删除 Pod,因为您有清单可以再次将其恢复。
但是,如果您想删除某个 POD,并且知道集群将立即再次启动该 POD,请运行以下kubectl
命令。
kubectl delete -n default pod <your-pod-name>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25685 次 |
最近记录: |