【公开课】Kubernetes 实现应用的高可用

【百度云原生导读】Pod 代表了 Kubernetes 中的基本部署单元,但是,在一般情况下我们不会直接使用 Pod,因为每一次重启它的 IP 都会发生变化;如果你希望自己的应用能自动保持健康运行而且无需手动干预,则需要通过创建 ReplicaSet 或者 Deployment 这样的资源来管理实际的 Pod。另外很多时候我们需要判断Pod是否需要重启,请求是否可被调度到Pod,探针的出现使得这些问题迎刃而解。

本节课将带领大家学习探针与 Deployment 的使用。通过实践与学习,了解 Kubernetes如何实现应用的高可用。

 

课程主要分为以下四个部分:

第一部分:探针

第二部分:Deployment 的使用

第三部分:Demo

第四部分:总结

 

 

1. Kubernetes 探针

 

当你使用 Kubernetes 的时候,有没有遇到过 Pod 在启动后一会就挂掉然后又重新启动这样的恶性循环?Kubernetes 如何检测 Pod 是否还存活?虽然容器已经启动,Kubernetes 如何知道容器的进程是否准备好对外提供服务了呢?答案是:探针

 

探针种类

 

LivenessProbe

 

介绍:LivenessProbe 又称存活探针,其作用主要用于检测容器是否还在运行。kubelet 使用存活探测器来知道什么时候要重启容器。例如,存活探测器可以捕捉到死锁(应用程序在运行,但是无法继续执行后面的步骤)。这样的情况下重启容器有助于让应用程序在有问题的情况下更可用。

 

用途:Kubernetes 可以通过存活探针来检查容器是否还在运行。如果探测失败,则 Kubernetes 将会认为容器已经不在运行,将会重新启动容器。

 

探测方式:

1. HTTP:kubelet 对容器的 IP 地址指定路径执行 HTTP GET 请求。根据返回码判断是否探测成功

2. TCP 套接字:尝试与容器指定端口建立TCP连接,如果建立成功则表示探测成功。

3. Exec:在容器内执行任意命令,检查退出状态码。如返回值为0,则探测成功。

 

存活探针yaml文件:

绿色为 http 探针,这里请求容器的8080端口,如果返回是 2xx,或者 3xx,那么表示探测成功。

红色为 exec 探针,这里执行了一个 cat 命令。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值