pod结构和定义

本文深入探讨了Kubernetes中的Pod结构,包括自主式与控制器创建的Pod,以及Pod内的容器类型。详细解析了Pod的定义,如yaml配置文件中的apiVersion、kind、metadata、spec和status等关键部分。此外,还介绍了Pod的配置细节,如启动命令、环境变量、端口设置和资源配额,帮助理解如何管理和优化Pod资源。
摘要由CSDN通过智能技术生成

一、Pod结构

在这里插入图片描述

在kubernetes中,按照pod的创建方式可以将其分为两类:

  1. 自主式pod:kubernetes直接创建出来的pod,这种pod删除后就没有了,也不会重建
  2. 控制器创建的pod:通过控制器创建的pod,这种pod删除了之后还会自动重建

每个pod都可以包含一个或者多个容器,这些容器可以分为两类:

  1. 用户程序所在的容器,数量可多可少
  2. pause容器,这是每个pod都会有的一个根容器,它的作用是两个:
    • 可以根据它作为依据,评估整个pod的健康状态
    • 可以在根容器上设置ip地址,其他容器共享此ip(Pod Ip)以实现 pod内部的网络通信 (这里是pod内部的通信,pod的之间的通讯采用虚拟二层网络技术来实现,我们当前环境用的是flannel)

二、Pod定义

yaml配置文件(资源清单)

apiVersion: v1            //必选,版本号,例如 v1
kind: pod                 //必选,创建的资源类型,例如 pod
metadata:                 //必选,元数据
  name: String            //必选,pod名称
  namespace: String       //所创建的资源的pod所属命名空间,默认为default
  labels:                 //自定义标签列表
    - name: String        //标签键值对
  annotations:            //元数据,自定义注解列表
    - name: String        //元数据,自定义注解名字
spec:                     //pod中容器的详细定义
  containers:             //pod中的容器列表,可以有多个容器
  - name: String          //容器名称
    image: String         //容器中的镜像名
    imagesPullPolicy: [Always|Never|IfNotPresent]//获取镜像的策略,一直拉取,从不拉取,本地有镜像不拉取
    command: [String]     //容器的启动命令列表(不配置的话使用镜像打包时使用的启动命令)
    args: [String]        //容器启动参数列表
    workingDir: String    //容器的工作目录
    volumeMounts:         //挂载到到容器内部的存储卷设置
    - name: String        //应用Pod定义的共享存储卷名称,需要使用volumes[]部分定义的共享存储卷名称
      mountPath: String   //存储卷在容器内Mount的绝对路径,应少于512个字符
      readOnly: boolean   //是否为只读模式,默认为读写模式
    ports:                //容器需要暴露的端口号列表
    - name: String        //端口的名称
      containerPort: int  //容器要暴露的端口
      hostPort: int       //容器所在主机监听的端口(容器暴露端口映射到宿主机的端口),默认与containerPort相同,设置hostPort时,同一台主机将无法启动该容器的第二个副本
      protocol: String    //端口协议,支持TCP和UDP,默认为TCP
    env:                  //容器运行前要设置的环境列表
    - name: String        //环境变量的名称
      value: String       //环境变量的值
    resources:            //资源限制和资源请求的设置
      limits:             //资源限制的设置
        cpu: Srting       //CPU限制,单位为core数,将用于docker run --cpu-shares参数
        memory: String    //内存限制,单位可以为MiB,GiB等,将用于docker run --memory参数
      requests:           //资源请求设置
        cpu: String       //cpu请求,单位为core数,容器启动的初始可用数量
        memory: String    //内存请求,单位为MiB或GiB,容器启动的初始可用数量
    livenessProbe:        //pod内容器健康检查的设置,探测几次无反应后,将自动重启该容器,探测方式包括:exec,httpGet,tcpSocket
      exec:               //exec探测方式
        command: [String] //exec方式需要指定的命令或脚本
      httpGet:            //通过httpget检查健康,需要指定path,port
        path: String      //网址URL路径(去除对应的域名或IP地址的部分)
        port: number      //对应端口  
        host: String      //域名或IP地址
        scheme: Srtring   //对应的检测协议,如http
        httpHeaders:      //指定报文头部信息
        - name: Stirng    //头部信息名称
          value: String   //头部信息值
      tcpSocket:          //通过tcpSocket检查健康
        port: number      //探测端口的端口号
      initialDelaySeconds: 0//容器启动完成后首次探测的时间,单位为s
      timeoutSeconds: 0     //探测等待响应超时时间,单位为s,默认为1,超时认为容器不健康,容器将重启
      periodSeconds: 0      //定期探测时间设置,单位为s,默认为10
      successThreshold: 0   //探测几次成功后认为成功
      failureThreshold: 0   //探测几次失败后认为失败
    securityContext:        //安全配置
      privileged: falae     //
  restartPolicy: [Always|Never|OnFailure]//重启策略,终止定会重启,除正常结束(退出码为0)外其他非0退出码终止才重启,Pod终止后退出码报告给master不重启Pod;always:当容器退出时,总是重启容器,默认策略,onfailure:当容器异常退出(退出状态码非0)时,重启容器,nerver:当容器退出时,从不重启容器(k8s中不支持重启pod资源,这里说的重启指的是删除重建pod)
  nodeSelector: object      //设置Node的Label,key:value格式指定,Pod将被调度到具有这些Label的Node上
  imagePullSecrets:         //pull镜像时使用Secrets名称,以name:sercretkey格式指定
  - name: String            //参照物名称
  hostNetwork: false        //是否使用主机网络模式,默认为false,设置为true,表示使用宿主机网络,不使用docker网桥,此Pod无法在同一台机上启动第2个副本
  volumes:                  //在该pod上定义共享存储卷列表
  - name: String            //共享存储卷名称,一个Pod内,每个存储卷定义一个名称,供spec[].containers[].volumeMounts[].name应用,其类型很多,如:emptyDir,hostPath等
    emptyDir: {
   }            //emptyDir类型的存储卷,零时目录,与Pod同生命周期,空对象
    hostPath:               //hostPath类型的存储卷,表示挂载Pod所在主机的目录,通过volumes[].hostNetwork.path指定
      path: string          //Pod所在主机的目录,将用于容器中的mount的目录
    secret:                 /
最低0.47元/天 解锁文章
Kubernetes集群Pod资源结构定义及常用配置参数(五)
江晓龙的博客
06-17 1万+
Pod资源介绍及定义 1.Pod资源的结构 一个Pod中会运行一个或多个容器,实际上每一个pod都至少有两个容器,一个是pod根容器,一个是应用容器,应用容器都是建立在根容器之上,根容器上会绑定ip地址,应用容器里面只是提供了业务和开放了端口,如果一个pod中有多个容器,他们其实都是共享的根容器的地址,至于每个容器开放的端口是谁先占用谁就先得到这个端口 pod根容器也就引出了k8s的一个重要概念,之前容器运行在docker上,无法提供自愈这种机制,有了k8s,容器建立在根容器之上,k8s集群对pod根容器进
POD基础概念
热门推荐
彼岸吖的博客
11-04 1万+
目录 一.POD 1.pod的概念 2.Kubrenetes集群中Pod两种使用方式 一个Pod中运行一个容器。 在一个Pod中同时运行多个容器。 3.pause ●网络: ●存储: 总结: 4.kubernetes中的pause容器主要为每个容器提供的功能 5.Kubernetes设计这样的Pod概念和特殊组成结构有什么用意? 6.POD的分类 ●自主式Pod ●控制器管理的Pod 二.Pod容器的分类 1、基础容器(infrastructure container) ..
Pod内容详情梳理
zhghost的专栏
12-27 731
本篇是笔者的一篇读书笔记,用于梳理pod的详情,方便理解和学习,也方便后续自己查询。一、Pod的概述Pod是k8s里面典型的CR,从它的元数据来看,具有所有CR的基本数据构成,分别是 version、kind,以及描述自己的元数据的其他信息,包括metadata里面的名称,命名空间,匹配的labels和注解这一些。除此之外就是Pod里面要包含的详情了,主要有:容器列表,用来描述运行相关的资源信息。...
K8s ❉ Pod结构
wangjie72270的博客
01-01 774
Pod结构
【Kubernetes】Pod 的概念、使用方法、容器类型
最新发布
书山有路,学海无涯。记录成长,追逐梦想
07-27 1301
Pod 是 Kubernetes 中的一个逻辑单位,它代表集群中正在运行的一个进程,是 Kubernetes 集群中的一个应用实例,由一个或者多个容器组成。在 Pod 中还可以包含数据的持久化存储、网络配置等资源。Pod 支持多种容器的执行环境,而 Docker 则是 Pod 最常见的执行环境。Pod 也支持用其他容器引擎作为执行环境。
(二十三)Kubernetes -- 详解pod (1 结构定义)
杰子的世界
02-28 498
本节详细介绍pod资源的各种配置(yaml)和管理。 pod结构 每个pod都可以包含一个或者多个容器,这些容器可以分为两类:1.用户程序所在的容器,数量可多可少 2.pause容器,这是每个pod都会有的一个根容器,它的作用是两个,一个是可以根据它作为依据,评估整个pod的健康状态,二是在根容器上设置ip地址,其他容器共享此ip(Pod Ip)来是实现pod内部的网络通信,这里是pod内部的通信,pod的之间的通讯采用虚拟二层网络技术来实现,我们当前环境用的是flannel。 yaml配置文件详解 ap
C++ POD结构体声明
永远即等待的专栏
02-22 3663
请看下面这个结构定义: struct MyStruct { int i; wstring str; vector strs; }; 上面的结构定义有问题吗?理论上说没有,但在某些情况下就有问题了。如下用法: MyStruct *pMy = new MyStruct(); memset(pMy, 0, sizeof(M
pod结构说明-运行容器的容器
inteligent7的博客
08-11 754
pod基础概念 pod相当于一个运行容器的环境,有独立的ip地址,也有自己的hostname,利用namespace进行资源隔离。 pod内部封装的是容器,可以封装一个或者多个相关的容器。 pod网络 pod有自己独立的ip地址。 pod内部容器之间访问采用localhost访问。 pod如何对外提供访问 pod是虚拟的资源对象(进程),没有对应实体版本(物理机,物理网卡)与之对应,无法对外提供服务访问。 pod如果想要对外提供服务,必须绑定物理机端口(在物理机上开启端口,让这个端口和pod端口进行
基于POD 方法的非同步大跨屋盖结构风荷载研究 (2013年)
05-09
对某大跨度曲面屋盖结构分批进行了风洞试验,第1批测点定义为同步测点,第2批测点定义为非同步测点。根据POD方法采用前若干阶本征模态重建了屋盖的风压场。通过同步测点的风压场预测非同步测点的风压场,并将其与...
Pod状态及生命周期
等风来也chen
09-18 9083
Pod分为两类: 自主式Pod:这种Pod本身是不能自我修复的。当Pod被创建后(不论是由你直接创建还是被其它COntroller),都会被K8s调度到集群的Node上。直到pod的进程终止、被删掉。因为缺少资源而被驱逐、或者Node故障之前这个Pod都会一直保持在八个Node上。Pod不会自愈。如果Pod运行的Node故障,或者是调度器本身故障,这个Pod就会被删除。同样的,如果Pod所在No...
kubernetes-Pod结构
Leon_Jinhai_Sun的博客
09-12 249
每个Pod中都可以包含一个或者多个容器,这些容器可以分为两类: 用户程序所在的容器,数量可多可少 Pause容器,这是每个Pod都会有的一个根容器,它的作用有两个: 可以以它为依据,评估整个Pod的健康状态 可以在根容器上设置Ip地址,其它容器都此Ip(Pod IP),以实现Pod内部的网路通信 这里是Pod内部的通讯,Pod的之间的通讯采用虚拟二层网络技术来实现,我们当前环境用的是Flannel ...
C++ POD(Plain Old Data)类型
weixin_30341735的博客
03-28 244
群里发过来一份他们公司的笔试题,看了下,发现里面考了一个判断如下是否为POD类型,没搞明白什么是POD,多方查阅后,发现其实是指一个C风格代码的概念。 POD全称Plain Old Data是指C风格的struct结构定义的数据结构,其中struct结构体中只能定义常规数据类型(不能含有自定义数据类型)。它仅作为被动的收藏的字段值,不使用封包或者other object-ori...
Pod详解
rmh0713的博客
05-23 943
每个pod都有一个特殊的被称为基础容器的pause容器,pause容器对应的镜像属于k8s平台的一部分,除了pause容器,每个pod还包含一个或者多个紧密相关的用户应用容器。①创建过程中的第一次停滞,是init-myservoce容器启动后,未能发现myservice域名,无法得到解析因此陷入循环。②第二次停滞,是init-mydb容器启动后,未能发现mydb域名,无法得到解析,因此再次陷入循环之中③在上述两个容器成功并退出之后,myapp-pod才开始创建,否则pod无法创建。
K8S源码分析Kubelet - 5、Pod内部构造
chunlie7017的博客
07-31 190
Pod是K8S调度的基本单位,一个Pod中包含了一个Pause容器(根容器)和多个用户容器。Pause容器的状态代表了Pod的状态,同一个Pod中的容器共享相同的ip和数据卷。 因此,Pod的创建首先要构建一个Sandbox,包含pause容器并初始化网络/数据卷等一系列资源。 1.sa...
【Kubernetes】Kubernetes之Pod详解
一个萌新的博客
08-09 1693
Pod基础概念-Pod两种使用方式,共享两种资源、提供的功能、Pod概念和特殊组成结构的原因、Pod的种类(基础容器/父容/根容器/pause容器、初始化容器/init容器、应用容器/务容器/main c) ,镜像拉取策略 (Always、Never、INotPresent)
Pod详解大全
weixin_46837396的博客
08-24 6613
文章目录一、Pod介绍1、pod结构主容器 pause业务容器 user container1 user container22、Pod定义1)、k8s中的命名规范1、下面是Pod的资源清单:2、查看每种资源的可配置项3、案例1、案例1 – 部署nginx、tomcat2、案例2 – wordpress在kubernetes中基本所有资源的一级属性都是一样的,主要包含5部分:在上面的属性中,spec是接下来研究的重点,继续看下它的常见子属性:4、kubernetes没有提供单独运行Pod的命令,都是通过
Kubernetes(三)Pod详解
kevin的博客
04-30 352
文章目录Kubernetes(三)Pod详解Pod结构Pod生命周期Pod创建过程初始化容器&钩子函数容器探测&重启策略Pod调度 Kubernetes(三)Pod详解 Pod结构 每个Pod中都可以包含一个或多个容器,可以分为两类: 用户应用程序所在的程序,数量可多可少 Pause容器,每个Pod都会有一个根容器 监听pod的健康状态 设置ip实现Pod容器通信 Pod生命周期 Pod生命周期是指Pod对象从创建到销毁的时间线范围 Pod创建 运行初始化容器 运行主容器 容
POD类型概述
xinqingwuji的博客
05-05 1120
元数arity 函数或成员函数接受的参数个数。除非另有说明,否则在指定元数时不会计算隐藏this成员函数的参数。 ntbs Null-Terminated Byte String或'C'-string。C ++字符串文字是ntbs类型。ntbs绝不能为空。 引发raise Python中的异常是“引发”而不是“抛出”,因为它们在C ++中。当本文档说在C ...
iPod附件协议接口规范
这包括命令和响应的结构、错误处理机制以及数据包的封装方式。协议允许配件模拟不同的功能,如模拟键盘输入或者作为一个音频源。 3. **命令集**:协议定义了一套命令集,例如播放/暂停、下一曲/上一曲、音量控制等...
写文章

热门文章

  • AlertManager的使用(邮件和微信告警) 21170
  • 云计算概述(5个基本特征、4种部署模型、3种服务类型) 13389
  • promQL语法 9117
  • Nginx之location匹配规则 6977
  • Prometheus、Node_Exporter、PushGateway的使用 6912

分类专栏

  • CI&CD
  • Python
  • Prometheus 4篇
  • 其他 7篇
  • Linux服务 4篇
  • ansible 4篇
  • Linux基础 27篇
  • redis 9篇
  • mysql 6篇
  • nginx 14篇
  • Elastic Stack 7篇
  • KVM 7篇
  • Docker 12篇
  • Kubernetes 25篇
  • zabbix 7篇

最新评论

  • SRAM、DRAM、硬盘、ROM、RAM、EPROM、FLASH区别和联系

    qq_37523370: 这图太形象了,理解的透透的

  • Nginx之访问限制模块之 limit_conn 模块、limit_req 模块

    起嘛名啊: 可以用ab命令来测试: ab -n100 -c100 -k http://yoursit/limit.html 1 注意:ab命令的-n -c都是指的发送多少请求,即-n一共发送多少请求,-c同时发送多少请求,他并不关心需要多少连接来发送,默认情况下是每个请求都建立一个连接来发送。上面这个命令,由于默认是一个连接发送一个请求,那么这将会同时建立100个连接,而这样的话,就会导致限制超过(对于一个ip最多只能一个连接)。99个请求都会失败。 而如果你只开一个连接: ab -n100 -c100 -k http://yousit/limt.html 1 这里的-k选项就是表示keepalive,只开一个连接来发送这100个请求,即使是同时发送,那么server也不会认为你超过了,因为在一个时间你只是建立一个连接,这样这100个请求都会干净利落的处理完成。 你这两个命令不是一样的吗?

  • zabbix之自定义模版(应用集,监控项,键值,触发器,图形)

    Heng_Java: 拿不到72这个值,返回的是空。

  • AlertManager的使用(邮件和微信告警)

    callmeconquer: 我发了个帖子,解决了,企业微信的问题需要设置白名单

  • AlertManager的使用(邮件和微信告警)

    JinLiJiuHao: 我也是同样的问题,你解决了吗?

大家在看

  • Linux网络命令 560
  • CyclicBarrier,CountDownLatch,Semaphore的实现原理,以及使用场景 72
  • 【IEEE出版(ISBN号:979-8-3315-4166-8)、南京工业大学主办 | EI会议 | 高录用快检索】2024年先进控制系统与自动化技术国际学术会议(ACSAT 2024)
  • Certbot实现自动签发及续签Let‘s Encrypt免费SSL证书
  • (32)时钟专题--->(032)时钟输入全局缓冲原语 2

最新文章

  • AlertManager的使用(邮件和微信告警)
  • promQL语法
  • Prometheus、Node_Exporter、PushGateway的使用
2021年109篇
2020年26篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

玻璃钢生产厂家河源玻璃钢景观雕塑造型精美三门峡镜面不锈钢玻璃钢景观雕塑河北玻璃钢大猩猩雕塑大型玻璃钢雕塑摆件供货商山东玻璃钢雕塑摆件销售公司周口小区玻璃钢雕塑制作黄埔区玻璃钢人物雕塑价格实惠重庆动物玻璃钢造型雕塑制作自己动手 装饰商场美陈义乌商场玻璃钢雕塑中卫玻璃钢雕塑供应商泡沫校园玻璃钢景观雕塑定做北京特色商场美陈报价安宁玻璃钢雕塑造型厂家咨询宁夏玻璃钢小品雕塑阜新商场美陈搭建玻璃钢雕塑牛耕地的犁的图片上海景观玻璃钢雕塑供应商西宁玻璃钢雕塑哪里有商场休闲座椅组合美陈装饰厂家北京学校人物玻璃钢雕塑玻璃钢凤凰仿古雕塑江苏景观玻璃钢雕塑设计黄石玻璃钢仿真植物水果雕塑珠海红色玻璃钢卡通雕塑香橙玻璃钢卡通雕塑订做雕塑玻璃钢上色师招聘敦化玻璃钢雕塑设计公司迪庆玻璃钢雕塑制作厂家茂名商场美陈香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化