k8s中pod的问题

目录

Pod问题及答案

#pod是什么

#pod重启策略有哪些

#pod的原理

#pod的创建过程

#pod镜像拉取策略

#pod的存活探针有哪几种

#pod的就绪探针有哪几种

#pod就绪探针与存活探针的区别

#kubenetes针对pod资源对象的健康监测机制

#pod的生命周期

#pod一直处于pending状态有哪些情况,怎么排查

Pod问题及答案

#pod是什么

pod是k8s中可以创建和管理的最小单元,使用多个容器共存的理念,这组容器就叫做pod,k8s不会直接处理容器,而是处理pod

#pod重启策略有哪些

pod重启容器策略是指针对pod内所有容器的重启策略,不是重启pod

1,always:当容器终止退出后,总是重启容器(默认)

2,onfailure:当容器异常退出后,退出状态码非0时,重启容器

3,never:当容器终止退出,不管退出状态码是什么,从不重启容器。

#pod的原理

一个容器运行一个进程,若想要多个进程不能汇聚同一容器中,这时就要一种更高级的结构将容器绑定在一起,并将它们作为一个单元进行管理,这就是pod产生的原理

#pod的创建过程

1,用户利用kubectl命令发起创建pos容器的需求,此需求经过apiserver存储值etcd数据库

1,Etcd数据库存储完毕后,此需求再次经过apiserver发送到scheduler,scheduler决定即将创建的容器都存放到那几台k8s节点上

3,Scheduler将容器的分配偶策略经过apiserver存储到etcd数据库

4,将创建容器的执行发给对应的node节点机上的kubelet

5,Kubelet接收到创建容器的

#pod镜像拉取策略

Ifnotpresent:默认值,若本地不存在所需镜像则联网拉取

Always:总是重新拉取,每次创建都会从仓库拉取

Never:总使用本地镜像,若本地没有则失败

#pod的存活探针有哪几种

httpGet:通过容器的IP、端口、路径发送http 请求,返回200-400内的状态码表示成功。

exec:容器内执行shell命令,退出状态码是否为0进行判断,0表示健康,非0表示不健康。

TCPSocket:与容器的IP、端口建立TCP Socket链接,能建立探测成功,不能建立探测失败。

#pod的就绪探针有哪几种

在pod中的容器定义一个就绪探针,就绪探针周期性检查容器,如果就绪探针检查失败了,说明该pod还未准备就绪,不能接受客户端链接,则该pod将从endpoint列表中移除,被剔除了service就不会把请求分发给该pod,然后就绪探针继续检查,如果随后容器就绪,则再重新把pod加回endpoint列表。

httpGet:通过容器的IP、端口、路径发送http 请求,返回200-400内的状态码表示成功。

exec:容器内执行shell命令,退出状态码是否为0进行判断,0表示健康,非0表示不健康。

TCPSocket:与容器的IP、端口建立TCP Socket链接,能建立探测成功,不能建立探测失败。

#pod就绪探针与存活探针的区别

作用不一样,存活探针是将检查失败的容器杀死,创建新的容器保持pod运行。

就绪探针是当检测失败,不重启容器,而是移除endpoint,就绪探针确保service中的pod都是可用的,确保客户端只与正常pod交互,并且客户端永远不知道系统是否存在问题。

#kubenetes针对pod资源对象的健康监测机制

1,livenessProbe(存活探针):可以根据用户自定义规则来判定pod是否健康,用于判断容器是否处于Running状态,如果不是,kubelet就会杀掉该容器,并根据重启策略做相应的处理。如果容器不包含该探针,那么kubelet就会默认返回值都是success(成功);

2,ReadinessProbe(就绪探针):同样是可以根据用户自定义规则来判断pod是否健康,容器服务是否可用(Ready),如果探测失败,从此不再将任何请求调度到此Pod上,直到下次探测成功;

3,startupProbe(启动探针):启动检查机制,应用一些启动缓慢的业务,避免业务长时间启动而被上面两类探针kill掉,这个问题也可以换另一种方式解决,就是定义上面两类探针机制时,初始化时间定义的长一些即可;

#pod的生命周期

Pending(挂起)-running(运行中)-succeed(成功)-failed(失败)-unknown(未知)

#pod一直处于pending状态有哪些情况,怎么排查

1,可能是正在拉取镜像,正在创建容器的过程。

2,调度器调度失败,(定义了新的资源请求,没有node节点满足)(node节点正处于cpu内存压力过大,无资源调度)

3,Pvc,pv无法动态创建(若storageClassName名称写错了就会造成无法创建pvc)(pvc正常创建了,但是由于某些异常原因导致动态供应存储无法正常创建pv)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值