Pods
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的更多相关文章
- [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 ...
- 发布自己的pods到CocoaPods trunk 及问题记录
这两天准备把之前写的一些小玩意添加到pods库中去,参考了一些资料后进行操作,实际中也遇到了一些问题,记录下来,问题及解决方式在后面. 参考内容转载如下: 首先更新了用trunk之后,CocoaPod ...
- 运行带cocoa pods 的项目,遇到的问题是找不到文件,解决办法
打开终端,进入项目所在的目录,也就是和Podfile在同一目录下,输入以下命令(由于已经有Podfile,所以不需要再创建Podfile): pod update 过几秒(也许需要十几秒,取决于你的 ...
- CocoaPods创建私有pods
由于项目需求,需要把项目的不同模块拆分出来即 组件化 ,一开始想做成多target模式,后来换成私有pods CocoaPods的安装和使用,网上很多,自行搜索即可. 听说可以基于svn创建pod私有 ...
- Xcode8 pod install 报错 “Generating Pods project Abort trap
Xcode8 pod install 报错 "Generating Pods project Abort trap 今天在写一个新项目的时候,使用cocoapods在执行 $ pod ins ...
- 私有Pods封装个推SDK功能(解决方案)
一:运用场景 公司中同时有好几个APP在开发,而且每个APP都有使用到集成个推SDK来处理消息的功能,以前的做法是每个APP都去集成并在AppDelegate处理一些SDK的代码,包含个推基础配置.消 ...
- Cocoapods的安装报错 - Error installing pods:activesupport requires Ruby version >=2.2.2
1.打开终端 2 移除现有 Ruby 默认源 输入以下指令 $gem sources --remove https://rubygems.org/ 3.使用新的源 输入以下指令 $gem source ...
- pods的安装和使用
//// pods的安装.h// IOS笔记 /*Cocoapods安装步骤 1.升级Ruby环境 终端输入:$gem update --system 此时会出现 ERROR: While ex ...
- Pods管理iOS第三 库(二)
Podfile 文件 如果要整合Pods, 先需要创建 个Podfile 件.xcode创 建 个新 程Pods-2保存到桌 .在终端cd到 程的根 录. 例如下: lifan:~ apple$ ...
- 安装Cocoapods(Pods 管理iOS 第三方库)
安装 可先检测Mac电脑是否安装Pods.打开控制台: $ which pod 如果安装,结果如下;如果没有安装,控制台无反应. /usr/bin/pod 如果没有安装, 以下命令安装之. $ sud ...
随机推荐
- Content-Type四种常见取值
一.application/x-www-form-urlencoded 最常见 POST 提交数据的方式.浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 applica ...
- web端测试总结
1.数值型输入框: 条件:demcial(x,y) ,界面显示小数点到y位 通常要检查以下几点: (1)边界值:最大值.最小值.最大值+1.最小值-1 (2)位数:最小位数.最大位数.最小位数-1最 ...
- web基础---->script标签的特殊使用
今天要讲的就是怎样使用<script>去请求一个servlet,加载一些js资源以及额外的逻辑处理: 目录: JS的引入的几种方式 在script的标签中引入Servlet 动态引入JS的 ...
- Ubuntu 定时关机
sudo shutdown +120 Shutdown scheduled for Sat 2019-09-21 23:48:44 CST, use 'shutdown -c' to cancel.
- 【剑指offer】和为S的连续正数序列
题目描述 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100.但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数).没多久,他 ...
- C++ Clock函数调用及用途
用途1 Clock函数可以有效地针对一些只能用随机化做的题目 为了提高该类代码的正确性,我们期望它运行的次数在要求时限内运行足够多 因此将Clock函数充当计时器 用途2 计时判断负环 原理: 给定一 ...
- day04——列表、元组、range
day04 列表 列表--list 有序,可变,支持索引 列表:存储数据,支持的数据类型很多:字符串,数字,布尔值,列表,集合,元组,字典,用逗号分割的是一个元素 id() :获取对象的内存地址 ...
- day26——tyoe元类与object的联系、反射、函数与方法的区别、双下方法
day26 type元类与object联系 type 获取对象从属于的类 python 中一切皆对象, 类在某种意义上也是一个对象,python中自己定义的类,以及大部分内置类,都是由type元类(构 ...
- Vue框架——页面组件中使用小组件
小组件在components文件夹中,页面组件在views文件夹中 一.先写小组件的vue,比如text.vue(在template设置模板渲染,style设置样式) <template> ...
- Cpp_Primer_4th_Edition-source-code
Cpp_Primer_4th_Edition-source-code 根据书上的去找,官网已经找不到了,毕竟第6版都已经出来了.不过有的朋友用的还是第4版,我的纸质书是第5版,pdf是第4版,都有在看 ...