无状态应用管理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.rhkb.cn/news/246007.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024亚马逊开店教程:开店准备与注册流程指南

随着新一年的到来,亚马逊开启了新一轮的卖家入驻,并且针对新卖家优化了入驻流程,下面为大家简单整理一下最新亚马逊入驻教程,有想要入驻开店的小伙伴速速看过来! 一、开店前准备 1、账号环境准备 为了防止账号由于网…

k8s实例

k8s实例举例 (1)Kubernetes 区域可采用 Kubeadm 方式进行安装。 (2)要求在 Kubernetes 环境中,通过yaml文件的方式,创建2个Nginx Pod分别放置在两个不同的节点上,Pod使用动态PV类型的存储卷挂载…

Python 数据分析实战——为什么销售额减少?酒卷隆治_案例1

# 为什么黑猫游戏的销售额会减少? # 数据集 DAU : 每天至少来访问一次的用户数据 数据内容 数据类型 字段名 访问时间 string(字符串) log_data 应用名称 string(字符串) app_name 用户 ID int(数值&…

使用代码取大量2*2像素图片各通道均值,存于Excel文件中。

任务是取下图RGB各个通道的均值及标签(R, G,B,Label),其中标签由图片存放的文件夹标识。由于2*2像素图片较多,所以将结果放置于Excel表格中,之后使用SVM对他们进行分类。 from PIL import Image import os …

C++(搜索二叉树)

目录 前言: 1.二叉搜索树 1.1二叉搜索树的定义 1.2二叉搜索树的特点 2.二叉搜索树的实现 2.1框架 2.2查找 2.3插入 2.4删除 1.右子树为空 2.左子树为空 3.左右都不为空 3.递归版本 3.1前序遍历 3.2中序遍历 3.3后续遍历 3.4查找(递…

智能分析网关V4智慧机房:视频AI智能安全监管方案

一、背景分析 随着互联网的迅猛发展,机房及其配套设施的数量持续攀升,它们的运行状况对于企业运营效率和服务质量的影响日益显著。作为企业信息化的基石,机房的安全监测与管理的重要性不容忽视。它不仅关乎企业的稳定运营,同时也直…

Linux编译器-gcc/g++

文章目录 前言预处理头文件展开条件编译 编译汇编链接 函数库静态库动态库 gcc选项 前言 gcc/g是Linux中的编译器,vim是Linux中的编辑器。要想将代码运行起来还需要编译才可实现。 本篇文章,主要通过预处理、编译、汇编、链接来介绍gcc/g。 预处理 预…

8.6 代理设计模式

文章目录 一、代理模式(Proxy Pattern)概述二、代理模式和观察者设计模式三、模式结构四、协作角色五、实现策略六、相关模式七、示例八、应用 一、代理模式(Proxy Pattern)概述 代理模式是一种设计模式,它通过引入一个…

【Unity学习笔记】第十一 · 动画基础(Animation、状态机、root motion、bake into pose、blendTree、大量案例)

转载引用请注明出处:🔗https://blog.csdn.net/weixin_44013533/article/details/132081959 作者:CSDN|Ringleader| 如果本文对你有帮助,不妨点赞收藏关注一下,你的鼓励是我前进最大的动力!ヾ(≧▽≦*)o 主…

AI编译器的后端优化策略

背景 工作领域是AI芯片工具链相关,很多相关知识的概念都是跟着项目成长建立起来,但是比较整个技术体系在脑海中都不太系统,比如项目参与中涉及到了很多AI编译器开发相关内容,东西比较零碎,工作中也没有太多时间去做复盘…

【GitHub项目推荐--不错的Flutter项目】【转载】

01 可定制的图表库 FL Chart是一个高度可定制的 Flutter 图表库,支持折线图、条形图、饼图、散点图和雷达图 。 项目地址:https://github.com/imaNNeoFighT/fl_chart LineChart BarChart PieChart Sample1 Sample2 Sample3 …

element-ui 树形控件 通过点击某个节点,遍历获取上级的所有父节点和本身节点

1、需求&#xff1a;点击树形控件的某个节点&#xff0c;需要拿到它上级的所有父节点进行操作 2、代码&#xff1a; 树形控件代码 <el-tree:data"deptOptions"node-click"getVisitCheckedNodes"ref"target_tree_Speech"node-key"id&qu…

勤学苦练“prompts“,如沐春风“CodeArts Snap“

前言 CodeArts Snap 上手一段时间了&#xff0c;对编程很有帮助。但是&#xff0c;感觉代码编写的不尽人意。 我因此也感到困惑&#xff0c;想要一份完整的 CodeArts Snap 手册看看。 就在我感觉仿佛"独自彷徨在这条悠长、悠长又寂寥的雨巷"时&#xff0c;我听了大…

JVM系列-7内存调优

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱吃芝士的土豆倪&#xff0c;24届校招生Java选手&#xff0c;很高兴认识大家&#x1f4d5;系列专栏&#xff1a;Spring原理、JUC原理、Kafka原理、分布式技术原理、数据库技术、JVM原理&#x1f525;如果感觉博主的文…

【学网攻】 第(10)节 -- 路由器单臂路由配置

系列文章目录 目录 系列文章目录 文章目录 前言 一、单臂路由是什么&#xff1f; 二、实验 1.引入 实验拓扑图 PC配置 Sw配置 Router配置 实验验证 总结 文章目录 【学网攻】 第(1)节 -- 认识网络【学网攻】 第(2)节 -- 交换机认识及使用【学网攻】 第(3)节 -- 交…

Windows打开IE浏览器命令最简单的方法

问题场景&#xff1a; 许多插件或特定版本的系统需要使用ie浏览器来访问&#xff0c;window默认的ie浏览器是被禁用的如何快速打开ie浏览器解决问题 目录 问题场景&#xff1a; 测试环境&#xff1a; 检查环境是否支持&#xff1a; 问题解决&#xff1a; 方法一 方法二 方法…

IO多路复用-epoll

IO多路复用-epoll 1. 概述 epoll 全称 eventpoll&#xff0c;是 linux 内核实现IO多路转接/复用&#xff08;IO multiplexing&#xff09;的一个实现。 epoll是select和poll的升级版&#xff0c;相较于这两个前辈&#xff0c;epoll改进了工作方式&#xff0c;因此它更加高效…

docker之部署青龙面板

青龙面板是一个用于管理和监控 Linux 服务器的工具&#xff0c;具有定时运行脚本任务的功能。在实际情况下也可以用于一些定期自动签到等任务脚本的运行。 本次记录下简单的安装与使用&#xff0c;请提前安装好docker&#xff0c;参考之前的文章。 一、安装部署 1、拉取镜像 # …

MySQL Connect

文章目录 前言一、Connector/C使用1、下载MySQL连接所需库第一种方法第二种方法 2、MySQL库链接3、MySQL接口介绍连接执行sql语句执行查询语句 前言 一、Connector/C使用 MySQL数据库的基础知识我们前面已经学习了&#xff0c;下面我们就开始学习怎么将MySQL数据库和我们学习的…

代码随想录算法刷题训练营day16

代码随想录算法刷题训练营day16&#xff1a;LeetCode(104)二叉树的最大深度 、LeetCode(559)n叉树的最大深度、LeetCode(111)二叉树的最小深度、LeetCode(222)完全二叉树的节点个数 LeetCode(104)二叉树的最大深度 题目 代码 /*** Definition for a binary tree node.* publ…