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

物流网个人网站建设韶关网站建设墨子

物流网个人网站建设,韶关网站建设墨子,宜良网站建设,支付网站建设费入什么科目个人主页#xff1a;征服bug-CSDN博客 kubernetes专栏#xff1a;kubernetes_征服bug的博客-CSDN博客 目录 1 容器生命周期 2 容器生命周期回调/事件/钩子 3 容器重启策略 4 自定义容器启动命令 5 容器探针 1 容器生命周期 Kubernetes 会跟踪 Pod 中每个容器的状态征服bug-CSDN博客 kubernetes专栏kubernetes_征服bug的博客-CSDN博客  目录 1 容器生命周期 2 容器生命周期回调/事件/钩子 3 容器重启策略 4 自定义容器启动命令 5 容器探针 1 容器生命周期 Kubernetes 会跟踪 Pod 中每个容器的状态就像它跟踪 Pod 总体上的阶段一样。 你可以使用容器生命周期回调来在容器生命周期中的特定时间点触发事件。 一旦调度器将 Pod 分派给某个节点kubelet 就通过容器运行时开始为 Pod 创建容器。容器的状态有三种Waiting等待、Running运行中和 Terminated已终止。 要检查 Pod 中容器的状态你可以使用 kubectl describe pod pod 名称。 其输出中包含 Pod 中每个容器的状态。 每种状态都有特定的含义 Waiting 等待 如果容器并不处在 Running 或 Terminated 状态之一它就处在 Waiting 状态。 处于 Waiting 状态的容器仍在运行它完成启动所需要的操作例如 从某个容器镜像仓库拉取容器镜像或者向容器应用 Secret 数据等等。 当你使用 kubectl 来查询包含 Waiting 状态的容器的 Pod 时你也会看到一个 Reason 字段其中给出了容器处于等待状态的原因。 Running运行中 Running 状态表明容器正在执行状态并且没有问题发生。 如果配置了 postStart 回调那么该回调已经执行且已完成。 如果你使用 kubectl 来查询包含 Running 状态的容器的 Pod 时 你也会看到关于容器进入 Running 状态的信息。 Terminated已终止 处于 Terminated 状态的容器已经开始执行并且或者正常结束或者因为某些原因失败。 如果你使用 kubectl 来查询包含 Terminated 状态的容器的 Pod 时 你会看到容器进入此状态的原因、退出代码以及容器执行期间的起止时间。 如果容器配置了 preStop 回调则该回调会在容器进入 Terminated 状态之前执行。 2 容器生命周期回调/事件/钩子 类似于许多具有生命周期回调组件的编程语言框架例如 Angular、Vue、Kubernetes 为容器提供了生命周期回调。 回调使容器能够了解其管理生命周期中的事件并在执行相应的生命周期回调时运行在处理程序中实现的代码。 有两个回调暴露给容器 PostStart 这个回调在容器被创建之后立即被执行。 但是不能保证回调会在容器入口点ENTRYPOINT之前执行。 没有参数传递给处理程序。 PreStop 在容器因 API 请求或者管理事件诸如存活态探针、启动探针失败、资源抢占、资源竞争等 而被终止之前此回调会被调用。 如果容器已经处于已终止或者已完成状态则对 preStop 回调的调用将失败。 在用来停止容器的 TERM 信号被发出之前回调必须执行结束。 Pod 的终止宽限周期在 PreStop 回调被执行之前即开始计数 所以无论回调函数的执行结果如何容器最终都会在 Pod 的终止宽限期内被终止。 没有参数会被传递给处理程序。 使用容器生命周期回调 # nginx-pod.yml apiVersion: v1 kind: Pod metadata:name: nginx spec:containers:- name: nginximage: nginx:1.19lifecycle:postStart: #容器创建过程中执行exec:command: [/bin/sh,-c,echo postStart /start.txt]preStop:  #容器终止之前执行exec:command: [/bin/sh,-c,echo postStop /stop.txt sleep 5]ports:- containerPort: 80 3 容器重启策略 Pod 的 spec 中包含一个 restartPolicy 字段其可能取值包括 Always(总是重启)、OnFailure(容器异常退出状态码非 0,重启) 和 Never。默认值是 Always。 restartPolicy 适用于 Pod 中的所有容器。restartPolicy 仅针对同一节点上 kubelet 的容器重启动作。当 Pod 中的容器退出时kubelet 会按指数回退方式计算重启的延迟10s、20s、40s、...其最长延迟为 5 分钟。 一旦某容器执行了 10 分钟并且没有出现问题kubelet 对该容器的重启回退计时器执行重置操作。 apiVersion: v1 kind: Pod metadata:name: nginxlabels:app: nginx spec:containers:- name: nginximage: nginx:1.19imagePullPolicy: IfNotPresentrestartPolicy: Always # OnFailure Never 4 自定义容器启动命令 和 Docker 容器一样,k8s中容器也可以通过command、args 用来修改容器启动默认执行命令以及传递相关参数。但一般推荐使用 command 修改启动命令使用 args 为启动命令传递参数。 apiVersion: v1 kind: Pod metadata:name: redislabels:app: redis spec:containers:- name: redisimage: redis:5.0.10command: [redis-server] #用来指定启动命令args: [--appendonly yes] # 用来为启动命令传递参数#args: [redis-server,--appendonly yes] # 单独使用修改启动命令并传递参数#args:                                     # 另一种语法格式# - redis-server# - --appendonly yesimagePullPolicy: IfNotPresentrestartPolicy: Always 5 容器探针 probe 是由 kubelet对容器执行的定期诊断。 要执行诊断kubelet 既可以在容器内执行代码也可以发出一个网络请求。 定义: 容器探针 就是用来定期对容器进行健康检查的。 探测类型 针对运行中的容器kubelet 可以选择是否执行以下三种探针以及如何针对探测结果作出反应 livenessProbe 指示容器是否正在运行。如果存活态探测失败则 kubelet 会杀死容器 并且容器将根据其重启策略决定未来。如果容器不提供存活探针 则默认状态为 Success。 readinessProbe指示容器是否准备好为请求提供服。如果就绪态探测失败 端点控制器将从与 Pod 匹配的所有服务的端点列表中删除该 Pod 的 IP 地址。 初始延迟之前的就绪态的状态值默认为 Failure。 如果容器不提供就绪态探针则默认状态为 Success。 startupProbe 1.7指示容器中的应用是否已经启动。如果提供了启动探针则所有其他探针都会被 禁用直到此探针成功为止。如果启动探测失败kubelet 将杀死容器 而容器依其重启策略进行重启。 如果容器没有提供启动探测则默认状态为 Success。 探针机制 使用探针来检查容器有四种不同的方法。 每个探针都必须准确定义为这四种机制中的一种 exec 在容器内执行指定命令。如果命令退出时返回码为 0 则认为诊断成功。 grpc 使用 gRPC 执行一个远程过程调用。 目标应该实现 gRPC健康检查。 如果响应的状态是 SERVING则认为诊断成功。 gRPC 探针是一个 Alpha 特性只有在你启用了 GRPCContainerProbe 特性门控时才能使用。 httpGet 对容器的 IP 地址上指定端口和路径执行 HTTP GET 请求。如果响应的状态码大于等于 200 且小于 400则诊断被认为是成功的。 tcpSocket 对容器的 IP 地址上的指定端口执行 TCP 检查。如果端口打开则诊断被认为是成功的。 如果远程系统容器在打开连接后立即将其关闭这算作是健康的。 探针结果 每次探测都将获得以下三种结果之一 Success成功容器通过了诊断。 Failure失败容器未通过诊断。 Unknown未知诊断失败因此不会采取任何行动。 探针参数 initialDelaySeconds: 5   #初始化时间5s periodSeconds: 4   #检测间隔时间4s timeoutSeconds: 1 #默认检测超时时间为1s failureThreshold: 3 #默认失败次数为3次达到3次后重启pod successThreshold: 1   #默认成功次数为1次1次监测成功代表成功 使用探针 exec apiVersion: v1 kind: Pod metadata:name: liveness-execlabels:exec: exec spec:containers:- name: nginximage: nginx:1.19ports:- containerPort: 80args:- /bin/sh- -c- sleep 7;nginx -g daemon off; #这一步会和初始化同时开始运行也就是在初始化5s后和7秒之间会检测出一次失败7秒后启动后检测正常所以pod不会重启imagePullPolicy: IfNotPresentlivenessProbe:exec:    #这里使用 exec 执行 shell 命令检测容器状态command:  - ls- /var/run/nginx.pid  #查看是否有pid文件initialDelaySeconds: 5   #初始化时间5speriodSeconds: 4    #检测间隔时间4stimeoutSeconds: 1   #默认检测超时时间为1sfailureThreshold: 3   #默认失败次数为3次达到3次后重启podsuccessThreshold: 1   #默认成功次数为1次1 次代表成功 说明 1. 如果 sleep 7s第一次检测发现失败但是第二次检测发现成功后容器就一直处于健康状态不会重启。 1. 如果 sleep 30s第一次检测失败超过 3 次检测同样失败k8s 就回杀死容器进行重启反复循环这个过程。 tcpSocket apiVersion: v1 kind: Pod metadata:name: liveness-tcpsocketlabels:tcpsocket: tcpsocket spec:containers:- name: nginximage: nginx:1.19ports:- containerPort: 80args:- /bin/sh- -c- sleep 7;nginx -g daemon off;  #这一步会和初始化同时开始运行也就是在初始化5s后和7秒之间会检测出一次失败7秒后启动后检测正常所以pod不会重启imagePullPolicy: IfNotPresentlivenessProbe:tcpSocket:port: 80initialDelaySeconds: 5   #初始化时间5speriodSeconds: 4    #检测间隔时间4stimeoutSeconds: 1   #默认检测超时时间为1sfailureThreshold: 3   #默认失败次数为3次达到3次后重启podsuccessThreshold: 1   #默认成功次数为1次1 次代表成功 httpGet # probe-liveness-httget.yml apiVersion: v1 kind: Pod metadata:name: liveness-httpgetlabels:httpget: httpget spec:containers:- name: nginximage: nginx:1.19ports:- containerPort: 80args:- /bin/sh- -c- sleep 7;nginx -g daemon off; #这一步会和初始化同时开始运行也就是在初始化5s后和7秒之间会检测出一次失败7秒后启动后检测正常所以pod不会重启imagePullPolicy: IfNotPresentlivenessProbe:httpGet:     #httpgetport: 80   #访问的端口path: /index.html   #访问的路径initialDelaySeconds: 5   #初始化时间5speriodSeconds: 4    #检测间隔时间4stimeoutSeconds: 1   #默认检测超时时间为1sfailureThreshold: 3   #默认失败次数为3次达到3次后重启podsuccessThreshold: 1   #默认成功次数为1次1 次代表成功 GRPC 探针 官方参考地址: 配置存活、就绪和启动探针 | Kubernetes
http://www.dnsts.com.cn/news/79616.html

相关文章:

  • 设计师网站登录入口办公室装修费怎么做账
  • 主视觉设计网站软文营销什么意思
  • 南京做企业号微网站营销网站快速过备案
  • 建设一个小游戏网站建筑工程公司组织架构图
  • 营销型网站具备的二大能力织梦建站模板
  • 帝国网站源码手机广安公司网站建设
  • 优化网站结构手把手指导做网站
  • 萍乡网站设计公司o2o平台运营是什么意思
  • 个人展示网站网站根目录验证文件
  • 郑州网站设计报价表做产品推广哪个网站好
  • 域名注册平台的网站怎么做阜阳建设网站
  • 做网站就用建站之星乐清企业网站制作
  • 我的网站百度找不到了动漫设计网站
  • 网站建设用户核心中铁建设集团有限公司华东分公司
  • 临淄关键词网站优化培训中心唐山网站排名推广
  • 怎么在记事本上做网站中国室内设计师联盟网站
  • 黄岐建网站wordpress 屏蔽爬虫
  • 可信网站多少钱全媒体运营技巧和工具
  • 竞价网站单页面wordpress培训模板下载
  • 建设一个房产网站赚钱吗泰安网签查询系统
  • 网站名称 域名推广一个产品有哪些方式
  • 做淘宝联盟网站要多少钱贵阳网站建设制作公司
  • 江门网站制作设计可信的品牌网站建设
  • 做企业网站一般要多少钱wordpress采集单篇文章
  • 广西南宁网站建设公司免费域名服务
  • 广州建设网站公司哪个济南兴田德润有活动吗上海市普陀区建设规划局网站
  • 深圳专业建站平台协作网站是什么
  • 网站页面改版推广链接点击器
  • 网站过期查询网站运营怎么做
  • 网站建设设计报告微网站建设最新报价