利用Kubernetes实现各种应用

发布时间:2021-06-22 16:12:52 作者:chen
来源:亿速云 阅读:297

这篇文章主要讲解了“利用Kubernetes实现各种应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“利用Kubernetes实现各种应用”吧!

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

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

第一部分:探针

第二部分:Deployment的使用

第三部分:Demo

第四部分:总结

01

Kubernets探针

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

探针种类

LivenessProbe

利用Kubernetes实现各种应用

ReadnessProbe:

就绪探针与存活探针配置几乎一致。

只是字段为 readinessProbe。

02

Deployment的使用

ReplicaSet

1.Label Selector: 标签选择器,用于确定作用域
2.Replicas:副本个数,也就是作用域
3.Pod template: pod模板

Deployment

一个 Deployment 控制器为 Pod 和 ReplicasSet 提供声明式的更新能力。

你负责描述 Deployment 中的 目标状态,而 Deployment 控制器以受控速率更改实际状态, 使其变为期望状态。你可以定义 Deployment 以创建新的 ReplicaSet,或删除现有 Deployment, 并通过新的 Deployment 收养其资源。

Deployment yaml 文件与 ReplicaSet 十分相似, 只是多了 strategy 字段。该字段主要用于描述升级方式。

   Deployment 并不直接管理 Pod

当创建 Deployment 时,ReplicaSet 也会随之创建。在实际使用 Deployment 的时候,实际的 Pod 由 ReplicaSet 创建和管理,而不是由 Deployment 直接管理。

使用 Deployment 可以更容易地更新应用程序,因为可以直接定义单个Deployment 资源所需要达到的状态,并让 Kubernetes 处理中间状态。

利用Kubernetes实现各种应用

  升级 Deployment

 Deployment 支持声明式更新,即只需要修改 Deployment 资源中的 Pod 模板,Kubernetes 会自动将实际的系统状态收敛为资源中定义的状态。

利用Kubernetes实现各种应用

Deployment 支持不同的升级策略,主要分为 RollingUpdate 以及 Recreate 模式,本策略在 deployment.spec.strategy 字段中定义。详情可以使用 kubectl explain 命令获取。

  Deployment Recreate 升级

 Deployment Recreate 升级策略将会直接停止老版本 Pod, 并创建新的 ReplicaSet 和 Pod。并且进行流量切换。具体步骤如下所示:

利用Kubernetes实现各种应用

缺陷是,升级过程中有一段时间没有Pod运行,此时如果有外部请求,服务就处于不可用状态,会损失一定流量。

Deployment RollingUpdate 升级

利用Kubernetes实现各种应用

滚动升级方式如上图所示:

Kubernetes 会先额外创建 v2 版本的 pod 以及 replicaSet。并且逐渐销毁 v1 版本的 pod,从而实现滚动升级

同时,在生产环境中我们十分建议 Deployment 配合就绪探针使用。因为默认情况下, Pod running 时就会接受请求。但是实际上内部服务可能并未就绪。

所以可以配合 minReadySeconds 字段,以及就绪探针等相关功能进一步使用。

03

课程总结
 

1、探针的使用,就绪探针与存活探针。三种探测方式

2、ReplicaSet 的工作原理,通过 label 将 pod 维持在一定数量

3、Deployment 的工作原理,升级方式以及如何回滚。

感谢各位的阅读,以上就是“利用Kubernetes实现各种应用”的内容了,经过本文的学习后,相信大家对利用Kubernetes实现各种应用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. Dubbo应用迁移到Kubernetes
  2. GlusterFS在Kubernetes中怎么应用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

kubernetes

上一篇:使用Zabbix怎么实现邮件报警测试记录

下一篇:ASP.NET Core中怎么利用SignalR实现消息推送

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》