在K8s中,“deployment”的角色和功能

简介: 总的来说,Kubernetes中的Deployment就像一位尽职的舞台指挥,默默察看、控制我们的Pods,确保它们在变化的环境中始终保持最佳状态,从而让我们的应用程序可以稳定运行。

在 Kubernetes(K8s)世界中,形象地说,"Deployment"就像一位指挥家,在后台精心安排并确保所指挥的"乐团"(也就是对应的Pods)不仅演奏出美妙的旋律(持续提供服务),还要保证乐团的规模(即Pods的数量)和表演质量(即服务的稳定性)

Deployment的核心职责是管理Pods的生命周期,以确保应用程序具有弹性和可用性。它通过在K8s集群上运行并维护一组副本的方式,实现了这些服务的自动缩放,更新,回滚等功能。

  1. 温度调控器般的弹性: Deployment可以相当于一个温度调控器,在夏日炎炎时,调高冷气,而冬天寒冷时,提供温暖。在K8s环境下,这就是自动扩展或缩减Pods的数量,恰如其分地应对服务需求增多或减少的变化。当流量激增时,Deployment会自动增加更多的Pod副本,保证服务的正常运行。反之,如果需求下降,那么Deployment也会相应地减少Pod副本,优化资源使用。
  2. 风调雨顺的更新: Deployment 善于处理“风调雨顺”的更新任务。假设一位开发者发布了一个新的应用版本,Deployment就会逐个替换旧的Pods,在此过程中,它会保持服务的正常运行,使得用户并不会感知到更新发生。如果遇到问题,Deployment还可以回滚到之前的版本,也就像时光倒流,将状态回滚到更新前那一刻。
  3. 广阔星辰的分布: Deployment 知道在“宇宙航行”中怎样保证稳定。它会对Pods进行负载均衡,使得负载可以在各个副本之间合理分配。并且,即使某个节点出现问题,它也会自动迁移Pods到其他节点,保证服务不会因单点故障而中断。

Deployment背后的策略和强大特性,来自于其对ReplicaSets的管理。ReplicaSets则确保在任何时刻都有一定数量的Pod副本正在运行。而Deployment带来了更高级别的抽象,允许用户执行无中断服务的滚动更新,以及版本的回滚操作。

既然Deployment是一种对象类型,自然,你可以用YAML或JSON格式来描述它。在定义文件中,你需要明确Deployment要观察哪个Pod,这是通过标签选择器实现的;并给出相应Pod的副本数量,这就是Deployment的目标状态,即你希望目标Pod的数量是多少。

生动有趣地对比,Pods就像乖巧的小猫咪,而Deployment则是照看它们的“猫咪饲养员”。Deployment会确保有足够数量的小猫咪在玩耍,也会喂它们最新鲜的食物(也就是应用的更新)。如果某些小猫病了(Pod不可用),它也会立即找到新的小猫来取代它,始终保证乖巧的小猫咪在玩耍。

总的来说,Kubernetes中的Deployment就像一位尽职的舞台指挥,默默察看、控制我们的Pods,确保它们在变化的环境中始终保持最佳状态,从而让我们的应用程序可以稳定运行。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
12月前
|
Kubernetes 负载均衡 应用服务中间件
k8s学习-Ingress(安装、模板、创建、删除)
k8s学习-Ingress(安装、模板、创建、删除)
351 0
|
10月前
|
前端开发 NoSQL 中间件
rbac基于用户角色的权限管理
rbac - 基于角色的权限管理,介绍了acl(访问权限列表)基于用户的权限管理,rbac基于角色的权限管理。
rbac基于用户角色的权限管理
|
9月前
|
Kubernetes 容器 Perl
在k8S中,deployment升级策略是什么?
在k8S中,deployment升级策略是什么?
|
12月前
|
Kubernetes API 数据安全/隐私保护
k8s学习-基于角色的权限控制RBAC(概念,模版,创建,删除等)
k8s学习-基于角色的权限控制RBAC(概念,模版,创建,删除等)
321 0
|
存储 Kubernetes 数据安全/隐私保护
kubernetes dashboard 2.0版本安装及RBAC授权
kubernetes dashboard 2.0版本安装及RBAC授权
|
Kubernetes 应用服务中间件 API
k8s--deployment 控制器、扩缩容、升级策略
k8s--deployment 控制器、扩缩容、升级策略
|
安全 数据可视化 测试技术
Elastic:集群相关知识点总结(二)集群安全security,角色用户基础权限控制RBAC
集群的安全管理对于生产环境来说不可或缺,接下来我们来看看最基础集群安全配置是如何设置的。
265 0
Elastic:集群相关知识点总结(二)集群安全security,角色用户基础权限控制RBAC
ACK注册集群agent组件的RBAC权限设置
ACK注册集群agent组件的RBAC权限设置
354 0
|
Kubernetes 应用服务中间件 API
K8S 集群核心概念 Controller_使用资源清单文件创建 Deployment 控制器类型应用 | 学习笔记
快速学习 K8S 集群核心概念 Controller_使用资源清单文件创建 Deployment 控制器类型应用
122 0
|
安全 Java
Power Apps配置安全角色和对象权限
Power Apps配置安全角色和对象权限
528 0
Power Apps配置安全角色和对象权限
OSZAR »