首页 > 其他分享 >pod

pod

时间:2023-02-08 16:04:02浏览次数:33  
标签:name -- probe hook pod Pod

1. 强制删除

kubectl  delete pod hook-demo1 --force --grace-period=0

 默认所有的优雅退出时间都在30秒内。kubectl delete 命令支持 --grace-period=<seconds>选项,这个选项允许用户用他们自己指定的值覆盖默认值。值’日•代表强制删除pod。 在kubectl 1.5 及以上的版本里,执行强制删除时必须同时指定--force --grace-period=0.

强制删除一个 pod 是从集群状态还有etcd 里立刻删除这个 pod,只是当Pod 被强制删除时, APIServer 不会等待来自Pod 所在节点上的kubelet的确认信息:pod 己经被终止。在API 里pod 会被立刻删除,在节点上,pods 被设置成立刻终止后,在强行杀掉前还会有一个很小的宽限期,

以下示例中,定义了一个Nginx pod,其中设置了prestop钩子西数,即在容器退出之前,优雅的关闭 Nginx: (pod-prestop. yaml)

apiVersion: v1
kind: Pod
metadata:
  name: hook-demo2
  namespace: default
spec:
  containers:
    - name: hook-demo2
      image: nginx:latest
      lifecycle:
        preStop:
          exec:
            command: ["/user/sbin/nginx", "-s", "quit"]

---
apiVersion: v1
kind: Pod
metadata:
  name: hook-demo3
spec:
  volumes:
  - name: message
    hostPath:
      path: /tmp
  containers:
  - name: hook-demo2
    image: nginx
    ports:
    - containerPort: 80
    volumeMounts:
    - name: message
      mountPath: /usr/share/
    lifecycle:
      preStop:
        exec:
          command: ['/bin/sh', '-c', "echo Hello from the preStop Handler > /usr/share/message"]

 

2. 健康检查

现在在Pod 的整个生命周期中,能影响到Pod 的就只剩下健康检查这一部分了。在Kubernetes 集群当中,我们可以通过配置1iveness probe(存活探针)和readiness probe (可读性探针) 来影响容器的生命周期:

  • kubelet 通过使用 liveness probe 来确定你的应用程序是否正在运行,通俗点将就是是否还活着。一般来说,如果你的程序一旦崩溃了,Kubernetes 就会立刻知道这个程序已经终止了,然后就会重启这个程康。而我们的liveness probe 的目的就是来捕获到当前应用程序还没有终止,还没有崩溃,如果出现了这些情况,那么就重启处于该状态下的容器,使应用程序在存在 bug 的情况下依然能够继续运行下去。

  • kubelet 使用 readiness probe 来确定容器是否已经就绪可以接收流量过来了。这个探针通俗点讲就是说是否准备好了,现在可以开始工作了。只有当Pod 中的容器都处于就绪状态的时候 kubelet 才会认定该pod 处于就绪状态,因为-个pod 下面可能会有多个容器。当然Pod 如果处于非就绪状态,那么我们就会将他从 service 的Endpoints列表中移除出来,这样我们的流量就不会被路由到这个 Pod 里面来了。

标签:name,--,probe,hook,pod,Pod
From: https://www.cnblogs.com/wanghhhh/p/17102084.html

相关文章

  • pod的网络通讯方式
    导言    我们继续去学习我们的基础概念中的另一个就是网络的通讯方式,我们要先对k8s中的网络通讯有一定的认知以后,那才能帮助我们比较好的去构建我们的k8s。那首......
  • Pod 概念
    那上节课呢给大家讲了一些我们k8s的组件的一些相关的功能,包括它的一些原理性介绍,对吧?那这节课呢大家去看一下我们k8s中最重要的一些技术概念,比如我们的pod的是怎样的?比如我......
  • Kubernetes:如何实现跨集群节点均匀调度分布Pod(Pod拓扑分布约束)
    写在前面分享一些k8s跨集群节点均匀调度分布Pod的笔记博文内容涉及:pod调度&&拓扑分布约束简单介绍跨节点均匀分布podDemo&&相关配置字段说明多个拓扑分......
  • Windows安装podman报错:Error: the WSL import of guest OS failed: exit status 0xfff
     执行podmanmachineinit报错: Error:theWSLimportofguestOSfailed:exitstatus0xffffffff 更新下wsl服务https://yvioo.lanzouw.com/iOus30mrzpid下......
  • Kubernetes的 pod 重启策略、Pod状态、生命周期
    Pod的重启策略Pod的重启策略指的是当Pod中的容器终止退出后,重启容器的策略。需要注意的是,因为Docker容器的轻量级,重启容器的做法实际上是直接重建容器,所以容器中的数据将会......
  • 删除Pod
    1.客户端请求删除Pod。2.kube-apiserver修改Pod信息,设置DeletionTimestamp和DeletionGracePeriodSeconds。3.kubelet监听到Pod的更新事件,优雅释放Pod资源。4.资源释放后ku......
  • 不背锅运维:耗时1周整理:分享K8S Pod知识点,带你一文打尽
    1.Pod概念热身Pod是一个逻辑抽象概念,K8s创建和管理的最小单元,一个Pod由一个容器或多个容器组成。特点:一个Pod可以理解为是一个应用实例Pod中容器始终部署在一个Nod......
  • 爬google podcast 笔记
    问题1https://stackoverflow.com/questions/57217924/pyppeteer-errors-browsererror-browser-closed-unexpectedlyexportno_proxy=localhost,127.0.0.1......
  • kubernetes get pods 跟踪
    之前重启pods的时候总是不停的敲sudokubectlgetpods,今天发现居然有watch功能,太方便了,记录一下sudokubectlgetpods-w-lapp=zk-owide-w就是watch的意思-lap......
  • 无法删除状态为 terminating 的 pod 解决方法
     一、pod删除每当删除namespace或pod等一些Kubernetes资源时,有时资源状态会卡在terminating,很长时间无法删除,甚至有时增加--forceflag(强制删除)之后还是无......