常见类型的yaml文件如何编写?--kind: Deployment

基本说明

Deployment 资源是 Kubernetes 重要的组成部分之一,通过指定 Deployment 中的 Pod 模板和副本数量,Kubernetes 可以自动地创建并管理一组具有相同配置的 Pod,这样即使某些 Pod 发生故障或需要升级,也可以轻松地进行控制和管理。

因此,当我们使用 kind: Deployment 时,YAML 文件中应该包括 spec 字段来定义 Deployment 中的 Pod 模板和副本数量,并可以通过 metadata 字段来为 Deployment 资源指定名称,标签和注释等元数据。

基本样例

apiVersion: apps/v1
kind: Deployment
metadata:name: my-deployment       # Deployment 的名称
spec:replicas: 3               # 希望创建的 Pod 副本数量selector:matchLabels:app: my-app           # 用于选择要控制的 Pod 的标签template:metadata:labels:app: my-app         # Pod 的标签spec:containers:- name: my-container  # 容器名称image: nginx:latest # 容器所使用的镜像ports:- containerPort: 80 # 容器暴露的端口号

样例说明

在这个示例中,包含了以下关键字:

  • apiVersion:指定要使用的 Kubernetes API 的版本。对于 Deployment 类型,通常使用 apps/v1
  • kind:指定对象类型为 Deployment。
  • metadata:用于提供对象的元数据,其中 name 字段指定了 Deployment 的名称。
  • spec:是 Deployment 对象的规格部分,用于定义 Deployment 的具体配置。
    • replicas:指定希望创建的 Pod 副本数量。
    • selector:定义用于选择要控制的 Pod 的标签。
    • template:定义 Pod 的模板,用于创建实际的 Pod 对象。
      • metadata:定义 Pod 的元数据部分,其中 labels 字段用于给 Pod 设置标签。
      • spec:定义 Pod 的规格部分,其中 containers 字段用于定义容器的配置。
        • name:指定容器的名称。
        • image:指定容器所使用的镜像。
        • ports:定义容器暴露的端口号。

扩展参数及举例说明

扩展关键字

Deployment YAML 文件还可以包含其他用于配置 Deployment 的关键字

  • strategy: 定义 Deployment 更新策略,如 rollingupdate 和 recreated,还可以指定 RollingUpdate 策略的参数,如 maxUnavailable 和 maxSurge。
  • minReadySeconds: 指定一个 Pod 从创建到被标记为 Ready 的最小等待时间。
  • revisionHistoryLimit: 定义 Deployment 可以保留的历史版本数。
  • paused: 设置 Deployment 是否暂停更新。
  • progressDeadlineSeconds: 设置 Deployment 更新的 Deadline。
  • template.metadata.annotations: 用于为模板 Pod 设置注释。
  • template.spec.nodeName: 用于设置 Pod 所在的节点名称。
  • template.spec.serviceAccountName: 用于指定 Pod 使用的 ServiceAccount 的名称。

使用 RollingUpdate 更新策略

apiVersion: apps/v1
kind: Deployment
metadata:name: my-deployment
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: nginx:latestports:- containerPort: 80strategy:type: RollingUpdaterollingUpdate:maxUnavailable: 1maxSurge: 1

在这个示例中,通过将 strategy.type 设置为 RollingUpdate,并分别设置 rollingUpdate.maxUnavailable 和 rollingUpdate.maxSurge 的值来定义滚动更新策略的参数。其中 maxUnavailable 指定允许的不可用 Pod 的最大数量,maxSurge 指定允许的超出副本数量的最大副本数。

暂停 Deployment 更新

apiVersion: apps/v1
kind: Deployment
metadata:name: my-deployment
spec:replicas: 3selector:matchLabels:app: my-apptemplate:metadata:labels:app: my-appspec:containers:- name: my-containerimage: nginx:latestports:- containerPort: 80paused: true

在这个示例中,通过将 paused 设置为 true,将 Deployment 的更新暂停。这对于暂时停止 Deployment 的更新,并保持某个特定版本的副本运行非常有用。

这些关键字可以根据你的需求进行调整和扩展。当你编写完 YAML 文件后,可以使用 kubectl apply -f <YAML文件路径> 命令将该文件应用到 Kubernetes 集群中,创建或更新 Deployment 对象。

 

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

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

相关文章

Linux中快速搭建RocketMQ测试环境

必要的文件下载 为什么选择RocketMQ | RocketMQ x86_64位JDK下载0jdk/8u391-b13 rocketmq二进制包下载-rocketmq-all-5.1.4-bin-release.zip 编译好的直接可用的dashboard【rocketmq-dashboard-1.0.0.jar】请在文章顶部下载 dashboard配套的配置文件【application.propert…

AI真正的Killer App 仍然缺席

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

汇编和C语言转换

C语言和汇编语言之间有什么区别 C语言和汇编语言之间存在显著的区别,主要体现在以下几个方面: 抽象层次: 汇编语言:更接近硬件的低级语言,通常与特定的处理器或指令集紧密相关。它提供了对处理器指令的直接控制,允许程序员直接操作硬件资源,如寄存器、内存等。 C语言:…

Android 车联网——CarUxRestrictionsManagerService介绍(十六)

在前面文章中经常提到 UX Restrictions,这里我们就来分析一下 CarUxRestrictions 相对应的 Manager 和 Service。 一、简介 CarUxRestrictionsManagerService 是安卓汽车平台中的一个核心服务,旨在管理汽车交互体验时的用户体验限制。它允许车载应用程序根据许多方面的限制…

ECMAScript6历史-前端开发+ECMAScript+基础语法+入门教程

ECMAScript6详解 ECMAScript 历史 我们首先来看 ECMA 是什么。ECMA&#xff0c;读音类似“埃科妈”&#xff0c;是欧洲计算机制造商协会&#xff08;European Computer Manufacturers Association&#xff09;的简称&#xff0c;是一家国际性会员制度的信息和电信标准组织。19…

linux 网络驱动之net_device 结构介绍

net_device 结构处于网络驱动层的非常核心的位置并且值得完全的描述. 这个列表描述 了所有成员, 更多的是提供了一个参考而不是用来备忘. 本章剩下的部分简要地描述了每 个成员, 一旦它用在例子代码上, 因此你不需要不停地回看这一节. 全局信息 结构 net_device 的第一部分是…

AcWing 203. 同余方程(扩展欧几里得算法)

题目链接 203. 同余方程 - AcWing题库高质量的算法题库https://www.acwing.com/problem/content/205/ 来源 《算法竞赛进阶指南》, NOIP2012提高组 题解 本题中的同余方程可以转化为ax by 1的形式&#xff0c;利用扩展欧几里得算法可以求得特解为&#xff0c;则通解为。 代…

网站建设网络设计营销类网站模板

★安装环境要求★ 服务器&#xff1a;Linux / Apache / IIS PHP版本&#xff1a;5.4及5.4以上&#xff0c;完美支持php7.4 MYSQL版本&#xff1a;5.0以上 PS&#xff1a;php版本推荐5.6&#xff0c;mysql推荐使用5.7 ★模板安装步骤★ 1、请将源码包里面的所有文件和文件夹上…

【每日一题】删除子串后的字符串最小长度

文章目录 Tag题目来源解题思路方法一&#xff1a;栈 写在最后 Tag 【栈】【字符串】【2024-01-10】 题目来源 2696. 删除子串后的字符串最小长度 解题思路 方法一&#xff1a;栈 思路 按照题目要求需要移除字符串中的 “AB” 和 “CD” 子字符串&#xff0c;并且移除这两种…

Clean Code读后总结——前进者的基石

前言 作为一个程序员&#xff0c;再职业生涯中会写很多很多万行代码。感觉学习写代码的过程很像学习写作的过程&#xff0c;写大型软件就是在写一本长篇小说&#xff0c;那么如何定义好的代码&#xff0c;感觉就像是问说怎么写出好的文章。 那么什么是好的代码呢&#xff1f;对…

Helix QAC 2023.4 新版支持C++20语言,带来更多性能提升!

Helix QAC 2023.4 新增功能 Helix QAC 2023.4全面支持MISRA C:2023规则&#xff0c;涵盖100%的指南。此版本还加强了对C20语言的支持&#xff0c;改进了数据流分析性能&#xff0c;并在整个产品中增加了多项用户体验改进。 增强的C20支持 此版本新增了对以下语言特性的支持&a…

代码随想录算法训练营Day28|93.复原IP地址、78.子集、90.子集II

93.复原IP地址 题目链接&#xff1a;93.复原IP地址 文档链接&#xff1a;93.复原IP地址 视频链接&#xff1a;回溯算法如何分割字符串并判断是合法IP&#xff1f;| LeetCode&#xff1a;93.复原IP地址 C实现 class Solution { private:vector<string> result;bool isVal…

vscode设置python脚本运行参数

1 添加配置文件 点击到你要配置的python文件&#xff0c;然后右上角点击 运行 &#xff0c;再点击 添加配置 再点击 “Pyhton文件” 选项&#xff08;其实就是在选择 当前的python文件 进行配置&#xff09; 接着就生成了配置文件 lanunch.json 2 参数配置 再上面代码的基础上…

c++语言基础20-排队取奶茶(堆)

题目描述 假设有一家奶茶店&#xff0c;现在有一些人在排队等待取奶茶&#xff0c;同时也有人在取奶茶。 请你设计一个程序模拟这种情况下的奶茶队列管理。假设每个人取奶茶的时间非常短&#xff0c;可以忽略不计&#xff0c;只需要考虑队列中的操作。 队列操作说明&#xff1…

Guava:Cache强大的本地缓存框架

Guava Cache是一款非常优秀的本地缓存框架。 一、 经典配置 Guava Cache 的数据结构跟 JDK1.7 的 ConcurrentHashMap 类似&#xff0c;提供了基于时间、容量、引用三种回收策略&#xff0c;以及自动加载、访问统计等功能。 基本的配置 Testpublic void testLoadingCache() th…

6 - 数据备份与恢复|innobackupex

数据备份与恢复&#xff5c;innobackupex 数据备份与恢复数据备份相关概念物理备份与恢复逻辑备份&#xff08;推荐&#xff09;使用binlog日志文件实现对数据的时时备份‘使用日志 恢复数据 innobackupex 对数据做备份和恢复增量备份与恢复 数据备份与恢复 数据备份相关概念 …

EPICS scanparm记录和相关软件

概要 本文档描述EPICS scanparm记录&#xff0c;以及构建和使用它所需的相关EPICS软件。此版本的记录兼容EPICS 3.14.8.2&#xff0c;而不兼容任何EPICS 3.13.x版本。 scanparm记录存储了为了将它们写入到EPICS sscan记录的参数&#xff0c;并且项EPICS终端用户提供了一种装载…

Tomcat服务实例部署

目录 **Tomcat 由一系列的组件构成&#xff0c;其中核心的组件有三个&#xff1a;** 什么是 servlet&#xff1f; 什么是 JSP? Tomcat 功能组件结构&#xff1a; Container 结构分析&#xff1a; Tomcat 请求过程&#xff1a; ## Tomcat 服务部署 1.关闭防火墙&#xf…

golang学习-流程控制

if else 建议条件不用()包裹&#xff0c;if{}不能省略&#xff0c;{}中的{必须紧靠着条件 go语言中没有while循环&#xff0c;可以通过for 代替 age : 30if age > 18 {fmt.Println("我是大人")}//另一种写法if age : 99; age > 18 {fmt.Printf("年龄是%v&…

一、数据结构

一、 数组 1.1 数组 定义 遍历 // 遍历数组 传递指针 func traverse() {var b [...]int{1, 2, 3} //长度为3 元素为 1 2 3var ptr &b //ptr是指向数组的指针fmt.Println(b[0], b[1]) // 打印数组的前 2 个元素fmt.Println(ptr[0], ptr[1]) // 通…