当前位置: 首页 > news >正文

kubernetes[2]-Pod

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Pod介绍

[1]. Endpoint

k8s会根据service关联到pod的podIP信息组合成一个endpoint。Endpoint :Pod_IP+container_port .它代表了此Pod的一个服务进程对外通讯的地址。

[2]. Event

Event: 是一个事件的记录,记录事件的最早生成时间,最后重现时间,重复次数,发起者类型,以及导致此事件的原因等众多信息。Event是排查故障的重要参考.node和Pod都具有Event记录。

[3] ConfigMap

ConfigMap:资源对象, 可以被用来1.设置Pod环境变量的值,2.在容器里设置命令行参数,3.在数据卷里面创建config文件等。目的把应用的代码和配置分开,通过配置configmap管理pod,类似于linux下的/etc/统一存放各种服务的配置文件。创建好ConfigMap后可以通过通过环境变量方式使用ConfigMap和volumeMount形式引用。

[4]. Pod生命周期状态

Pending :已经创建Pod但Pod内容器还未创建成功。
Running:Pod已经成功创建.至少有一个容器正常运行.
Succeeded:Pod内容器已成功推出。
Failed:Pod内至少有一个容器退失败。
Unknown:由于某种原因无法获取容器状态。

[5]. Pod的重启策略

Pod的重启根据RestartPolicy的设置进行相应操作
Always:当容器失效时,kubelet自动重启它
OnFailure:当容器终止运行,且退出代码不为0时,kubelet重启它
Never:无论容器状态如何都不重启它。

具体:https://k.i4t.com/kubernetes_pod666.html

[6]. Pod的健康检查

对Pod的健康状态检查可以通过两类探针来检查:LivenessProbe和ReadinessProbe
livenessProbe 活性探针;用于判断容器是否存活(Running状态)如果不健康则kubelet将杀死容器并通过重启策略做出相应处理。
ReadinessProbe  可用性探针。判断容器是否为可用状态(可以接受请求)如果探测失败。则更改Pod状态。Endpoint Controller将从service中删除包含容器的Pod中的Endpoint.

[7]. Pod的调度

1.全自动调度:Deployment/RC
KubernetesMaster上的Scheduler服务(kube-scheduler进程)负责实现Pod的调度,这个调度过程通过一系列复杂的算法,最终为每个Pod计算出一个最佳的目标节点,这一过程是自动完成的,通常我们无法指定Pod最终会被调度在哪个节点上此过程用户无法干预调度过程和结果。

2.定向调度
Kubernetes也提供了丰富的调度策略,用户只需要在Pod的定义中使用NodeSelector NodeAffinity PodAffinity Pod 驱逐等更加细粒的调度策略设置,就能完成对Pod的精准调度。在实际强开中,可以将pod调度到指定的一些Node上,可以通过Node的标签(Label)和Pod的nodeSelector属性相匹配,来达到目的。https://k.i4t.com/kubernetes_pod666.html

 

 

 

转载于:https://my.oschina.net/wangyunlong/blog/2243577

相关文章:

  • @jsonView过滤属性
  • vmware创建centos虚拟机
  • 福大软工1816 · 第六次作业 - 团队选题报告
  • 尝试解决微信小程序分页最后setData数据太大限制的问题
  • teragen/terasort_简化版
  • 云计算节点故障自动化运维服务设计
  • Redis 中的布隆过滤器
  • git操作:在CentOS7上面搭建GitLab服务器
  • windows下redis 开机自启动
  • SpringBoot系列: Actuator监控
  • JavaScript常用八种继承方案
  • 20172313 2018-2019-1 《程序设计与数据结构》课堂测试修改报告
  • 使用fiddler抓取手机上的HTTPS包
  • 云栖科技评论第76期:车用半导体混战 中国怎么战?
  • 兼容性总结
  • 【EOS】Cleos基础
  • Angularjs之国际化
  • Idea+maven+scala构建包并在spark on yarn 运行
  • JavaScript 基础知识 - 入门篇(一)
  • Lucene解析 - 基本概念
  • php ci框架整合银盛支付
  • Python语法速览与机器学习开发环境搭建
  • Shadow DOM 内部构造及如何构建独立组件
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • webgl (原生)基础入门指南【一】
  • -- 查询加强-- 使用如何where子句进行筛选,% _ like的使用
  • 创建一种深思熟虑的文化
  • 从重复到重用
  • 动态规划入门(以爬楼梯为例)
  • 给Prometheus造假数据的方法
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 深度学习在携程攻略社区的应用
  • 听说你叫Java(二)–Servlet请求
  • 国内开源镜像站点
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • # 安徽锐锋科技IDMS系统简介
  • #define、const、typedef的差别
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #if和#ifdef区别
  • #Linux(帮助手册)
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (07)Hive——窗口函数详解
  • (C#)一个最简单的链表类
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (区间dp) (经典例题) 石子合并
  • (算法)Travel Information Center
  • (正则)提取页面里的img标签
  • (转载)深入super,看Python如何解决钻石继承难题
  • .equals()到底是什么意思?
  • .NET Core 和 .NET Framework 中的 MEF2
  • .net wcf memory gates checking failed
  • .Net 中Partitioner static与dynamic的性能对比