k8s 资源文件参数介绍

Kubernetes资源文件yaml参数介绍

yaml 介绍

  • yaml 是一个类似 XMLJSON 的标记性语言。它强调以数据为中心,并不是以标识语言为重点
  • 例如 SpringBoot 的配置文件 application.yml 也是一个 yaml 格式的文件

语法格式

  • 通过缩进表示层级关系
  • 不能使用tab进行缩进,只能使用空格
  • 一般开头缩进两个空格
  • 大小写敏感
  • 字符后缩进一个空格,如冒号、逗号
  • 如果需要将多段yaml配置放在一个文件中,中间要使用---分隔
  • 使用#表示注释

yaml文件的编写

  • 快速编写yaml文件,通过命令导出新的yaml文件
#创建nginx资源文件并且不启动资源
kubectl create deployment demo-nginx --image=nginx:1.23.0 -o yaml --dry-run=client > nginx.yaml

在这里插入图片描述

#查看nginx.yaml
cat nginx.yaml

在这里插入图片描述

精简版 yaml

apiVersion: apps/v1
kind: Deployment
metadata:creationTimestamp: nulllabels:app: demo-nginxname: demo-nginx
spec:replicas: 1selector:matchLabels:app: demo-nginxstrategy: {}template:metadata:creationTimestamp: nulllabels:app: demo-nginxspec:containers:- image: nginx:1.23.0name: nginxresources: {}
status: {}

podyaml文件示例

# pod的最基础的yaml文件最少需要以下的几个参数
apiVersion: v1 # API版本号,注意:具有多个,不同的对象可能会使用不同API
kind: Pod  # 对象类型,pod
metadata:  # 元数据name: string # POD名称namespace: string # 所属的命名空间
spec: # 资源内容的规范containers: # 容器列表- name: string # 容器名称image: string # 容器镜像

常用字段含义

必须存在的属性
参数名字段类型说明
versionStringk8s API的版本,可使用kubectl api-versions命令查询
kindString指定k8s资源的类型,比如Pod、Deployment
metadataObject元数据对象,固定写值metadata
metadata.nameString元数据对象的名字,比如命名pod的名字
metadata.namespaceString元数据对象的命名空间
specObject详细定义对象,固定值写Spec
spec.container[]arrayspec对象的容器列表定义
spec.container[].nameString容器对象的名字
spec.container[].imageString定义要用到的对象名称
spec 主要对象
spec.containers
参数名字段类型说明
spec.containers[].nameString定义容器的名字
spec.containers[].imageString定义要用到的镜像名称
spec.containers[].imagePullPolicyString定义镜像拉取策略,有Always、Never、IfNotPresent三个值可选(1)Always:意思是每次都尝试重新拉取镜像 (2)Never:表示仅使用本地镜像 (3)IfNotPresent:如果本地有镜像就使用本地镜像,没有就拉取在线镜像。 上面三个值都没设置的话,默认是Always。
spec.containers[].command[]list指定容器启动命令,因为是数组可以指定多个,不指定则使用镜像打包时使用的启动命令。
spec.containers[].args[]list指定容器启动命令参数,因为是数组可以指定多个
spec.containers[].workingDirString指定容器的工作目录
spec.containers[].volumeMounts[].nameString指定可以被容器挂载的存储卷的名称
spec.containers[].volumeMounts[].mountPathString指定可以被容器挂载的存储卷的路径
spec.containers[].volumeMounts[].readOnlyString设置存储卷路径的读写模式,ture 或者false,默认为读写模式
spec.containers[].ports[]list指定容器需要用到的端口列表
spec.containers[].ports[].nameString指定端口名称
spec.containers[].ports[].containerPortString指定容器需要监听的端口号
spec.containers[].ports[].hostPortString指定容器所在主机需要监听的端口号,默认跟上面containerPort相同,注意设置了hostPort 同一台主机无法启动该容器的相同副本(因为主机的端口号不能相同,这样会冲突)
spec.containers[].ports[].protocolString指定端口协议,支持TCP和UDP,默认值为TCP
spec.containers[].env[]list指定容器运行前需设置的环境变量列表
spec.containers[].env[].nameString指定环境变量名称
spec.containers[].env[].valueString指定环境变量值
spec.containers[].env[].resourcesObject指定资源限制和资源请求的值(这里开始就是设置容器的资源上限)
spec.containers[].env[].resources.limitsObject指定设置容器运行时资源的运行上限
spec.containers[].env[].resources.limits.cpuString指定CPU的限制,单位为core数,将用于 docker run --cpu-shares参数
spec.containers[].resources.limits.memoryString指定MEM内存的限制,单位为MIB、GiB
spec.containers[].resources.requestsObject指定容器启动和调度时的限制设置
spec.containers[].resources.requests.cpuStringCPU请求,单位为core数,容器启动时初始化可用数量
spec.containers[].resources.requests.memoryString内存请求,单位为MIB、GiB,容器启动的初始化可用数量
spec.volumes
参数名字段类型说明
spec.volumes[].nameString定义Pod的共享存储卷的名称,容器定义部分的spec.containers[].volumeMounts[].name的值跟这里是一样的
spec.volumes[].emptyDirObject指定Pod的临时目录,值为一个空对象:emptyDir:{}
spec.volumes[].hostPathObject指定挂载Pod所在宿主机的目录
spec.volumes[].hostPath.pathString指定Pod所在主机的目录,将被用于容器中mount的目录
spec.volumes[].secretObject指定类型为secret的存储卷,secret意为私密、秘密的意思,很容易理解,它存储一些密码,token或者秘钥等敏感安全文件。挂载集群预定义的secret对象到容器内部。
spec.volumes[].configMapObject指定类型为configMap的存储卷,表示挂载集群预定义的configMap对象到容器内部。
spec.volumes[].livenessProbeObject指定Pod内容器健康检查的设置,当探测无响应几次后,系统将自动重启该容器。这个在前面的文章中有说,具体可以设置:exec、httpGet、tcpSocket
spec.volumes[].livenessProbe.execObject指定Pod内容器健康检查的设置,确定是exec方式
spec.volumes[].livenessProbe.exec.command[]String指定exec方式后需要指定命令或者脚本,用这个参数设置
spec.volumes[].livenessProbe.httpGetObject指定Pod内容器健康检查的设置,确定是httpGet方式
spec.volumes[].livenessProbe.tcpSocketObject指定Pod内容器健康检查的设置,确定是tcp Socket方式
spec.volumes[].livenessProbe.initialDelaySecondsNumber容器启动完成后首次探测的时间设置,单位为s
spec.volumes[].livenessProbe.timeoutSecondsNumber对容器健康检查的探测等待响应的超时时间设置,单位为S,默认为1s。若超过该超时时间设置,则认为该容器不健康,会重启该容器。
spec.volumes[].livenessProbe.periodSecondsNumber对容器健康检查的定期探测时间设置,单位为S,默认10s探测一次。

Kubernetes常见资源类型和命令

查看资源类型和命令

#查看资源
kubectl api-resources

在这里插入图片描述

#查看命令帮助
kubectl --help

在这里插入图片描述

常用资源分类和缩写

名称命令缩写
节点nodesno
名称空间namespacesns
pod资源podspo
pod控制器replicasetsrs
pod控制器deploymentsdeploy
服务发现-统一pod对外接口servicessvc
服务发现-统一pod对外接口ingressing
存储资源persistentvolumespv
存储资源persistentvolumeclaimspvc

常用资源操作命令

命令分类命令翻译
基本命令create创建资源
delete删除资源
edit编辑资源
get获取资源
patch更新资源
explain解释资源
运行和调试run运行指定的镜像
expose暴露服务
describe描述资源内部信息
logs打印容器在 pod 中的日志
attach进入运行中的容器
exec执行容器中的一个命令
cp在Pod内外复制文件
scale扩容/缩容Pod的数量
autoscale扩容/缩容Pod的数量
高级命令applyrc
label标签
其它命令cluster-info集群信息
version版本

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

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

相关文章

金三银四面试题(二十五):策略模式知多少?

什么是策略模式 策略模式(Strategy Pattern)是一种行为型设计模式,旨在定义一系列算法,将每个算法封装到一个独立的类中,使它们可以互换。策略模式让算法的变化独立于使用它们的客户端,使得客户端可以根据…

二叉搜索树相关

二叉搜索树 定义:对二叉搜索树的一些操作基本结构Insert操作Find操作Erase操作 InOrder遍历二叉树操作模拟字典模拟统计次数 定义: 二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空&a…

【记录 | Markdown语法】LaTeX数学公式

目录 Markdown语法基本运算符小数分数比大小括号特殊符号几何集合 Markdown语法 在Markdown中,LaTeX数学公式的编写遵循LaTeX语法,下面展示一些基本的LaTeX数学公式的用法和使用效果。 如果公式中包含特殊字符,需要使用反斜杠 \ 进行转义。 …

.Wormhole勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复

导言: 随着信息技术的飞速发展,网络安全问题愈发凸显其重要性。近年来,勒索病毒成为了网络安全领域的一大难题,而其中的.Wormhole勒索病毒更是以其独特的传播方式和强大的破坏力引起了广泛关注。本文将详细介绍.Wormhole勒索病毒…

MacOS快速安装FFmpeg,并使用FFmpeg转换视频

前言:目前正在接入flv视频流,但是没有一个合适的flv视频流地址。网上提供的flv也都不是H264AAC(一种视频和音频编解码器组合),所以想通过fmpeg来将flv文件转换为H264AAC。 一、MacOS环境 博主的MacOS环境(…

初始C++(一)

目录 前言: 命名空间: 总结: 前言: C语言学好了,现在当然要进阶了,那么就是从C开始。 C兼容C,支持其中90%的语法。可能有很多同学听说过C#,C#和C没有关系,是微软研究出…

Mintegral引领短剧行业新风尚:广告变现策略助力出海应用高效增长

短剧,一颗正在冉冉升起的新星,如今成为了影视行业的新风口。《2023短剧行业研究报告》显示,2023年短剧市场规模达到373.9亿元,同比增长267.65%,预计2024年将超过500亿元。近年来,政策出台、供需促进及应用出…

什么是Facebook付费广告营销?

Facebook作为全球最大的社交平台之一,成为了跨境卖家不可或缺的营销阵地。它不仅拥有庞大的用户基数,还提供了丰富的广告工具和社群互动功能,让商家能够精准触达目标市场,提升品牌影响力。云衔科技通过Facebook付费广告营销的专业…

ODOO17数据库安全策略一(ODOO17 Database Security Policy I)

ODOO17作为ERP软件,其核心优势在于数据安全。凭借强大的原生安全机制及灵活的配置,确保数据安全无忧: ODOO17, as an ERP software, boasts its significant advantage in exceptional data security performance. It effectively ensures wo…

DirClass

DirClass 通过分析,发现当接收到DirClass远控指令后,样本将返回指定目录的目录信息,返回数据中的远控指令为0x2。 相关代码截图如下: DelDir 通过分析,发现当接收到DelDir远控指令后,样本将删除指定目录…

CMS-设计文档

CMS-设计文档 一. 身份审批模块1.1 表设计1.2 实体类设计1.3 接口设计1.3.1 查询-所有-分页欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中…

2024暨南大学校赛热身赛解析

文章目录 Uzi 的真身D 基站建设 Uzi 的真身 分析:本来想使用动态规划算法的,但是由于数据计算过大,导致超时 正确的思想:直接线性遍历字符串,分别统计字符“j”的个数,后面对于统计字符“z”和字符“h” 的…

Elasticsearch安装步骤

引言 Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful搜索和分析引擎。它设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。Elasticsearch为所有类型的数据提供近乎实时的搜索和分析。无论…

flutter中固定底部按钮,防止键盘弹出时按钮跟随上移

当我们想要将底部按钮固定在底部,我们只需在Widget中的Scaffold里面加一句 resizeToAvoidBottomInset: false, // 设置为false,固定页面不会因为键盘弹出而移动 效果图如下

[法规规划|数据概念]金融行业数据资产和安全管理系列文件解析(2)

“ 金融行业在自身数据治理和资产化建设方面一直走在前列。” 一直以来,金融行业由于其自身需要,都是国内开展信息化建设最早,信息化程度最高的行业。 在当今数据要素资产化的浪潮下,除了行业自身自身数据治理和资产化建设方面&am…

蓝牙模块HC-08+WIFI模块ESP-01S

蓝牙模块 又叫蓝牙串口模块。 串口透传技术:透传即透明传送,是指在数据的传输过程中,通过无线的方式使这组数据不发生任何形式的改变,仿佛传输过程是透明的一样,同时保证传输的质量,原封不动地道了最终接收…

CentOS系统中安装Java Development Kit (JDK)

在CentOS系统中安装Java Development Kit (JDK),你可以选择使用包管理器(如yum),或者手动下载并安装。以下是两种安装方法的步骤: 使用yum包管理器安装JDK 添加Java仓库(以Java 11为例)&#x…

Oracle sqlnet.ora配置文件

一、作用 这里可以看官网解释Parameters for the sqlnet.ora File (oracle.com) 该文件是配置文件配置文件。它驻留在客户端计算机和数据库服务器上。配置文件使用此文件进行存储和实现。可以使用文件中的访问控制参数配置数据库服务器。这些参数根据协议.sqlnet.orasqlnet.o…

MATLAB在工程计算领域使用情况

MATLAB作为一款强大的数学计算软件,在工程计算领域中扮演着至关重要的角色。以下是MATLAB在工程计算中的一些典型应用场景: 1. 线性代数与矩阵运算 工程计算中经常需要进行矩阵的运算,包括矩阵的加法、乘法、求逆、特征值和特征向量等。MAT…

vue的指令(参数,动态参数,修饰符,缩写等)(2024-05-07)

1、指令概念 指令 (Directives) 是带有 v- 前缀的特殊attribute。指令 attribute 的值预期是单个 JavaScript 表达式 (v-for指令 是例外情况)。指令的职责是&#xff0c;当表达式的值改变时&#xff0c;将其产生的连带影响&#xff0c;响应式地作用于 DOM。 <p v-if"s…