容器的本质

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

    • 容器里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直接通信

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

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

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

  1. 1-1 分配内存资源给容器和POD

    这一小节讲解如何分配内存请求和对一个容器做内存限制.一个容器被保证拥有足够的内存可以处理请求,但是也不允许使用超过限制的内存. 开始之前 需要拥有一个k8s集群 需要安装好一个kubectl 工具,并 ...

  2. k8s基础概念:pause容器和pod控制器类型

    pause容器的作用 pause容器:只要是有容器启动,pause就会启动. pod内的其他容器会共用pause容器的网络栈和存储卷. 容器是没有自己的IP地址的,都共用pause容器的. 要保证po ...

  3. 容器与Pod到底有什么区别和联系?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 容器本可以成为轻 ...

  4. 容器编排技术 -- kubernetes 通过环境变量向容器暴露 Pod 信息

    容器编排技术 -- kubernetes 通过环境变量向容器暴露 Pod 信息 1 Before you begin 2 Downward API 3 使用 Pod 字段作为环境变量的值 4 使用容器 ...

  5. 容器编排技术 -- Kubernetes 给容器和Pod分配CPU资源

    容器编排技术 -- Kubernetes 给容器和Pod分配CPU资源 1 Before you begin 2 创建一个命名空间 3 声明一个CPU申请和限制 4 CPU 单位 5 请求的CPU超出 ...

  6. 容器编排技术 -- Kubernetes 给容器和Pod分配内存资源

    容器编排技术 -- Kubernetes 给容器和Pod分配内存资源 1 Before you begin 2 创建一个命名空间 3 配置内存申请和限制 4 超出容器的内存限制 5 配置超出节点能力范 ...

  7. Kubernetes基础:包含多个容器的Pod

    在前面的文章中介绍了Pod的使用方法,示例中的Pod包含一个容器,这篇文章介绍一下包含多个容器的Pod的使用方法. YAML文件示例 [root@host131 Pod]# cat multi-pod ...

  8. kubernetes 通过环境变量向容器暴露 Pod 信息

    kubernetes 通过环境变量向容器暴露 Pod 信息 在学习docker的时候,大家可能经常看到不少示例在docker run的时候指定环境变量(比如wordpress的docker示例就是通过 ...

  9. Pod创建多个容器并访问指定容器

    Pod创建多个容器并访问指定容器 本文章案例是采用helm提供的模板来管理kubernates,如果您想了解helm,您可以访问helm docs进行了解. 文章目录 Pod创建多个容器并访问指定容器 ...

  10. k8s系列 之 容器安全pod安全 集群安全

    原文:https://blog.csdn.net/bloodzero_new/article/details/110328113 一 容器本身安全 Docker Security Capability ...

最新文章

  1. python代码编写规范_python初学者-代码规范
  2. 【译】Java中的对象序列化
  3. linux进程通信发送方式,Linux服务器编程——Linux系统编程之进程通信
  4. Android 获取屏幕宽度和高度直接转换为DP
  5. mysql-8.0.16-winx64.zip安装教程
  6. java 容器 List
  7. SQL JOIN 简单介绍
  8. LINUX X11剪贴板/clipboard访问C代码范例
  9. 神经网络之智能科学与技术专业
  10. 中国油冷却单元行业市场供需与战略研究报告
  11. 《编程珠玑》读解 一
  12. 42表盘直径是从哪测量_手表尺寸怎么选择 手表尺寸怎么测量
  13. 【无限互联】iOS开发视频教程— 2.8 iPhone开发之swtch语句
  14. unity sky Time of Day - Dynamic Sky Dome
  15. 学习python-day02-25---转自Python分布式爬虫打造搜索引擎Scrapy精讲
  16. 如何获得免费虚拟主机,云服务器呢?(免费)
  17. 解决sublime无法下载插件问题
  18. NASA顶级程序员编程十大原则
  19. 采集温度数据,用串口传输到上位机
  20. 太牛逼了,Python和算法简直是绝配

热门文章

  1. 前端js获取文件名、后缀,截取文件名后缀
  2. Vin码识别车牌识别检测-年检又没过关,总是卡在尾气
  3. 慈禧是怎么吃年夜饭的
  4. GTK使用cairo绘图教程
  5. JavaScript之时间线(代码解释)
  6. Ubuntu开启BBR加速
  7. 【人工智能】机器学习西瓜书11——经验误差与过拟合,模型评估的方法,均方误差,错误率与精度,最优阈值
  8. 5.android系统裁剪
  9. 一些wincap函数说明
  10. mysql 如何分组统计个数_mysql 怎样统计分组数