Pod进阶(容器本质,Pod实现,容器设计模式)

容器的本质

  • 一个视图被隔离,资源受限制的进程

    • 容器里PID = 1 的进程就是应用本省

    • 管理虚拟机 = 管理基础设施; 管理容器 = 直接管理应用本身

Kubernetes = 操作系统

容器 =进程

Pod = 进程组

Pod 一个逻辑单元,多个容器的组合,Kubernetes的院子调度单元

亲密关系-调度解决

  • 两个应用需要运行在同一台宿主机上

超亲密关系-Pod 解决(pod)

  • 会发生直接的文件交互

  • 使用localhost或者socket文件进行本地通信

  • 会发生频发的rpc调用

  • 会共享某些Linux Namespce

Pod 实现

共享网路

  • 容器A和B

    • 通过Infra Container的方式共享同一个Network nAMESPCE

    • 直接使用loclhost进行通信

    • 看到的网络设备跟infra容器看到的完全一样。

    • 一个Pod只有一个IP地址,也就是这个Pod的Network Namespace 对应的IP地址

      • 所有网络资源,都是一个pod一份,并且被该Pod中的所有容器共享。

    • 整个Pod的生命周期Infra容器一致,而与容器A和B无关

共享存储

Share-data 对应在宿主机上的目录会被同时绑定挂载了要共享的容器。

容器设计模式

Sidecar

Sidcar模式是一种将应用功能从应用本省剥离出来作为单独进程的方式。该模式允许向应用虎浸入添加多种功能,避免了为了满足第三方组件需求而向应用添加额外的配置代码。

Sidecar附加到主应用(父应用),以扩展/增强功能特性,同时Sidecar与主应用是松耦合的。

通过在pod里定义专门容器,来执行主业务容器需要的辅助工作的。

优势:

  • 将辅助功能同主业务容器解耦,实现独立发布和能力重用。

应用

日志收集

  • 业务容器将日志写在Volume里

  • 日志容器共享该Volume从而将日志转发远程存储中

代理容器

  • 代理容器对业务容器屏蔽被代理的服务器集群,减缓业务代码的实现逻辑

    • 容器之间通过locakhost直接通信

    • 代理容器的代码可被重用

适配器容器

  • 适配器容器将业务容器暴露出来的接口转换为另一种格式。

    • 容器之间通过localhost直接通信

    • 代理容器的代码可被重用

参考<阿里云 云原生技术公开课>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值