CNCF x Alibaba云原生技术公开课 第四章 理解 Pod 和容器设计模式
创始人
2024-05-31 02:23:52
0

1、Pod的实现原理

共享网络

  • Infra container:一个非常小的镜像,大概 100~200KB 左右,是一个汇编语言写的、永远处于“暂停”状态的容器。由于有了这样一个 Infra container 之后,其他所有容器都会通过 Join Namespace 的方式加入到 Infra container 的 Network Namespace 中。
  • 一个 Pod 里面的所有容器,它们看到的网络视图是完全一样的。即:它们看到的网络设备、IP地址、Mac地址等等,跟网络相关的信息,其实全是一份,这一份都来自于 Pod 第一次创建的这个 Infra container。
  • 整个 Pod 里面,Infra container 第一个启动。并且整个 Pod 的生命周期是等同于 Infra container 的生命周期的,与容器 A 和 B 是无关的。(结果:允许去单独更新 Pod 里的某一个镜像的,即:做这个操作,整个 Pod 不会重建,也不会重启。)

在这里插入图片描述

2、容器设计模式

案例

  • 需求:java写的war包+tomcat
    • 方案1:war和tomcat打包到一个镜像里,更新war和tomcat大批需要重做镜像
    • 方案2:war通过数据卷挂载到tomcat里面。(分布式存储系统:容器第一次运行在宿主机A,第二次运行在宿主机B,这两个地方都要能访问到war)
    • 方案3:利用init container,把 WAR 包从镜像里拷贝到一个 Volume 里面,然后启动容器去挂载Volume

Sidecar

  • 概念:在 Pod 里面,可以定义一些专门的容器,来执行主业务容器所需要的一些辅助工作
  • 应用
    • 原本需要在容器里面执行 SSH 需要干的一些事情,可以写脚本、一些前置的条件,其实都可以通过像 Init Container 或者另外像 Sidecar 的方式去解决;
    • 当然还有一个典型例子是日志收集(fluentd),日志收集本身是一个进程,是一个小容器,那么就可以把它打包进 Pod 里面去做这个收集工作; (业务容器将日志写在一个 Volume 里面,而由于 Volume 在 Pod 里面是被共享的,所以日志容器 —— 即 Sidecar 容器一定可以通过共享该 Volume,直接把日志文件读出来,然后存到远程存储)
    • Debug 应用,实际上现在 Debug 整个应用都可以在应用 Pod 里面再次定义一个额外的小的 Container,它可以去 exec 应用 pod 的 namespace;
    • 查看其他容器的工作状态,实现应用监控。不再需要去 SSH 登陆到容器里去看,只要把监控组件装到额外的小容器里面就可以了,然后把它作为一个 Sidecar 启动起来,跟主业务容器进行协作,所以同样业务监控也都可以通过 Sidecar 方式来去做。
    • 代理容器:单独写一个这么小的 Proxy,用来处理对接外部的服务集群,它对外暴露出来只有一个 IP 地址就可以了。所以接下来,业务容器主要访问 Proxy(localhost通信,性能损耗忽略),然后由 Proxy 去连接这些服务集群。
    • 适配器容器:将业务容器暴露出来的接口转换成另一种格式。举例:业务容器暴露出来的监控接口是 /metrics,访问这个这个容器的 metrics 的这个 URL 就可以获取信息。可是后来这个监控系统升级了,它访问的 URL 是 /health,只认得暴露出 health 健康检查的 URL,才能去做监控,metrics 不认识。如果不改代码,可以额外写一个 Adapter,用来把所有对 health 的这个请求转发给 metrics 就可以了,所以这个 Adapter 对外暴露的是 health 监控的 URL。
  • 优势:通过sidecar,将辅助功能和业务容器解耦;解耦之后则可复用
    • 设计模式的本质:解耦和重用

RPC
remote procedure call:远程过程调用,一个节点请求另一个节点提供的服务

相关内容

热门资讯

谷歌断供安卓系统,国产手机产业... 你知道吗?最近科技圈可是炸开了锅,因为谷歌突然宣布要断供安卓系统!这可不是一个小新闻,它可能会对整个...
专门绘画软件安卓系统,创意无限... 你有没有想过,画画这件小事,竟然也能变得如此高大上?现在,就让我带你走进一个神奇的世界——专门绘画软...
tcl电视更换安卓系统,轻松实... 你家的TCL电视是不是突然间变得有点儿“卡壳”了?别急,今天就来给你支个招——更换安卓系统!是的,你...
安卓11系统黑解 你有没有发现,最近你的安卓手机更新到了11系统,是不是觉得界面焕然一新,功能也更加强大了呢?不过,别...
安卓系统手机推荐妈妈,安卓系统... 亲爱的妈妈们,是不是在为给家里的宝贝挑选一款合适的安卓系统手机而犯愁呢?别急,今天我就来给你详细盘点...
安卓七系统怎么安装软件,轻松安... 你有没有发现,自从你的安卓手机升级到了安卓7.0系统,好像有点不一样了呢?各种新功能层出不穷,让人眼...
pc电脑安卓系统软件 你有没有发现,现在不管是工作还是娱乐,电脑和手机已经成了我们生活中不可或缺的好伙伴呢?尤其是那些喜欢...
安卓系统如何抖音涂鸦,安卓系统... 你有没有发现,现在手机上最火的短视频平台就是抖音了?每天刷刷刷,不知不觉就花了大把时间。不过,你知道...
苹果怎样把安卓系统,苹果如何巧... 你知道吗?苹果这个科技巨头,竟然把安卓系统给“拿”过来啦!是不是觉得有点不可思议?别急,让我带你一探...
2.3安卓系统能干嘛,2.3安... 你有没有想过,那小小的安卓系统,竟然能干出这么多大事儿?没错,就是那个无处不在的安卓,它可是智能手机...
安卓系统只会堆硬件,硬件堆叠下... 你有没有发现,现在的安卓手机,硬件配置越来越高,可是在系统优化上,却好像总是差那么一点点火候呢?这不...
华为怎么退回安卓版系统,华为手... 你有没有发现,华为的新款手机竟然又回到了安卓的怀抱?没错,就是那个曾经让我们心动的HarmonyOS...
安卓系统向导设置在哪里 你新买的安卓手机终于到手了,是不是有点小激动呢?不过,别急着玩,先来跟我一起探索一下这个新伙伴的内心...
汽车安卓平台导航系统,安卓平台... 你有没有发现,现在的汽车导航系统越来越智能了?尤其是那些搭载了安卓平台的导航系统,简直就像是个贴心的...
索尼电视安卓系统7.0,体验流... 亲爱的电视迷们,今天我要和你聊聊一款让人眼前一亮的产品——索尼电视搭载的安卓系统7.0。想象一个高清...
街机游戏系统安卓版,畅享指尖上... 你有没有想过,那些在街头巷尾闪烁着五彩斑斓光芒的街机游戏,竟然也能搬到你手中的安卓设备上?没错,就是...
安卓系统怎么重启设备 手机突然卡住了,是不是又该给它来个“大保健”了?没错,今天就来聊聊安卓系统重启设备的小技巧。别小看了...
是安卓系统好还是ios系统好 说到手机系统,你是不是也跟很多人一样,在安卓和iOS之间纠结不已?今天,就让我来给你好好分析分析,看...
安卓和苹果系统照片共享,探索照... 你有没有想过,手机里的照片就像是我们生活的点点滴滴,记录着我们的欢笑、泪水、旅行和日常。而这些珍贵的...
微软平板有没有安卓系统,多平台... 亲爱的读者们,你是否在寻找一款既能满足工作需求,又能畅享娱乐的平板电脑呢?今天,我要和你聊聊一个热门...