Pods

Pod概念

Pod是kubernetes集群应用中的创建和部署的最小、最简单的kubernetes对象模型单元的基本执行单元。Pod表示在集群中运行的进程。

Pod 封装了应用程序的容器(一个或多个),存储资源,唯一的网络IP和控制容器运行方式的选项。Pod表示部署的单位:可以是kubernetes集群的单个容器应用实例,也可以是少量紧耦合共享资源的容器应用。

Docker是Pod 常见的容器运行工具,Pods 也支持其他容器运行工具。

kubernetes集群中的Pod可以通过两种方式运行:

  • 运行单个容器。 每个Pod运行一个容器,是kubernetes最常用的用例。在这种情况下,可以将Pod视为容器的包装。
  • 运行多个需要协调工作的容器。 Pod运行一个容器应用,应用程序由紧密耦合且需要共享资源的多个位于同一地点的容器组成。Pod将这些容器和存储资源包装在一起,成为一个可管理的实体。

每个Pod旨在运行指定应用程序的单个实例,如果需要水平扩展,则应使用多个Pod,每个实例一个。在kubernetes中这被称为复制。

Pods如何管理多容器

Pod旨在支持形成协作服务单元的多个协作过程(作为容器)。Pod中的容器会自动位于同一群集中的同一物理或虚拟机上,并在同一位置进行调度。容器可以共享资源和依赖项,彼此通信,并协调何时以及如何终止它们。

请注意,在单个Pod中对多个位于同一地点和受共同管理的容器进行分组是一个相对高级的用例。您仅应在容器紧密耦合的特定实例中使用此模式。例如,您可能有一个充当共享卷中文件的Web服务器的容器,以及一个单独的“ sidecar”容器,该容器从远程源更新这些文件,如下图所示:

某些Pod具有InitContainer应用程序容器,初始化容器会在应用程序启动之前启动完毕。

Pod为容器提供两种共享资源:网络和存储

网络

每个Pod都分配有一个唯一的IP地址,Pod中每个容器都共享网络名和空间,包括IP地址和网络端口。Pod中容器可以互相使用localhost通信。当Pod中的容器与外部的实体进行通信时,它们必须协调好如何使用共享的网络资源(比如端口)。

存储

Pod中可以指定一组共享存储,Pod中的Volume,所有容器都可访问共享卷,从而使这些容器可以共享数据(需要volumeMount 声明)。同时可以保存容器的数据,以外其中的某个容器需要重新启动丢失数据。

Pod模板

apiVersion: v1
kind: Pod
metadata:
name: myapp-pod
namespace: default
labels:
app: myapp-pod
spec:
containers:
- name: myapp-container
image: busybox
command: ["sh","-c","echo Hello Kubernetes !! && sleep 100"]

Pods的更多相关文章

  1. [IOS]使用了cocoapods 抱错Pods was rejected as an implicit dependency for ‘libPods.a’ because its architectures ......

    Pods was rejected as an implicit dependency for ‘libPods.a’ because its architectures ‘i386’ didn’t ...

  2. 发布自己的pods到CocoaPods trunk 及问题记录

    这两天准备把之前写的一些小玩意添加到pods库中去,参考了一些资料后进行操作,实际中也遇到了一些问题,记录下来,问题及解决方式在后面. 参考内容转载如下: 首先更新了用trunk之后,CocoaPod ...

  3. 运行带cocoa pods 的项目,遇到的问题是找不到文件,解决办法

    打开终端,进入项目所在的目录,也就是和Podfile在同一目录下,输入以下命令(由于已经有Podfile,所以不需要再创建Podfile):  pod update 过几秒(也许需要十几秒,取决于你的 ...

  4. CocoaPods创建私有pods

    由于项目需求,需要把项目的不同模块拆分出来即 组件化 ,一开始想做成多target模式,后来换成私有pods CocoaPods的安装和使用,网上很多,自行搜索即可. 听说可以基于svn创建pod私有 ...

  5. Xcode8 pod install 报错 “Generating Pods project Abort trap

    Xcode8 pod install 报错 "Generating Pods project Abort trap 今天在写一个新项目的时候,使用cocoapods在执行 $ pod ins ...

  6. 私有Pods封装个推SDK功能(解决方案)

    一:运用场景 公司中同时有好几个APP在开发,而且每个APP都有使用到集成个推SDK来处理消息的功能,以前的做法是每个APP都去集成并在AppDelegate处理一些SDK的代码,包含个推基础配置.消 ...

  7. Cocoapods的安装报错 - Error installing pods:activesupport requires Ruby version >=2.2.2

    1.打开终端 2 移除现有 Ruby 默认源 输入以下指令 $gem sources --remove https://rubygems.org/ 3.使用新的源 输入以下指令 $gem source ...

  8. pods的安装和使用

    ////  pods的安装.h//  IOS笔记 /*Cocoapods安装步骤 1.升级Ruby环境 终端输入:$gem update --system 此时会出现 ERROR:  While ex ...

  9. Pods管理iOS第三 库(二)

    Podfile 文件    如果要整合Pods, 先需要创建 个Podfile 件.xcode创 建 个新 程Pods-2保存到桌 .在终端cd到 程的根 录. 例如下: lifan:~ apple$ ...

  10. 安装Cocoapods(Pods 管理iOS 第三方库)

    安装 可先检测Mac电脑是否安装Pods.打开控制台: $ which pod 如果安装,结果如下;如果没有安装,控制台无反应. /usr/bin/pod 如果没有安装, 以下命令安装之. $ sud ...

随机推荐

  1. java concurrent并发包使用

    package cn.com.zxf.atomic; import java.util.concurrent.atomic.AtomicInteger; public class AtomicExam ...

  2. SAP翔子_增强篇索引

    序号 描述 SAP翔子_增强篇0 增强篇0 SAP的多种增强方式 SAP翔子_增强篇1 增强篇1 PO保存增强 SAP翔子_增强篇2 增强篇2 生产订单屏幕增强 SAP翔子_增强篇3 增强篇3 SAP ...

  3. oracle 高级用法, DECODE 排序, OVER(PARTITION BY X ORDER BY Y DESC) 开窗函数

    场景 01 (IN 语句 排序 decode() 函数): 1,我们在查询中会经常使用这样的用法, select * from table_name t where t.id in (1, 3, 7, ...

  4. 多用户远程连接设置(WindowsServer2008/Win7)

    一.Windows server2008 1.点击计算机--->右键属性打开系统对话框.进行如图设置. 2.在开始菜单--->运行中输入gpedit.msc打开本地组策略编辑器对话框. 3 ...

  5. Mysql操作命令(基础)

    创建数据库 CREATE DATABASE name; 显示所有数据库 SHOW DATABASES; 删除数据库 DROP DATABASE name; 选择数据库 USE DATABASENAME ...

  6. 一款新的好用的SSH工具——FinalShell

    FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端,还是功能强大的开发,运维工具,充分满足开发,运维需求.特色功能:免费海外服务器远程桌面加速,ssh加速,双边tcp加速,内网穿 ...

  7. 使用清华源进行pip install

    pypi 镜像使用帮助 pypi 镜像每 5 分钟同步一次. 临时使用 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-pac ...

  8. 关于【vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据】的优化

    之前写的[vue + element-ui Table的数据多选,多页选择数据回显,分页记录保存选中的数据]这篇博客.功能虽然实现了相对应的功能.但是用起来很不爽.所以进行了优化. 备注:最近可能没时 ...

  9. 【记录】【java】反射设值取值

    1.设值 /** * 根据属性名设置属性值 * * @param fieldName * @param object * @return */ public boolean setFieldValue ...

  10. jquery预加载显示百分比

    jquery预加载显示百分比 <pre> <img class="bj loadimg" loadimg="/weiqingshu/images/1/b ...