0

在 IBM Cloud Private 中,当停止 Docker 容器时,它会自动重新启动。怎么能阻止?

4

4 回答 4

3

这里有更多信息:

  • 当您在 IBM Cloud Private 上使用容器时,您实际上会部署单个 Pod 或更可能的部署。

  • 当 Pod 由 ReplicaSet、DaemonSet 或 StatefulSet 管理时,如果 Pod 意外失败,有一些语义适用于重新调度 Pod。删除 Pod 与 pod 内的其他故障(应用程序崩溃或工作节点故障)没有区别。

您应该使用kubectlpod 来工作。您可以kubectl从 Web UI 右上角的用户 > 配置客户端进行配置。将您的环境的命令复制并粘贴到您的控制台中。验证 IP 或网络地址是否可从您的客户端计算机解析(在安装中使用 控制此值cluster/config.yamlcluster_access_ip

示例kubectl配置步骤(从用户复制 > 在 Web UI 中配置客户端):

kubectl config set-cluster mycluster.icp --server=https://[NETWORK_ADDRESS]:8001 --insecure-skip-tls-verify=true
kubectl config set-context mycluster.icp-context --cluster=mycluster.icp
kubectl config set-credentials mycluster.icp-user --token=[TOKEN]
kubectl config set-context mycluster.icp-context --user=mycluster.icp-user --namespace=default
kubectl config use-context mycluster.icp-context

然后查看正在运行的 pod:

kubectl get pods [--namespace default] 

这些 pod 代表了基本的部署单元:容器 + 卷 + 标签 + 到 ConfigMap 和 Secret 的链接。

这些 pod 通常是从其他管理“集”部署的:

kubectl get deployments [--namespace default] 
kubectl get daemonsets [--namespace default] 
kubectl get statefulsets [--namespace default] 

这些集合代表策略 + pod;关于如何恢复的行为被内置到每个结构中。

你可能有一个部署,所以要删除容器——

kubectl get deployments -o wide [--namespace default] 

找到感兴趣的部署,并将其删除:

kubectl delete deployments my-deployment [--namespace default] 

现在deployment将与所有关联的 pod 一起删除。

于 2017-10-05T20:25:24.897 回答
0

kubernetes 重启失败的容器(pods),你应该将部署扩展到 0 个实例或删除部署,两者都可以通过 kubectl (kubectl scale --replicas=0 ...) 或使用 ICP 控制台来实现。

于 2018-05-01T01:24:36.450 回答
0

您应该将副本数更改为零。

于 2018-05-22T07:29:02.303 回答
0

需要先停止 kubelet,否则会自动启动退出的容器。您可以运行“systemctl stop kubelet”。

于 2017-10-05T19:27:32.087 回答