无状态应用管理Deployment

无状态应用管理Deployment

1、Deployment介绍

Deployment一般用于部署公司的无状态服务。

格式:

apiVersion: apps/v1

kind: Deployment

metadata:

    name: nginx-deployment

    labels:

       app: nginx

spec:

    replicas: 3

    selector:

        matchLabels:

            app: nginx

template:

    metadata:

          labels:

              app: nginx

    spec:

        containers:

        - name: nginx

          image: nginx:1.15

          ports:

          - containerPort: 80

注:从Kubernetes 1.16版本开始,彻底废弃了其他的APIVersion,只能使用apps/v11.16以下的版本可以使用extension等。

  1. metadata.name:Deployment的名称,例如:nginx-deployment
  2. metadata.labels.app:Deployment的标签,例如:nginx
  3. spec.replicasDeployment的副本数量,例如:3
  4. spec.selector.matchLabels.app:Deployment管理的pod,与metadata.labels.app 对应,apiVersionapps/v1必须指定该字段
  5. template.metadata.labels.app定义Pod的标签,例如:nginx
  6. template.spec.containers.name定义Pod运行的容器名称,例如:nginx
  7. template.spec.containers.image定义Pod使用的镜像,例如:nginx:1.15

8)template.spec.containers.ports.containerPort定义Pod用于发送和接收流量的端口例如:80

2、创建Deployment

使用kubectl create创建Deployment

3、查看Deployment

是用kubectl get deployment(简写deploy)

NAME:Deployment的名称;

READY:Pod就绪个数和总副本数;

UP-TO-DATE:显示已达到期望状态的被更新的副本数;

AVAILABLE: 显示用户可以使用的应用程序副本数当前为3,说明目前达到望的Pod;

AGE:显示应用程序运行的时间。

3.1 查看当前Deployment对应的ReplicaSet

kubectl get rs -l app=nginx

3.2 查看Deployment创建的Pod

kubectl get pods

3.3 查看pod 节点信息

kubectl get pods -owide

4、更新Deployment

注意:当且仅当Deployment的Pod模板(即.spec.template)更改时,才会触发Deployment更新,例如更改内存、CPU配置或者容器的image。

假如更新nginx Pod的image使用nginx:latest,并使用--record记录当前更改的参数,后期回滚时可以查看到对应的信息:

kubectl set image deployment nginx nginx=registry.cn-shenzhen.aliyuncs.com/zhouwb/nginx --record

describe查看Deployment的详细信息:

kubectl describe deploy nginx

5、回滚Deployment

当更新了版本不稳定或配置不合理时,可以对其进行回滚操作,假设我们又进行了几次更新(此处以更新镜像版本触发更新,更改配置效果类似):

kubectl set image deployment nginx nginx=registry.cn-shenzhen.aliyuncs.com/zhouwb/nginx:latest --record

kubectl set image deployment nginx nginx=registry.cn-shenzhen.aliyuncs.com/zhouwb/nginx:1.15  --record

使用kubectl rollout history查看更新历史:

 kubectl rollout history deployment nginx

如果只需要回滚到上一个稳定版本,使用kubectl rollout undo即可:

如果要回滚到指定版本,使用--to-revision参数:

kubectl rollout undo deployment nginx --to-revision=4

6扩容Deployment

当公司访问量变大,或者有预期内的活动时,三个Pod可能已无法支撑业务时,可以提前对其进行扩展。

使用kubectl scale动态调整Pod的副本数,比如增加Pod5个:

kubectl scale deployment nginx --replicas=5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/351256.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

windows定时任务的查看、取消、启动和创建

一、查看 Windows 自动执行的指令 1.使用任务计划程序:任务计划程序是 Windows 内置的工具,可以用于创建、编辑和管理计划任务。您可以按照以下步骤查看已设置的计划任务: 1.1 按下 Win R 键,然后输入 “taskschd.msc”&#xff…

网络变压器的工作原理

Hqst华强盛导读:网络变压器是一种用于变换电压的电气设备,其工作原理基于电磁感应定律。网络变压器通常由两个或多个线圈和一个共同的铁芯组成。 当网络变压器的输入端施加一个交流电压时,主线圈中的电流会产生一个交变磁场。这个磁场会穿过铁…

1.26学习总结

连通性判断 DFS连通性判断步骤: 1.从图上任意一点u开始遍历,标记u已经走过 2.递归u的所有符合连通条件的邻居点 3.递归结束,找到了的所有与u的连通点,就是一个连通块 4.然后重复这个步骤找到所有的连通块 BFS连通性判断步骤…

SQL查询数据库环境(dm8达梦数据库)

SQL查询数据库环境dm8达梦数据库 环境介绍 环境介绍 某些环境没有图形化界面,可以使用sql语句查询达梦数据库环境情况 SELECT 实例名称 数据库选项,INSTANCE_NAME 数据库选项相关参数值 FROM V$INSTANCE UNION ALL SELECT 授权用户,(SELECT AUTHORIZED_CUSTOMER FROM V$LICE…

Kafka-服务端-PartitionStateMachine

PartitionStateMachine是Controller Leader用于维护分区状态的状态机。分区的状态是通过PartitionState接口定义的,它有四个子类分别代表了分区四种可能的状态,如表所示。 分区各个PartitionState之间的转换如图所示。 下面分析各个状态之间转换时&#…

梯度下降法、模拟训练、拟合二次曲线、最小二乘法、MSELoss、拟合:f(x)=ax^2+bx+c

本文目标: 以这个公式为例,设计一个算法,用梯度下降法来模拟训练过程,最终得出参数a,b,c 原理介绍 目标函数: 损失函数:,就是mse 损失函数展开: 损失函数对a,b,c求导数: 导数就是梯度…

JavaScript高级:闭包

1 概念 一个函数对周围状态的引用,捆绑在一起,内层函数中可以访问到外层函数的作用域。 简单理解:闭包 内层函数 外层函数的变量 先看个简单的代码: function outer() {let a 1function inner() {console.log(a)} } outer(…

tee漏洞学习-翻译-1:从任何上下文中获取 TrustZone 内核中的任意代码执行

原文:http://bits-please.blogspot.com/2015/03/getting-arbitrary-code-execution-in.html 目标是什么? 这将是一系列博客文章,详细介绍我发现的一系列漏洞,这些漏洞将使我们能够将任何用户的权限提升到所有用户的最高权限 - 在…

重磅!讯飞星火V3.5马上发布!AI写作、AI编程、AI绘画等功能全面提升!

讯飞星火大模型相信很多友友已经不陌生了,可以说是国内GPT相关领域的龙头标杆,而对于1月30日即将在讯飞星火发布会发出的V3.5新版本来说,讯飞星火V3.5与之前版本相比,性能提升方面相当明显,在提示语义理解、内容生成、…

Java项目:15 springboot vue的智慧养老手表管理系统

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 本系统共分为两个角色:家长,养老院管理员 框架:springboot、mybatis、vue 数据库:mysql 5.7&…

【幻兽帕鲁】开服务器,高性能高带宽(100mbps),免费!!!【学生党强推】

【幻兽帕鲁】开服务器,高性能高带宽(100mbps),免费!!!【学生党强推】 教程相关视频地址:https://www.bilibili.com/video/BV16e411Y7Fd/ 目前幻兽帕鲁开服务器有以下几套比较性价比的…

【计算机图形学】实验五 一个简单的交互式绘图系统(实验报告分析+截图+源码)

可以先看一看这篇呀~【计算机图形学】专栏前言-CSDN博客https://blog.csdn.net/m0_55931547/article/details/135863062 目录 一、实验目的 二、实验内容

docker-compose部署单机ES+Kibana

记录部署的操作步骤 准备工作编写docker-compose.yml启动服务验证部署结果 本次elasticsearch和kibana版本为8.2.2 使用环境:centos7.9 本次记录还包括:安装elasticsearch中文分词插件和拼音分词插件 准备工作 1、创建目录和填写配置 mkdir /home/es/s…

杰理方案——WIFI连接物联网配置阿里云操作步骤

demo——DevKitBoard 注意:最好用这个Demo,其它Demo可能会有莫名其妙的错误问题。 wifi配置 需要在app_config.h文件中定义USE_DEMO_WIFI_TEST,工程会在wifi_demo_task.c文件中自动启动wifi相关的任务, 我们将工程配置为连接外部网络STA模式 默认工程会使用如下账号密码 这…

go slice 基本用法

slice(切片)是 go 里面非常常用的一种数据结构,它代表了一个变长的序列,序列中的每个元素都有相同的数据类型。 一个 slice 类型一般写作 []T,其中 T 代表 slice 中元素的类型;slice 的语法和数组很像&…

一款强大的矢量图形设计软件:Adobe Illustrator 2023 (AI2023)软件介绍

Adobe Illustrator 2023 (AI2023) 是一款强大的矢量图形设计软件,为设计师提供了无限创意和畅行无阻的设计体验。AI2023具备丰富的功能和工具,让用户可以轻松创建精美的矢量图形、插图、徽标和其他设计作品。 AI2023在界面和用户体验方面进行了全面升级…

python-自动化篇-运维-监控-简单实例-道出如何使⽤Python进⾏网络监控?

如何使⽤Python进⾏⽹络监控? 使⽤Python进⾏⽹络监控可以帮助实时监视⽹络设备、流量和服务的状态,以便及时识别和解决问题。 以下是⼀般步骤,说明如何使⽤Python进⾏⽹络监控: 选择监控⼯具和库:选择适合⽹络监控需…

网络防御——NET实验

一、实验拓扑 二、实验要求 1、生产区在工作时间(9:00---18:00)内可以访问服务区,仅可以访问http服务器; 2、办公区全天可以访问服务器区,其中,10.0.2.20可以访问FTP服务器和HTTP服…

OSI七层模型 | TCP/IP模型 | 网络和操作系统的联系 | 网络通信的宏观流程

文章目录 1.OSI七层模型2.TCP/IP五层(或四层)模型3.网络通信的宏观流程3.1.同网段通信3.2.跨网段通信 1.OSI七层模型 在计算机通信诞生之初,不同的厂商都生产自己的设备,都有自己的网络通讯标准,导致了不同厂家之间各种协议不兼容&#xff0…

Oracle篇—分区索引的重建和管理(第三篇,总共五篇)

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…
最新文章