K8s: 控制器之Deployment对象

K8S学习指南(12)-k8s核心对象Deployment Kubernetes(K8s)作为一个强大的容器编排平台,提供了许多核心对象来简化和自动化容器化应用的部署和管理。其中,Deployment是一个关键的概念,它为应用提供了声明式的方式来定义、更新和管理应用的部署。本文将深入探讨Kubernetes中的核心对象Deployment,包括它的基本概念、使用场景以及详细的示例。Deployment是Kubernetes中用于定义Pod副本集的对象,它负责管理应用的部署和更新。通过Deployment,可以实现应用的滚动更新、回滚以及自动修复。 阅读详情

Deployment 对象


1 )概述

  • 为什么大家都用Deployment,不直接用Pod,不直接用 Replica Set
  • 因为deployment就是专门像一个管理员一样,专门来管这些散落在各处的各种各样的Pod
  • Deployment不仅会管Pod,还会管Replica Set
  • 只要负责描述Deployment目标中的目标状态,然后Deployment就可以根据你的目标去改变实际的状态,使它变成一个你期望的一个状态
  • Deployment的概念非常简单,就是一个控制器,这也是K8s里面为了管理Pod, 专门设计出来的这么一个对象
  • 创建Deployment,然后让 Replica Set 后台创建 pod, 也就是 Deployment 和 Pod 中间有一个 Replica Set
  • 而中间的这个 Replica Set 才是真正管理副本的控制器,而 Deployment 是管理这个 Replica Set
  • Deployment它有一个很大的典型场景,就是承担更多的负载,只需要修改 里面的Replica Set副本数量即可完成

2 )应用

  • 创建 dep-repset.yaml

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: dep-repset-nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: dep-repset-nginx
      template:
        metadata:
          name: dep-repset-nginx
          labels:
            app: dep-repset-nginx
        spec:
          containers:
          - name: dep-repset-nginx
            image: nginx
            resources:
              limits:
                memory: '64Mi'
                cpu: '100m'
            ports:
            - containerPort: 80
    
  • $ kubectl apply -f dep-repset.yaml 创建 Development

    deployment.apps/dep-repset-nginx created
    
  • $ kubectl get all 获取全部

    NAME                                    READY   STATUS    RESTARTS   AGE
    pod/dep-repset-nginx-65d94b6698-tt9tz   1/1     Running   0          45s
    pod/dep-repset-nginx-65d94b6698-xnnjt   1/1     Running   0          45s
    
    NAME                 TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
    service/kubernetes   ClusterIP   10.1.0.1     <none>        443/TCP   6d
    
    NAME                               READY   UP-TO-DATE   AVAILABLE   AGE
    deployment.apps/dep-repset-nginx   2/2     2            2           45s
    
    NAME                                          DESIRED   CURRENT   READY   AGE
    replicaset.apps/dep-repset-nginx-65d94b6698   2         2         2       45s
    
  • 可以看到上面自动创建了 Replica Set 而且数量是2个

  • 在实际场景中,单个web服务器并发连接数大概是1000会话左右, 超过就会排队

  • 所以,超过这个数量会话就需要对其调优,性能达到瓶颈,后面请求就会排队

  • 现在我们对其配额进行调整,将数量2修改为3, 现在先准备环境

    • 原来的窗口中运行 $ kubectl get po -w 命名为窗口A,目的是监控
    • 新增一个窗口运行进行修改, 命名为窗口B
      • $ vi dep-repset.yaml 修改 replicas: 2 为 replicas: 3
      • $ kubectl apply -f dep-repset.yaml 重新应用
        deployment.apps/dep-repset-nginx configured
        
    • 发现,窗口B中执行apply的一瞬间,在窗口A中监控中新增了一个pod
      • 这个新pod的状态,从: Pending => ContainerCreating => Running 三个状态的转变
      • 在窗口B中执行 $ kubectl get po 发现变成了3个pod
  • 以上,基于Deployment对象,实现pod的水平扩容,等某个流量日过了,再修改回来

  • 这就是 K8s 强大的地方,动态的扩容和缩容,实现一个弹性的网络

  • 对于企业来讲,节约资源,节省成本

Kuberntes云原生实战10 Kubernetes四大核心组件介绍 大家好,我是飘渺,今天咱们继续更新系列,欢迎持续关注。Kubernetes是很复杂的,对于我们这些应用开发者来说,开始时需要先抓住关键对象。一旦掌握了一些的概念,我们也就差不多可以高效的使用Kubernetes了。Kubernetes定义了许多类型的对象,从开发人员的角度来看,最重要、使用最频繁的组件有四个,分别是Pod、Deployment、Service、ConfigMap。 阅读详情

相关推荐

ENVI水体提取流程实践与问题

ENVI水体提取流程实践与问题 卫片解译中,水体属于比较好判别的一类。有水体指数、阈值法、监督分类等一系列方法进行提取,今天介绍利用水体指数和ENVI提取水体的过程。 1.所用数据 Landsat8卫片1景、ENVI5.3。 2.辐射定标与水陆分离 由于要对卫片进行水体指数的计算,因此需要对数据进行辐射定标以及大气校正的预处理。 辐射定标就是将图像的数字量化值(DN)转化为辐射亮度值或者反射率或者表面温度等物理量的处理过程。在工具栏中搜索Radiometric Correction,点开进行辐射定标。

Soul_taker的博客 4万+

【Kubernetes】第六篇 - Deployment 部署对象

上一篇,介绍了 k8s 的两种部署:直接部署和 yaml 配置文件部署;本篇,介绍 Deployment 部署对象;服务配置内网IP外网IP说明ci-server2c4gk8s-master2c4g47.93.9.45k8s-node2c1gdeployment 部署,一个部署可以管理多个 Pod;使用 deployment 部署对象,能够实现多个 Pod 实例的批量启动和管理;

BraveWangDev 1058

手把手教你搞定爱思唯尔LaTeX投稿:从模板到PDF生成的全流程避坑指南

本文详细介绍了使用LaTeX投稿爱思唯尔期刊的全流程避坑指南,包括模板选择、文件结构规范、投稿系统文件上传策略、PDF生成与检查等关键步骤。特别强调了避免常见错误如宏包冲突、图片丢失和参考文献问题,并提供了投稿后的应急方案和高阶自动化校验脚本,帮助研究者顺利完成投稿。

weixin_42525289的博客 512

K8S对象-Deployment

1. 概念 1.1 作用 1.2 实际应用 1.3 比较 2. 完整示例 2.1 deployment 的yml文件 2.2 需要的相关对象

架构+开发+运维 397

离合器KP点自学习:从原理到工程实践的全景解析

本文全面解析了离合器KP点自学习的原理与工程实践,详细介绍了KP点的物理本质、控制价值及自学习方法。通过扭矩增量式和转速变化式学习法,结合不同变速箱构型的适配策略,提升离合器控制的精度与效率。文章还探讨了液压系统迟滞补偿和摩擦材料老化应对方案,为工程实践提供可靠保障。

weixin_33717117的博客 289

LabVIEW Modbus TCP通信避坑指南:解决连接中断、服务器异常与自动重连问题

本文详细解析了LabVIEW环境下Modbus TCP通信的常见问题,包括连接中断、服务器异常等,并提供了自动重连机制的实现方案。通过优化错误处理、超时参数和资源管理,帮助开发者构建更稳定的工业级Modbus TCP客户端,显著提升通信可靠性。

weixin_42525211的博客 425

K8S网络管理

这一节,我们从 资源实践、NodePort实践、小结 三个方面来学习。这一节,我们从 模型解读、类型解读、小结 三个方面来学习。这一节,我们从 基础知识、简单实践、小结 三个方面来学习。这一节,我们从 场景需求、域名测试、小结 三个方面来学习。这一节,我们从 基础知识、简单实践、小结 三个方面来学习。这一节,我们从 基础知识、简单实践、小结 三个方面来学习。这一节,我们从 存储原理、方案解读、小结 三个方面来学习。这一节,我们从 配置解读、简单实践、小结 三个方面来学习。pod资源对象的解析记录。

m0_46690280的博客 883

Vitis Model Composer闪退?手把手教你用命令行启动Vivado 2021后的System Generator

本文详细解析了Vitis Model Composer闪退问题的根本原因,并提供了命令行启动Vivado 2021后System Generator的完整解决方案。从环境变量配置、组件缺失排查到权限问题处理,手把手教你通过命令行深度排错,并分享高级自动化脚本和系统优化技巧,帮助开发者高效使用Vitis Model Composer与System Generator进行HDL开发。

weixin_26905487的博客 349

k8s之Deployment篇

Deployment是kubernetes中最常用的资源对象,为ReplicaSet和Pod的创建提供了一种声明式的定义方法,在Deployment对象中描述一个期望的状态,Deployment控制器就会按照一定的控制速率把实际状态改成期望状态,通过定义一个Deployment控制器会创建一个新的ReplicaSet控制器,通过ReplicaSet创建pod,删除Deployment控制器,也会删除Deployment控制器下对应的ReplicaSet控制器和pod资源....

weixin_51697758的博客 7505

Unity WebView 插件⭐️(十八)3D WebView 原生2D模式 — Native 2D Mode

Unity中的 浏览器插件:3D WebView,利用好该插件我们可以自己使用Unity打造出一个自定义的多样化浏览器。可以用于2D显示,也可以用于3D空间场景中使用,在PC端、手机端和VR设备等都可以有一个非常好的效果。一起来浏览器插件:3D WebView的专栏学习使用吧!

努力前行,总会成为自己心中的那道光 7642

【实战圣经】YOLOv8-pose姿态估计模型从训练到RK3588部署:让边缘端骨骼识别速度突破60FPS

本教程从“模型训练-转换-边缘部署”全链路拆解了YOLOv8-pose姿态估计方案在RK3588上的落地过程,每一步都经过实战验证。无论是智能健身的动作实时纠正,还是工业设备的关键部件姿态检测,这套流程都能让你以最低成本实现高精度、高实时性的姿态估计应用。如果你在实践中遇到模型转换报错、部署性能不达标等问题,可聚焦某一环节深入优化——毕竟,让AI在边缘端“精准捕捉每一个关键点”,才是技术驱动场景创新的核心。

m0_71589036的博客 251

K8s 中 Pod 和 Deployment 到底啥关系?搞不懂这俩,别说你玩转了 K8s

这篇文章深入浅出地解释了Kubernetes中Pod和Deployment的区别与联系。Pod是最小部署单元,负责运行容器但缺乏自愈能力;Deployment作为控制器管理Pod,提供自愈、滚动更新和扩缩容等核心功能。文章通过实用命令、架构图示和常见误区分析,帮助读者理解二者的层级关系(Deployment→ReplicaSet→Pod),并强调生产环境应始终使用Deployment部署应用。文中还包含版本差异提示(kubectl run行为变化)和进阶参数优化建议(progressDeadlineSeco

kguogao的博客 387

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

k8s基础知识

K8s 全称。Docker 是打包应用的工具(把程序 + 依赖打包成镜像);K8s 是调度、运维成千上万个 Docker 容器的管理系统。

m0_63243718的博客 386

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用

✅ **协作关系(典型工作流)**: 1. 用户定义 Deployment → 指定镜像、副本数、标签(如 `app: web`); 2. Deployment 创建 ReplicaSet → ReplicaSet 创建并维持带该标签的 Pod; 3. 用户定义 Service → 设置相同标签选择器(`selector: {app: web}`)→ 自动发现并纳入所有匹配的 Pod; 4. 集群内其他组件(或外部请求)通过 Service 的稳定 VIP(如 `http://web-svc

[Blog][Domain] programb.blog.youkuaiyun.com 87

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

K8s核心组件详解

Service(通常是 ClusterIP 或 NodePort 类型)负责将流量路由到 Pod,而 Ingress 则作为更上层的入口,根据规则将外部请求路由到不同的后端 Service。| 存储非机密的、键值对形式的配置数据,如配置文件、环境变量、命令行参数。:确认 Pod 请求的资源未超过 Namespace 的 ResourceQuota 或 Node 的可用资源。1. ConfigMap 和 Secret 的作用与区别| 对象 | 用途 | 数据格式 | 安全性 |与 Service 的关系?

zyl128905的博客 199

K8s ❉ 资源对象

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可以移植的镜像中,然后发布到任意系统中,实现虚拟化; 一个完整的Docker由四个部分组成: Client客户端 Daemon守护进程 Image镜像 Container容器 Docker有着比虚拟机更少的抽象层,由于Docker不需要Hypervisor实现硬件资源虚拟化,运行在Docker容器上的程序直接使用宿主机的硬件资源,因此在资源的占用上Docker有明显的优势; ...

wangjie72270的博客 960

k8s资源与对象-Label资源和Deployment资源

Kubernetes中的Label是用于标识和选择资源对象的重要机制,以key/value键值对形式附加到Node、Pod等对象上。Label支持动态添加/删除,可实现多维度资源分组管理。常见Label包括版本、环境、架构等标签。

sanyii313131的博客 650

5分钟全面认识 K8s:Deployment 详解

*

weixin_66406396的博客 261

Kubernetes k8s概念介绍(工作节点Node、Pod最小调度单元、ReplicaSet副本集、StatefulSet有状态应用、Ingress入口、ConfigMap、PVC)k8s参数

Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用。它最初由 Google 开发,现由 CNCF(云原生计算基金会)维护。K8s 是管理容器集群的操作系统。调度(Scheduling):Pod 如何运行网络(Networking):服务如何访问存储(Storage):数据如何持久化控制(Control):如何保持期望状态Kubernetes 本质上是一个“声明式系统”:你只需要描述“你想要什么状态”,系统会自动帮你实现。

Dontla的博客 603

从零理解Kubernetes三大核心对象:Pod、Deployment、Service

本文系统介绍了Kubernetes核心组件及其工作原理。首先阐述了Pod作为最小部署单元的特性,包括其共享网络空间、生命周期管理和探针机制。然后详细讲解了Deployment如何通过ReplicaSet实现无状态应用的副本管理、滚动更新和回滚功能。接着分析了Service作为服务发现和负载均衡的关键组件,解释了其四种类型及工作原理。文章还深入探讨了Kubernetes扩展机制,包括CRI容器运行时接口、CNI网络插件标准和CSI存储接口规范。最后介绍了高级调度策略和ServiceMesh服务网格技术,为构建

油墨香^-^的博客 775

(2)k8s基础组件

k8s基础组件 1、组件架构 主要分为三大模块: a、master b、node c、addons(附加组件) 2、基础对象 如:Pod,Service,NameSpacke,Volume 3、控制器 控制器(Controllers)是一组建立在基础对象之上的抽象,提供更丰富的功能; 如:ReplicaSet,Deployment,DaemonSet,St...

zhangsq1319 335

从零理解 Kubernetes 三大核心对象:Pod、Deployment、Service

Kubernetes核心概念解析:Pod、Deployment与Service 本文系统介绍了Kubernetes三大核心对象及其协作关系。Pod作为最小部署单元,封装容器组实现资源共享;Deployment管理Pod生命周期,提供副本控制、滚动更新和自愈能力;Service为动态Pod提供稳定访问入口,实现负载均衡。三者协同构成应用部署的基础架构:Deployment确保指定数量的Pod运行,Service暴露统一访问点,通过标签选择器动态关联后端Pod。文章包含详细YAML示例、工作原理图解和实战演示,

油墨香^-^的博客 325

Kubernetes入门--20分钟了解设计架构和各个组件

Kubernetes采用典型的master-worker架构,集群由控制平面(Control Plane)和工作节点(Node)组成。控制平面包含kube-apiserver(API网关)、etcd(集群状态存储)、kube-scheduler(资源调度)和kube-controller-manager(资源管理)等核心组件,负责集群管理和状态维护。工作节点运行kubelet(Pod生命周期管理)、kube-proxy(网络代理)和容器运行时(如Docker),执行实际应用负载。

2301_78617751的博客 246

【infra之路】Kubernetes 核心概念详解:AI Infra 视角下的容器编排

Kubernetes 核心概念与 AI 应用实践摘要 Kubernetes(K8s)作为 AI 基础设施的核心组件,解决了 GPU 资源调度、工作负载管理和环境一致性问题。其架构分为控制平面(决策中心)和工作节点(执行单元),通过 API Server、etcd、调度器等组件协同工作。核心资源对象包括: Pod:最小部署单元,可包含多个共享资源的容器 Deployment:管理 Pod 副本与滚动更新 Service:提供稳定的网络访问入口 ConfigMap/Secret:实现配置与代码分离 Namesp

sweet_ran的博客 389

K8s问答题(二)

答案:Deployment控制器通过管理ReplicaSet控制器来工作,并向 Pod 提供声明式的更新以及许多其它有用的功能,常见的用途是不停机更新,在需要对应用进行维护与升级时,直接创造新的具有升级后应用的Pod,接入连接的用户,直到以前Pod里旧容器的用户全部退出时,将旧的容器进行销毁,就完成了不中断服务的更新。答案:ReplicaSet是复制集,可以生成多个Pod的副本,目的是维护一组在任何时候都处于运行状态的 Pod 副本的稳定集合,用来保证给定数量的,完全相同的Pod的可用性。

zl3488977451的博客 346
上一篇: K8s: 控制器之ReplicaSet对象
下一篇: K8s: 控制器之StatefulSets对象
Wang's Blog
博客等级 码龄12年 7433粉丝 2421原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wang's Blog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值