14 | 深入解析Pod对象(一):基本概念
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
Kubernetes中的Pod和Container是容器编排中的重要概念。Pod是最小的编排单位,包含调度、网络、存储和安全相关内容,类似于传统部署环境中的“虚拟机”,而容器则是运行在Pod中的“用户程序”。Pod的字段包括NodeSelector、NodeName和HostAliases等,对于理解Pod对象的设计和用法非常重要。Pod中的容器共享Linux Namespace,可以通过定义字段实现共享PID Namespace和宿主机的Namespace。此外,Pod中的容器定义包括ImagePullPolicy和Lifecycle字段,用于定义镜像拉取策略和容器生命周期钩子。Pod的状态包括Pending、Running、Succeeded、Failed和Unknown等,通过Status字段和Conditions细分状态可以了解Pod的运行情况。这些概念对于理解Kubernetes项目中的基本概念和容器编排至关重要。 在这篇文章中,详细讲解了Pod API对象,介绍了Pod的核心使用方法,并分析了Pod和Container在字段上的异同。Pod API对象是整个Kubernetes体系中最核心的一个概念,也是后面讲解各种控制器时都要用到的。读者可以通过学习本文,更好地理解和记忆Pod YAML中的核心字段,以及这些字段的准确含义。在下一篇文章中,作者承诺通过大量的实践,帮助读者巩固和进阶关于Pod API对象核心字段的使用方法。 总结:本文详细介绍了Kubernetes中的Pod和Container的重要概念,以及Pod的字段、容器共享Namespace、状态等内容。通过学习本文,读者能更好地理解和记忆Pod YAML中的核心字段,以及这些字段的准确含义。作者承诺在下一篇文章中,将通过大量的实践,帮助读者巩固和进阶关于Pod API对象核心字段的使用方法。
《深入剖析 Kubernetes》,新⼈⾸单¥68
全部留言(83)
- 最新
- 精选
- blackpiglet对于 Pod 状态是 Ready,实际上不能提供服务的情况能想到几个例子: 1. 程序本身有 bug,本来应该返回 200,但因为代码问题,返回的是500; 2. 程序因为内存问题,已经僵死,但进程还在,但无响应; 3. Dockerfile 写的不规范,应用程序不是主进程,那么主进程出了什么问题都无法发现; 4. 程序出现死循环。
作者回复: 课代表来了
2018-09-242310 - 细雨问一下老师,infra 网络的镜像为什么取名字叫 pause 呀,难道它一直处于“暂停状态”吗?
作者回复: 对啊
2018-12-03233 - 安排你好,我进入shell容器,然后执行ps ax,跟例子的结果不一样。例子代码也一样,添加了shareProcessNamespace: true了,为什么不行呢,请问可能出现的原因在哪里 / # ps PID USER TIME COMMAND 1 root 0:00 sh 10 root 0:00 ps 请问怎么开启sharepid功能呢?
作者回复: apiserver 加—feature-gates=PodShareProcessNamespace=true 1.11后已经默认开启了
2018-10-0521 - 两两pod runing好理解,但k8s怎么知道容器runing呢,通过什么标准判断?应用死循环,k8s怎么能感知?
作者回复: liveness和readiness啥区别?
2018-09-2614 - 徐海浪以前我对容器的认识还不深,竟然用tail -f Catalina.out作为前台进程,这样即使tomcat进程挂掉,容器还是正在运行。应用不可用tomcat进程还在经常会遇到,比如内存溢出,或者应用依赖的数据库等外部系统动荡导致应用不正常。怎么在应用的角度来决定容器是否应该退出?应用提供一个健康检查url,跑前台shell定期检查该url,状态不对则shell退出,从而容器退出。
作者回复: 吃一堑长一智
2018-09-26913 - 杨孔来老师,如果pod中的image更新了(比如 通过jenkins发布了新版本),我想通过重启pod,获取最新的image,有什么命令,可以优雅的重启pod,而不影响当前pod提供的业务吗
作者回复: 不是讲了prestop hook了?
2018-09-25312 - 姜戈通过node selector将任务调度到了woker1 成功运行之后 再修改worker1的label, 任务会重新调度吗?
作者回复: 不会
2018-09-259 - ethfoo如果pod加了健康检查,是不是就不关心应用进程是不是容器的初始化进程呢?因为应用进程挂了,虽然容器不会自动退出,但是kubelet会主动去kill掉这个容器
作者回复: 可以这么理解
2018-09-259 - hexinzhe比较想要知道优雅停机方面的更详细内容,比如说terminationgraceperiodseconds与prestop之间的关系,两者怎么用
作者回复: 前者就是sig term的超时时间。后者是要你自己编写逻辑处理的。
2018-09-2538 - 混沌渺无极各位,中秋节好。 如果entrypoint是一个一直运行的命令,那postStart会执行吗?还是启动一个协程成执行entrypoint,然后再运行一个协程执行这个postStart,所以这两个命令的执行状态是独立的,没有真正的先后关系。
作者回复: 文中不是已经解释了?当然会执行,不管entrypoint。
2018-09-246