当前位置: 首页 > news >正文

Kubernetes 中 4 种容器设计模式

基于云原生的新应用程序在 Kubernetes 集群运行没有问题,但是当你有旧应用程序时会发生什么情况:

  • 记录到文件而不是标准输出?

  • 不支持Prometheus?

  • 不支持HTTPS?

首先,让我们了解一些基础知识。

在Kubernetes中,一个Pod是一组容器。

容器使用两个Linux原语进行隔离:控制组命名空间

  • 控制组用于限制资源(最大256MB内存)。

  • 命名空间用于隔离(只能看到此文件夹)。

控制组和Linux命名空间是容器的基本原语。

除了网络之外,Pod中的所有容器都是隔离的。

网络是共享的,一个IP地址分配给Pod中的所有容器(Pod的IP地址)。

同一个Pod中的容器共享相同的网络命名空间。

为什么需要在Pod中运行多个容器?

如果你不能(或不想)更改应用程序中的代码,你可能需要通过其他方式来调整其功能。

让我们看一个例子。

最近的Elasticsearch版本支持TLS,但长时间以来这是一个付费的额外功能。

你如何使用TLS保护流量?

你可以将代理作为一个容器添加到你的Pod中。

(加密的)流量首先到达代理,然后到达(未加密的)Elasticsearch。

流量在到达ElasticSearch之前由NGINX容器代理。 另一个例子是在没有Ingress的情况下将你的应用程序暴露给公共互联网。

Cloudflare隧道运行一个代理与应用程序一起,并代理所有的流量。

tunneld代理将流量隧道传输到Cloudflare网络。

当你想要使用Prometheus,但你的应用程序具有自定义的指标公开格式时,会发生什么情况?

如果你使用一个适配器,就不需要更改代码。

例如:Elasticsearch不暴露Prometheus指标。

适配器来解救!

容器将Elasticsearch指标适配为与Prometheus兼容。

当你在Pod中有一个额外的容器来处理输入时,这被称为Ambassador模式。

如果它处理主容器的输出,那么它就是一个适配器。

适配器与Ambassador模式

在Kubernetes中,应用程序的默认日志输出是打印到标准输出(stdout)。

那么如果你的应用程序将日志记录到文件中,该怎么收集日志呢?

你可以使用一个容器来检索日志文件的内容并将其打印到标准输出(stdout)。

Sidecar容器检索文件内容并将其打印到标准输出(stdout)。

其他Sidecar包括注入密钥、在ConfigMaps发生更改时重新加载应用程序、缓存等容器。

任何增强你的应用程序的容器通常被称为Sidecar容器。

示例包括:

  • 注入密钥

  • 在ConfigMaps发生更改时重新加载

  • 缓存

Elasticsearch建议在应用程序启动之前将虚拟内存设置为较高的值(即mmap计数)。

你如何在Kubernetes中做到这一点? 它是在“普通”容器启动之前运行完毕的容器。

你可以使用Kubernetes中的Init容器

因此,如果你要将现有应用迁移到Kubernetes中,你有四种模式可供选择:

  • Ambassador(大使模式)

  • Adapter(适配器模式)

  • Sidecar(边车模式)

  • Init(初始化模式)

http://www.rkmt.cn/news/1475998.html

相关文章:

  • 苏州天脉:从手机散热到AI新领域,330倍估值能否靠苹果与新业务支撑?
  • 从开发到部署:在快马平台上构建一个可投入实战的完整winhance应用
  • 【CSDN AI数字营销实战指南】:开通后创作次数是否真有限制?3大隐藏规则99%用户不知道
  • 华科毕设实战资源:RGAT+GRU融合模型跑通Cadets与StreamSpot溯源图APT检测全流程
  • CSDN官方未公开的行业效能热力图:17个细分领域CTR、CPL、LTV/CAC三维对比,仅剩最后237份内部测试权限可申领
  • 从GAN到GE-GAN:我是如何用‘造假’数据提升智能交通系统精度的 | 实战经验分享
  • 2026年6月长沙创业财税避坑指南!长沙注册公司/代理记账/记账报税机构甄选测评 - 资讯速览
  • CSDN原创检测算法逆向分析(2024最新版V3.7.2内核曝光):AI生成内容的“安全阈值”首次公开
  • 拆解家用甲醛检测仪:从电化学传感器原理到成本控制设计
  • 从知识碎片到思维网络:如何用Obsidian模板构建你的第二大脑
  • ref、out 参数
  • 定义下一代电池研发范式:PLM融合计算、AI与高通量实验,加速创新循环
  • 15分钟快速部署:wvp-GB28181-pro国标视频监控平台终极实战指南
  • 现在算法已经做到1秒识别出收藏按钮-----超出预期
  • VidDown 视频解析下载:免安装、无水印、免费使用
  • 终极游戏内容创作指南:如何使用Harepacker-resurrected打造你的MapleStory游戏世界
  • RAG召回率从60%到95%:2026年实战优化指南
  • 目前已经做到精准识别抖音主要控件---------无视干扰
  • 标准化智能化双轮驱动:智圣新创第二课堂成绩单数字化建设可复制实践
  • CSDN AI看板关键词排名查询失效?3步绕过限制获取真实百度/搜狗/360三端排名数据,限期内可复现
  • 从‘驻波’到‘行波’:一个故事讲明白天线匹配为啥要搞到50欧姆
  • 华为AI数字资深顾问颜少林|航天工业AI大模型—赋能航空工业研发全流程数字化工作坊
  • LSPatch入门指南:无需Root权限的安卓应用改造神器
  • 地铁上听到两位字节Seed大佬说“用AI后人反而更累”,我每天和AI聊天明明挺轻松啊?调研后才发现:他们说得对……
  • 智能门禁系统的设计(设计源文件+万字报告+讲解)(支持资料、图片参考_降重降ai)
  • 2026 高考生凭准考证选购苹果手机|完整优惠攻略(线上 + 线下 + 国补 + 618 叠加) - 资讯速览
  • Chromium 146 编译指南 macOS篇:配置 depot_tools(三)
  • 别再只盯着权重剪枝了!聊聊那些更实用的CNN通道/过滤器剪枝实战方法
  • Xilinx Virtex-5 FPGA DDR2 SDRAM接口调试全流程与避坑指南
  • 新手入门:通过快马生成的代码轻松理解timed_out编程概念