相关分享
容器技术驱动下的代码沙箱实践与思考
本文探讨了基于容器技术的代码沙箱应用,旨在隔离代码执行环境,提升安全性和稳定性。通过 Docker 容器创建语言镜像,支持多语言代码执行。文章介绍了使用 Jupyter 实现代码可视化,并借助 nbformat 和 nbconvert 管理和执行 Jupyter 笔记本,增强代码展示效果。此方案不仅提高了开发灵活性,还便于在 AI 编程中实时展示和分析结果。
大前端:如何突破动态化容器的天花板?
长久以来,容器要实现动态化和双端复用,难免要牺牲掉一些性能。有没有办法让动态化容器的性能尽可能接近原生?美团金服大前端团队给出了一种解决方案,尝试突破动态化容器的天花板。
Kubernetes中的事件收集以及监控告警
随着微服务以及云原生的发展,越来越多的企业都将业务部署运行到Kubernetes中,主要是想依托Kubernetes的可扩展、可伸缩、自动化以及高稳定性来保障业务的稳定性。
然而,Kubernetes本身是一个复杂的管理系统,它既然是作为企业业务的基础设施,其本身以及运行在集群内部的业务系统对于企业来说都变得非常重要。
在 kubernetes 环境下如何优雅扩缩容 Pulsar
在整个大环境的降本增效的熏陶下,我们也不得不做好应对方案。
根据对线上流量、存储以及系统资源的占用,发现我们的 Pulsar 集群有许多的冗余,所以考虑进行缩容从而减少资源浪费,最终也能省一些费用。
不过在缩容之前很有必要先聊聊扩容,Pulsar 一开始就是存算分离的架构(更多关于 Pulsar 架构的内容本文不做过多介绍,感兴趣的可以自行搜索),天然就非常适合 kubernetes 环境,也可以利用 kubernetes 的能力进行快速扩容。
细说Kubernetes Pod的驱逐
Kubernetes Pods被驱逐是什么意思?它们被终止了,通常是由于没有足够的资源,但是为什么会发生这种情况呢?
驱逐是一个过程,分配给一个节点的Pod被要求终止。Kubernetes中最常见的情况之一是抢占,为了在资源有限的节点上安排一个新的Pod,通常需要终止另外一个Pod。
另外,Kubernetes会不断检查资源使用情况,当节点压力过大的时候,会触发节点压力驱逐。
每天,数以千计的Pod被驱逐出他们的家园。搁浅和迷茫,他们不得不放弃以前的生活方式。他们中的一些人甚至会无家可归。当前的社会,对CPU和内存的要求会越来越高。
Kubernetes OOM和CPU节流
使用 Kubernetes 时,内存不足 (OOM) 错误和 CPU 节流是云应用程序中资源处理的主要难题。
这是为什么?
云应用程序中的 CPU 和内存要求变得越来越重要,因为它们与您的云成本直接相关。
通过 limits 和 requests ,您可以配置 pod 应如何分配内存和 CPU 资源,以防止资源匮乏并调整云成本。
如果节点没有足够的资源, Pod 可能会通过抢占或节点压力被驱当一个进程运行内存不足 (OOM) 时,它会被终止,因为它没有所需的资源。
如果 CPU 消耗高于实际限制,进程将开始节流。
但是,如何主动监控 Kubernetes Pod 到达 OOM 和 CPU 节流的距离有多近?
在Kubernetes中从0打造可观测性
在这篇文章中,我们将在Kubernetes中使用Grafana、Prometheus、Loki、Tempo、OpenTelemetry来搭建可观测性平台。其中Grafana作为操作面板,Prometheus、Loki、Tempo作为数据源,分别用来获取指标、日志以及跟踪数据。同时,我们还将使用Exemplars将trace_id与Java指标相关联,使用OpenTelemetry对应用进行检测。
一文搞懂Kubernetes的Limits和Requests
当在Kubernetes中使用容器时,重要的是要知道所涉及的资源是什么以及如何需要它们。有些进程比其他进程需要更多的CPU或内存。有些是关键的,不应该被饿死。
知道了这一点,我们应该正确配置我们的容器和Pod,以获得两者的最佳效果。
在 kubernetes 环境中实现 gRPC 负载均衡
要解决 gRPC 的负载均衡通常有两种方案:1、服务端负载均衡;2、客户端负载均衡。
在 gRPC 这个场景服务端负载均衡不是很合适,所有的请求都需要经过一个负载均衡器,这样它就成为整个系统的瓶颈,所以更推荐使用客户端负载均衡。客户端负载均衡目前也有两种方案,最常见也是传统方案。
关于 Docker 容器配置信息的渐进式思考
容器内的配置管理,唯一正确的方向就是让配置和容器分离。不管你是用文中这些方案中的哪一种,其关键就是让配置动态地在容器内生效,而非固化到容器中。
