Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 在kuberenetes中设置吊舱的最大使用寿命条件_Kubernetes_Kubernetes Pod - Fatal编程技术网

Kubernetes 在kuberenetes中设置吊舱的最大使用寿命条件

Kubernetes 在kuberenetes中设置吊舱的最大使用寿命条件,kubernetes,kubernetes-pod,Kubernetes,Kubernetes Pod,我们的容器存在一些奇怪的内存泄漏问题,它们使用的时间越长,占用的资源就越多。我们目前没有资源调查这些问题(因为它们在一个多月内不会成为问题),但希望避免人工“清理”臃肿的容器 我想做的是以这样一种方式配置我们的部署,“生存时间”是pod状态的一个参数,如果它超过一个值(比如说几天),pod将被关闭并创建一个新的pod。我更愿意完全在kubernetes内完成这项工作,因为虽然我们最终将在我们的服务中添加一个“健康检查”端点,但这在一段时间内无法完成 对豆荚的健康状况实施这种“最大年龄”参数的最佳

我们的容器存在一些奇怪的内存泄漏问题,它们使用的时间越长,占用的资源就越多。我们目前没有资源调查这些问题(因为它们在一个多月内不会成为问题),但希望避免人工“清理”臃肿的容器

我想做的是以这样一种方式配置我们的部署,“生存时间”是pod状态的一个参数,如果它超过一个值(比如说几天),pod将被关闭并创建一个新的pod。我更愿意完全在kubernetes内完成这项工作,因为虽然我们最终将在我们的服务中添加一个“健康检查”端点,但这在一段时间内无法完成


对豆荚的健康状况实施这种“最大年龄”参数的最佳方法是什么?或者,我想我们可以根据资源使用情况触发,但如果使用是临时的,这不是问题,只有在短时间内不释放资源的情况下才可以使用。

最简单的方法是在内存上设置一个硬资源限制,该限制高于在临时峰值中看到的限制:达到预期的水平,比如说几周

无论如何,这样做可能是个好主意,因为k8s将根据请求的资源而不是它们的限制来安排工作负载,因此随着内存使用量的增加,节点中的内存压力可能会增加

一个问题是,如果你有显著的记忆尖峰,在K8S杀死你的POD的POD重启可能发生在一些工作负荷的中间,所以你需要能够吸收这种影响。 因此,从它看起来是这样的(显然

部署
比原始的
Pod
更可取,如下所示,这个示例可以被带入
PodTemplateSpec
):


最简单的方法是在内存上设置一个硬资源限制,这个限制要高于你在一个临时峰值中看到的水平:在一个水平上,你可以预期在几周内看到

无论如何,这样做可能是个好主意,因为k8s将根据请求的资源而不是它们的限制来安排工作负载,因此随着内存使用量的增加,节点中的内存压力可能会增加

一个问题是,如果你有显著的记忆尖峰,在K8S杀死你的POD的POD重启可能发生在一些工作负荷的中间,所以你需要能够吸收这种影响。 因此,从它看起来是这样的(显然

部署
比原始的
Pod
更可取,如下所示,这个示例可以被带入
PodTemplateSpec
):


如果这是在部署级别构建的,我相信它将避免“在峰值期间杀死”的问题。部署的规格将是所需状态,这意味着当pod超出所需状态(内存太多)时,它将被标记为处于不良状态,新pod将启动,并且在新pod准备就绪之前,旧pod无法被杀死(假定您操作的活动pod不超过所需状态)如果这是在部署级别构建的,我相信它将避免“在峰值期间杀死”的问题。部署的规格将是所需状态,这意味着当pod超出所需状态(内存太多)时,它将被标记为处于不良状态,新pod将启动,并且在新pod准备就绪之前,旧pod无法被杀死(假定您操作的活动pod不超过所需状态)
apiVersion: v1
kind: Pod
metadata:
  name: frontend
spec:
  containers:
  - name: ccccc
    image: theimage
    resources:
      requests:
        memory: "64Mi"
      limits:
        memory: "128Mi"