kubernetes yaml 资源清单

1 YAML语言

YAML 语言的设计目标,就是方便人类读写。它实质上是一种通用的数据串行化格式。

1.1 基本语法规则

  • 大小写敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只允许使用空格。
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • # 表示注释,从这个字符一直到行尾,都会被解析器忽略。

1.2 YAML 支持的数据结构有三种

  • 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
  • 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
  • 纯量(scalars):单个的、不可再分的值

以下分别介绍这三种数据结构。

1.2.1 对象

对象的一组键值对,使用冒号结构表示。

animal: pets

Yaml 也允许另一种写法,将所有键值对写成一个行内对象。

hash: { name: Steve, foo: bar }
1.2.2 数组

一组连词线开头的行,构成一个数组。

- Cat
- Dog
- Goldfish

数据结构的子成员是一个数组,则可以在该项下面缩进一个空格。

animal:- Cat- Dog- Goldfish
1.2.3 纯量

纯量是最基本的、不可再分的值。以下数据类型都属于 JavaScript 的纯量。

  • 字符串
  • 布尔值
  • 整数
  • 浮点数
  • Null
  • 时间
  • 日期

2 kubernetes里yaml文件写法

常用字段解释

kubectl explain <name>.<name>

必须存在的字段

注意: 如果写不全是不让运行pod的

参数名

字段类型

说明

version

String

这里是指的k8s API 的版本,目前基本是v1,可以 用kubectl api-version命令查询

kind

String

这里指的是yam文件定义的资源类型和角色,比如:Pod

metadata

Object

元数据对象,固定值就写 metadata

metadata.name

String

元数据对象的名字,这里由我们编写,比如如名POd的名字

metadata namespace

String

元数据对象的命名空间,由我们自身定义

spec

Object

详细定义对象,固定值就写Spec

spec containers[]

list

这里是Spec对象的容器列表定义,是个列表

spec containers[].name

String

这里定义容器的名字

spec containers[]. image

String

这里定义要用到的镜像名称

创建一个最基本的pod

[root@k8s-master01 ~]# vim pod.yaml 
apiVersion: v1
kind: Pod
metadata:name: nginx-pod
spec:containers:- name: nginximage: nginx:latestimagePullPolicy: IfNotPresent
kubectl apply -f pod.yaml

主要对象

以下内容可以有可以没有,如果没有写系统会添加默认值

参数名

字段类型

说明

spec containers[]. name

String

定义容器的名字

spec containers[]. image

String

定义要用到的镜像名称

spec containers[]. imagePullPolicy

String

走义镜像拉取策路,有 Always、 NeverIfNotPresent三个值可选(1) Always:意思是每次都芸试重新拉取镜像(2) Never:表示仅使用本地镜像(3) IfNotPresent:如果本地有镜像就使用本地镜像,没有就拉取在线镜像。上面三个值都没设置的话,默认是 Always。

spec containers[]. command[]

list

指走容器启动命令,因为是数组可以指定多个,不指定则使用镜像打包时使用的启动命令。

spec containers[]. args[]

list

指定容器启动命令参数,因为是数组可以指定多个。

spec containers[]. workingDir

String

指定容器的工作目录

spec containers[]. volumeMounts[]

list

指定容器内部的存储卷配置

spec containers[]. volumeMounts[].name

String

指定可以被容器挂载的存储卷的名称

spec containers[]. volumeMounts[].mountrPath

String

指定可以被容挂载的存储芢的路径

spec containers[]. volumeMounts[].readOnly

String

设置存储卷路径的读写模式,ture或者 false,认为读写模式

spec containers[]. ports[]

list

指走容器需要用到的满口列表

spec containers[].ports[]. name

String

指定端口名称

spec containers[].ports[]. containerPort

String

指定容器需要监听的端口号

spec containers[]. ports[]. hostPort

String

首定容器所在主机需要监听的端口号,默认跟上面 containerPort相同,注意设置了 hostPort同一台主机无法启动该容器的相同副本(因为主机的端口号不能相同,这样会冲突)

spec containers[]. ports[]. protocol

String

指定端口协议,支持TCP和UDP,认值为TCP

spec containers[]. env[]

list

指定容器运行前需设置的环境变量列表

spec containers[].env[]. name

String

指定环境变量名称

spec containers[].env[] value

String

指走环境变量值

spec containers[]. resources

Object

指定资源限制和源请求的值(这里开始就是设置容器的资源上限)

spec containers[]. resources.limits

Object

指定设置容器运行时资源的运行上限

spec containers[]. resources.limits. cpu

String

指定CPU的限制,单位为core数,将用于docker run-cpu- shares参数(这里前面文章Pod资源限制有讲过)

spec containers[].resources.limits. memory

String

指定MEM内存的限制,单位为MIB、GiB

spec containers[]. resources. requests

Object

指定容器启动和调度时的限制设置

spec containers[]. resources. requests. cpu

String

CPU请求,单位为core数,容器启动时初始化可用数量

spec containers[]. resources. requests memory

String

内存请求,单位为MIB、GiB,容器启动的初始化可用数量

额外的参数项

参数名

字段类型

说明

spec. restartPolicy

String

定义Pod的重启策路,可选值为 Alays、 Onfailure,默认值为Always。1 Always:Pod-且终止运行,则无论容器是如何终止的, kubelet服务都将重启它。2. failure:只有Pod以非零退出码终止时, kubeletオ会重启该容器。如果容器正常结束(退出码为0),则 kubelet将不会重启它3. Never:Pod终止后, kubelet将退出码报告给 Master,不会重启该Pod

spec. nodeSelector

Object

定义Node的Labe过滤标签,以 key: value格式指定

spec. imagePullSecrets

Object

定义pu像时便用 secrets名称,以 name secretkey格式指定

spec.hostNetwork

Boolean

定义是否使用主机网络模式,默认值为 false。设置true表示使用宿主机网络,不使用 docker网桥,同时设置了tue将无法在同一台宿主机上启动第二个副本。

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

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

相关文章

『 Linux 』 进程间通信 - 匿名管道 (万字)

文章目录 什么是管道匿名管道的直接原理pipe( )系统调用接口匿名管道代码示例匿名管道的特征总结 什么是管道 管道(Pipe) 是一种基本的进程间通信(IPC)机制,允许一个进程与另一个进程之间进行数据传输; 管道工作方式类似于生活中的水管因此命名为管道,数据从一端流入另一段流出…

NSSCTF-Web题目16

目录 [GDOUCTF 2023]受不了一点 1、题目 2、知识点 3、思路 [UUCTF 2022 新生赛]ez_upload 1、题目 2、知识点 3、思路 [GDOUCTF 2023]受不了一点 1、题目 2、知识点 php代码审计、数组绕过、弱比较绕过 3、思路 打开题目&#xff0c;出现代码&#xff0c;我们进行代…

【STM32】江科大STM32学习笔记汇总(已完结)

00. 目录 文章目录 00. 目录01. STM32学习笔记汇总02. 相关资料下载03. 打赏04. 附录 01. STM32学习笔记汇总 【STM32】STM32学习笔记-课程简介(01) 【STM32】STM32学习笔记-STM32简介(02) 【STM32】STM32学习笔记-软件安装(03) 【STM32】STM32学习笔记-新建工程(04) 【ST…

VUE div的右上角的角标/标签

一、效果图 二、代码 <div class"comp-overview"><div class"overview-item" v-for"(item,index) in overviewInfoList" :key"index"><div class"angle_mark"><span>{{item.label}}</span>&…

Java中的数据库连接池选择与优化

Java中的数据库连接池选择与优化 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 1. 引言 在Java应用程序中&#xff0c;数据库连接池扮演着至关重要的角色。…

2024上海初中生古诗文大会倒计时4个月:单选题真题示例和独家解析

现在距离2024年初中生古诗文大会还有4个多月时间&#xff0c;我们继续来看10道选择题真题和详细解析&#xff0c;以下题目截取自我独家制作的在线真题集&#xff0c;都是来自于历届真题&#xff0c;去重、合并后&#xff0c;每道题都有参考答案和解析。 为帮助孩子自测和练习&…

Qt 信号与槽的使用详解 - 多种绑定形式、同步异步、Lambda表达式等

Qt 信号与槽的使用详解 - 多种绑定形式、同步异步、Lambda表达式等 引言一、信号与槽常见的绑定形式二、信号与槽的连接方式 - 同步异步 引言 在Qt框架中&#xff0c;信号与槽&#xff08;Signals and Slots&#xff09;机制是一种强大的通信方式&#xff0c;它允许对象之间进…

Linux常用命令、基本配置、shell基本语法整合

Linux常用命令的使用 Linux文件系统 和 Windows文件系统目录&#xff1a; Windows是分C盘、D盘、E盘…的&#xff0c;但是在Linux中是有一个最大的目录&#xff0c;称之为根目录&#xff0c;用 / 表示&#xff0c;根目录下面会有很多子目录&#xff0c;这些子目录其实可以理解…

百度comate 专业版免费试用90天

我发现一个编码效率提升好帮手——Baidu Comate&#xff0c;结合文心大模型和百度编程大数据&#xff0c;为你生成优质编程代码。现在通过我的链接注册&#xff0c;立得90天专业版体验卡&#xff0c;来吧&#xff0c;让我们一起释放“十倍”软件生产力&#xff01; https://com…

深入解析大语言模型系列:Transformer架构的原理与应用

引言 在自然语言处理&#xff08;NLP&#xff09;领域&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;近几年取得了突破性的进展&#xff0c;而 Transformer 作为这些模型的核心架构&#xff0c;功不可没。本文将详细介绍 Transformer 的原理、结…

如何利用自助式商业智能(BI)打破组织中的数据孤岛?

前言 许多组织都存在数据问题。当许多员工远程工作&#xff08;或在混合环境中&#xff09;并在多个位置使用多个设备访问公司数据时&#xff0c;他们正在处理信息过载问题。这只会加剧数据孤岛的问题。 数据孤岛正是它听起来的样子&#xff1a;孤立在一个孤立的用户/环境中的…

[深度学习]循环神经网络RNN

RNN&#xff08;Recurrent Neural Network&#xff0c;即循环神经网络&#xff09;是一类用于处理序列数据的神经网络&#xff0c;广泛应用于自然语言处理&#xff08;NLP&#xff09;、时间序列预测、语音识别等领域。与传统的前馈神经网络不同&#xff0c;RNN具有循环结构&am…

【详述】BP神经网络建模流程一步一步详述

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ 目录 一、BP神经网络的建模流程二、BP神经网络的建模分步讲解2.1.数据归一化2.2.数据划分2.3.网络结构设置2.4.网络训练2.5.训练效果评估 本文梳理BP神经网络的建模流程&#xff0c;供大家建模时进行借鉴。 一、BP神经…

SPECweb2009调优指南

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…

计算机网络-BGP路由负载分担

在大型网络中&#xff0c;到达同一目的地通常会存在多条有效BGP路由&#xff0c;设备只会优选一条最优的BGP路由&#xff0c;将该路由加载到路由表中使用&#xff0c;这一特点往往会造成很多流量负载不均衡的情况。 通过配置BGP负载分担&#xff0c;可以使得设备同时将多条等代…

spring boot整合WebSocket实现群聊功能 通俗易懂教程

首先获取消息的内容&#xff0c;即payload。将payload转换为JSONObject对象&#xff0c;并从中获取消息类型type。如果消息类型是"join"&#xff0c;则从消息中获取群组ID&#xff0c;并将当前WebSocketSession的ID加入到该群组对应的Set中。如果消息类型是"lea…

Python爬取中国福彩网彩票数据并以图表形式显示

网页分析 首先打开中国福彩网&#xff0c;点击双色球&#xff0c;选择往期开奖栏目 进入栏目后&#xff0c;选定往期的奖金数目作为我们想要爬取的目标内容 明确目标后&#xff0c;开始寻找数据所在的位置 鼠标右击页面&#xff0c;打开网页源代码&#xff0c;在源代码中搜索…

vue3-openlayers 轨迹回放(历史轨迹)(ol-animation-path实现)

本篇介绍一下使用vue3-openlayers轨迹回放&#xff08;历史轨迹&#xff09;&#xff08;ol-animation-path实现&#xff09; 1 需求 轨迹回放&#xff08;历史轨迹&#xff09;实时轨迹 2 分析 轨迹回放&#xff08;历史轨迹&#xff09;&#xff0c;一般是一次性拿到所有…

功能测试【测试用例模板、Bug模板、手机App测试★】

功能测试 Day01 web项目环境与测试流程、业务流程测试一、【了解】web项目环境说明1.1 环境的定义&#xff1a;项目运行所需要的所有的软件和硬件组合1.2 环境(服务器)的组成&#xff1a;操作系统数据库web应用程序项目代码1.3 面试题&#xff1a;你们公司有几套环境&#xff1…

淘宝用户行为分析大数据可视化

文章目录 1. 项目概述2. 技术栈3. 目录结构4. 数据处理流程5. 前端部分5.1 HTML (index.html)5.2 CSS (layer.css)5.3 JavaScript (chart.js) 6. 后端部分7. 数据可视化7.1 ECharts 图表 8. 主要功能模块9. 代码解析10. 数据接口11. 项目功能描述12. 代码功能实现12.1 HTML (in…