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直接通信
代理容器的代码可被重用
参考<阿里云 云原生技术公开课>
Pod进阶(容器本质,Pod实现,容器设计模式)相关推荐
- 1-1 分配内存资源给容器和POD
这一小节讲解如何分配内存请求和对一个容器做内存限制.一个容器被保证拥有足够的内存可以处理请求,但是也不允许使用超过限制的内存. 开始之前 需要拥有一个k8s集群 需要安装好一个kubectl 工具,并 ...
- k8s基础概念:pause容器和pod控制器类型
pause容器的作用 pause容器:只要是有容器启动,pause就会启动. pod内的其他容器会共用pause容器的网络栈和存储卷. 容器是没有自己的IP地址的,都共用pause容器的. 要保证po ...
- 容器与Pod到底有什么区别和联系?
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 后台回复"k8s",可领取k8s资料 容器本可以成为轻 ...
- 容器编排技术 -- kubernetes 通过环境变量向容器暴露 Pod 信息
容器编排技术 -- kubernetes 通过环境变量向容器暴露 Pod 信息 1 Before you begin 2 Downward API 3 使用 Pod 字段作为环境变量的值 4 使用容器 ...
- 容器编排技术 -- Kubernetes 给容器和Pod分配CPU资源
容器编排技术 -- Kubernetes 给容器和Pod分配CPU资源 1 Before you begin 2 创建一个命名空间 3 声明一个CPU申请和限制 4 CPU 单位 5 请求的CPU超出 ...
- 容器编排技术 -- Kubernetes 给容器和Pod分配内存资源
容器编排技术 -- Kubernetes 给容器和Pod分配内存资源 1 Before you begin 2 创建一个命名空间 3 配置内存申请和限制 4 超出容器的内存限制 5 配置超出节点能力范 ...
- Kubernetes基础:包含多个容器的Pod
在前面的文章中介绍了Pod的使用方法,示例中的Pod包含一个容器,这篇文章介绍一下包含多个容器的Pod的使用方法. YAML文件示例 [root@host131 Pod]# cat multi-pod ...
- kubernetes 通过环境变量向容器暴露 Pod 信息
kubernetes 通过环境变量向容器暴露 Pod 信息 在学习docker的时候,大家可能经常看到不少示例在docker run的时候指定环境变量(比如wordpress的docker示例就是通过 ...
- Pod创建多个容器并访问指定容器
Pod创建多个容器并访问指定容器 本文章案例是采用helm提供的模板来管理kubernates,如果您想了解helm,您可以访问helm docs进行了解. 文章目录 Pod创建多个容器并访问指定容器 ...
- k8s系列 之 容器安全pod安全 集群安全
原文:https://blog.csdn.net/bloodzero_new/article/details/110328113 一 容器本身安全 Docker Security Capability ...
最新文章
- python代码编写规范_python初学者-代码规范
- 【译】Java中的对象序列化
- linux进程通信发送方式,Linux服务器编程——Linux系统编程之进程通信
- Android 获取屏幕宽度和高度直接转换为DP
- mysql-8.0.16-winx64.zip安装教程
- java 容器 List
- SQL JOIN 简单介绍
- LINUX X11剪贴板/clipboard访问C代码范例
- 神经网络之智能科学与技术专业
- 中国油冷却单元行业市场供需与战略研究报告
- 《编程珠玑》读解 一
- 42表盘直径是从哪测量_手表尺寸怎么选择 手表尺寸怎么测量
- 【无限互联】iOS开发视频教程— 2.8 iPhone开发之swtch语句
- unity sky Time of Day - Dynamic Sky Dome
- 学习python-day02-25---转自Python分布式爬虫打造搜索引擎Scrapy精讲
- 如何获得免费虚拟主机,云服务器呢?(免费)
- 解决sublime无法下载插件问题
- NASA顶级程序员编程十大原则
- 采集温度数据,用串口传输到上位机
- 太牛逼了,Python和算法简直是绝配