快手、孩子王、华为等专家分享大模型在电商运营、母婴消费、翻译等行业场景的实际应用 了解详情
写点什么

Kubernetes 1.2 新功能解析:使用 Deployment

  • 2020-03-13
  • 本文字数:1699 字

    阅读完需:约 6 分钟

Kubernetes 1.2新功能解析:使用Deployment

Kubernetes 令部署应用、管理应用变得简单直白,令大多数操作简化为单个 API 或单个命令行,包括发布新的应用程序,canary 测试和升级。那么为什么我们还需要部署呢?


自动化 Deployment 和滚动更新程序。相比于 kubectl 滚动更新,Deployment API 更加快速,具有描述性,实现服务端,还有更多的功能(比如,即使是在滚动更新完成之后,你也可以回滚到之前的版本)。


在今天的博客中,我们介绍的内容包括如何使用 Deployment 来:


1、配置/推出一个新的应用程序


2、阶段性更新应用程序,中途没有服务中断


3、如果在你部署/更新应用的时候出现错误,你可以回滚到之前的版本。



让我们来尝试使用一下 Deployment 吧~

准备开始

如果你想要试用下面这个例子,基本上需要满足以下三个要求:


1、一个正在运行的 kubernetes 集群:如果你现在还没有创建过集群的话,查看教程,里面有各种平台上的部署方案,包括你的笔记本,虚拟机,裸机服务器等等。


2、Kubectl,Kubernetes CLI:如果在运行 kubectl cluster-info 之后,看到了一个 URL 回应,那么就准备启动吧。否则的话,就按照指示安装配置 kubectl;如果你有谷歌 GCE 集群的话,也可以按照主机解决方案的指示来安装。


3、这个 demo 的配置文件,可以点击。


如果不想自己动手运行这个例子,那也可以。看这个视频了解每一步的细节。

开始

配置文件包括一个静态页面。首先,我们想要开始为它的静态内容服务。从 Kubernetes repository 的 root 开始,运行:



这个在 8001 端口运行了一个 proxy。你现在可以访问:http://localhost:8001/static/ ,就是 demo 网页版(它现在登录进去显示出来的是一个空白页面)。现在我们想要运行一个应用,并且将它展示到网页上。



这些代码用“update-demo:nautilus”部署了一个应用的副本,你可以点击这里观看。



网页上展示的卡片代表的是:一个 Kubernetes pod,pod 的名称(ID),状态,镜像和标签。

数量变大

现在我们想要更多这个应用的复制件!



更新你的应用程序

更新应用会怎么样呢?



此代码打开了你的默认编辑器,然后你可以在 fly 上面更新配置。找到.spec.template.spec.containers[0].image,然后修改 nautilus 到 kitty,然后你会看到:



你现在要做的是将这个应用的镜像从“update-demo:nautilus“更新到”update-demo:kitty“。


过一会儿,你就会发现更新似乎被绊住了。发生了什么呢?

调试 rollout

如果你看的再仔细一点,你会发现那些带有“Kitty”标记的镜像仍处于待定状态。一旦运行失败,Deployment 会自动停止 roll。让我们来看一看新的 pod 上发生了什么:



看一下这个 pod 的 events,你会注意到 Kubernetes 由于找不到“kitty”而无法 pull 镜像:


回滚

好的,现在我们想要撤销做出的修改,然后花时间理清楚我们应该使用哪个镜像标签。



所有东西都恢复到正常,耶!


为了学习更多的关于回滚的知识,访问。

更新你的应用程序(讲真)

之后,我们终于找出正确的镜像标签是“kitten”,而不是“Kitty”。现在将.spec.template.spec.containers[0].的镜像标签从“nautilus”改到“kitten”。



可以看到有 4 只小猫,这也就意味着我们已经成功地更新了应用!如果想要了解这背后的镜像,来看这个的 Deployment 吧:



从 events 章节可以看到配置正在管理另一个叫做 Replica Set 的资源,每一个都管理不同 pod 模版的副本的数字。

结论

现在,你已经了解了 Deployment 对象的基本用法:


1、部署有 Deployment 的应用,使用 kubectl 来运行


2、通过更新 Deployment 来更新应用,用 kubectl 编辑


3、回滚到之前部署的应用,用 Kubectl rollout 撤销


但是还有很多 Deployment 里的东西,在这里篇幅有限,无法详述。为了探究更多,点击这里了解更多:http://kubernetes.io/docs/user-guide/deployments/


注意:在 Kubernetes1.2 中,Deployment(测试版)功能完善,是默认启用的版本。你们之中试用过 Kubernetes1.1 中的 Deployment 的人,在 Kubernetes1.2 上尝试 Deployment 之前请删除所有的 Deployment1.1 资源(包括他们管理的 RC 和 pods)。这个步骤很有必要,因为我们对 API 作了一些反向不兼容的修改。


本文转载自才云 Caicloud 公众号。


原文链接:https://mp.weixin.qq.com/s/Ih_YKgvanMS1zcx9RWkIgQ


2020-03-13 17:26805

评论

发布
暂无评论
发现更多内容

OpenMLDB 开源一周年,感恩遇见

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

谈谈产品如何定位

产品海豚湾

产品经理 产品定位 商业洞察 10月月更 SaaS 产品

【Meetup 明天见】OpenMLDB+37手游:一键查收特征计算场景案例及进阶使用攻略

第四范式开发者社区

人工智能 数据库 开源 时序数据库

深入理解Kubernetes Pod调试

俞凡

最佳实践 云原生

秋招Java面试大纲:Java+并发+spring+数据库+Redis+JVM+Netty等

Geek_0c76c3

Java 数据库 开源 程序员 开发

决策 AI:以高效落地为目标的工程技术

第四范式开发者社区

机器学习 数据库 时序数据库 特征

究竟都是谁在使用?OpenMLDB 落地案例大起底

第四范式开发者社区

人工智能 数据库 开源 时序数据库 特征

OpenMLDB 进阶使用攻略和高级特性介绍

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

OpenMLDB+Byzer,SQL 也能玩转机器学习全流程

第四范式开发者社区

机器学习 数据库 开源 时序数据库 特征

专访 | 许伟 ——贡献榜 Top4 也只是“开源小白”

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

贡献者任务第五期,炫酷登场!

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

OpenMLDB v0.6.0 发布 | 便捷性、可用性大幅提升!

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

AICon 2022 | 来杭州和 OpenMLDB 见面吧

第四范式开发者社区

人工智能 机器学习 数据库 时序数据库 特征

刘奇:能否掌控复杂性,决定着分布式数据库的生死存亡

TiDB 社区干货传送门

数据库前沿趋势

打造友邻式多元生态,支撑工商银行、平安科技、中国人寿财险、杭州银行的创新实践

TiDB 社区干货传送门

数据库前沿趋势

首届第四范式 Tech Day 回顾

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

OpenMLDB Meetup No.6 回顾 | OpenMLDB+37手游:一键查收特征计算场景案例及进阶使用攻略

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

开源星「001号」落地 OpenMLDB,欢迎登陆赢神秘大礼包!

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

Redis--Redis集群、缓存穿透、缓存击穿、缓存雪崩

Java学术趴

10月月更

活动紧急插播 | QCon 全球软件开发者大会早班车连线分享

第四范式开发者社区

人工智能 数据库 开源 时序数据库 特征

深度解密 OpenMLDB 毫秒级实时在线特征计算引擎

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

直播预告 | 第四范式Tech Day火热来袭,OpenMLDB 与你 8月11日线上见

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

如何选择架构中的底层工具?OpenMLDB 在 Akulaku 数据驱动中的应用实践给你答案

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

直冲云霄,阿里大牛耗时49天整理12W字面试手册,押题准确率直冲95%

Geek_0c76c3

Java 数据库 开源 程序员 开发

专访 | 赵沁雪:参与开源,不是一个人的战斗

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

阿里最新产物:亿级流量高并发系统设计(全彩版小册开源)

Java全栈架构师

程序员 程序人生 系统架构 中间件 java面试

TiDB 数据冷热存储分离测试

TiDB 社区干货传送门

实践案例 管理与运维 新版本/特性解读 数据库架构设计

拼搏一周!刷了1000道Java高频面试题喜提阿里offer,定级P7

Geek_0c76c3

Java 数据库 开源 程序员 架构

OpenMLDB Airflow Connector:让 MLOps 工作流更自由

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

TiKV缩容下线异常处理的三板斧

TiDB 社区干货传送门

实践案例 管理与运维 故障排查/诊断 扩/缩容

倒数三天 | WAIC 滴水湖 AI 开发者创新论坛:当数据库遇上 AI 来啦!

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

Kubernetes 1.2新功能解析:使用Deployment_语言 & 开发_才云科技_InfoQ精选文章