我在kubernetes部署了一个基于play框架的java应用程序。其中一个吊舱因内存不足/内存泄漏而死亡。在本地,可以使用一些实用程序并监视jvm堆的使用情况。我是库伯内特斯的新手。
如果您告诉我如何在一个被杀死的Kubernetes吊舱中检查我的应用程序的堆使用历史记录,我将不胜感激。kubectl get events on this killed pod将提供事件历史记录,但我想检查该死pod上的对象级堆使用历史记录。非常感谢
您可以安装插件或外部工具,如Prometheus或metrics server。
Prometheus是一个开源系统监控和警报工具包,最初由SoundCloud构建。
您可以定义查询:对于CPU百分比
avg((sum (rate (container_cpu_usage_seconds_total {container_name!="" ,pod="<Pod name>" } [5m])) by (namespace , pod, container ) / on (container , pod , namespace) ((kube_pod_container_resource_limits_cpu_cores >0)*300))*100)
对于内存百分比
avg((avg (container_memory_working_set_bytes{pod="<pod name>"}) by (container_name , pod ))/ on (container_name , pod)(avg (container_spec_memory_limit_bytes>0 ) by (container_name, pod))*100)
看看:普罗米修斯吊舱内存使用情况。
您可以使用Grafana可视化这些指标-看看如何使用Prometheus-Grafana Prometheus设置进行设置。
Metrics server是Kubernetes内置自动缩放管道的一个可扩展、高效的容器资源度量源。
Metrics Server从Kubelets收集资源指标,并通过Metrics API在Kubernetes apiserver中公开这些指标,以供水平Pod Autoscaler和垂直Pod Autoscaler使用。kubectl top也可以访问Metrics API,从而更容易调试自动缩放管道。
您可以执行:
$ kubectl top pod <your-pod-name> --namespace=your-namespace --containers
以下命令将为您提供给定pod及其容器的CPU使用率和内存使用率。
请参阅如何首先安装metrics server:metrics server Installation。
否则,如果您想在不安装任何第三方工具的情况下检查cpu/内存使用情况,则可以从cgroup获取pod的内存和cpu使用情况。
请记住,内存使用量以字节为单位。
看看:库伯内特斯的内存使用情况。
我有一个后端nodeJS应用程序运行在kubernetes集群。现在我想运行两个cron作业计划每个月。cron作业在一个JS文件中。如何使用库伯内特斯创建一个作业,在每个月运行该服务的pod中运行这些JS文件? 此链接提供了对其工作原理的基本理解,但我对如何为特定服务和特定Pod运行它有点困惑 https://kubernetes.io/docs/concepts/workloads/contr
我对Kubernetes是新来的。 我发现了2个pod优先级选项-优先级类别和服务质量。它们之间有什么不同? (https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/https://kubernetes.io/docs/tasks/configure-pod-container/quality-servi
我的要求是在自定义指标上扩展POD,如队列中的挂起消息,PODS必须增加以处理作业。在kubernetes,Scale up在普罗米修斯适配器和普罗米修斯操作员中工作得很好。 我在pods中有长时间运行的进程,但HPA检查自定义度量并试图缩小规模,因为这个进程杀死了操作的中间并丢失了消息。我如何控制HPA只杀死没有进程运行的自由豆荚。 序列查询:‘{namespace=“default”,serv
我有Kubernetes设置和运行一个grpc服务在一个吊舱。我成功地击中了服务上的一个endpoint,其中有一个print()语句,但在日志文件中没有看到日志。我以前在Kubernetes中运行(cron)作业时见过这种情况,日志只在作业完成后才出现(而不是在作业运行时)。有没有一种方法可以让kubernetes立即写入日志文件?我可以放置任何设置(集群级或仅用于吊舱)?提前感谢您的任何帮助!
迷你库版本v0.24.1 kubernetes 1.8.0版 我面临的问题是,我在minikube中创建了几个,每个都有一个pod。 有时,当我启动minikube时,我的吊舱会先启动,然后由kubernetes重新启动。它们将一次又一次地从创建容器状态到运行状态,再到终止状态。 现在,我已经看到kubernetes杀死和重启的东西之前,如果kubernetes检测到磁盘压力,内存压力,或其他类似
我有一个“大”微服务(网站),在production env中部署了3个POD和Helm Chart,但当我部署新版本的Helm Chart时,在40秒内(启动我的大微服务的时间),我的网站出现问题 我尝试了,但它对我不起作用。 我的EKS版本:“V1.14.6-EKS-5047ED”