k8s 资源文件参数介绍
Kubernetes资源文件yaml参数介绍
yaml 介绍
yaml是一个类似XML、JSON的标记性语言。它强调以数据为中心,并不是以标识语言为重点- 例如
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: {}
pod的yaml文件示例
# pod的最基础的yaml文件最少需要以下的几个参数
apiVersion: v1 # API版本号,注意:具有多个,不同的对象可能会使用不同API
kind: Pod # 对象类型,pod
metadata: # 元数据name: string # POD名称namespace: string # 所属的命名空间
spec: # 资源内容的规范containers: # 容器列表- name: string # 容器名称image: string # 容器镜像
常用字段含义
必须存在的属性
| 参数名 | 字段类型 | 说明 |
|---|---|---|
| version | String | k8s API的版本,可使用kubectl api-versions命令查询 |
| kind | String | 指定k8s资源的类型,比如Pod、Deployment |
| metadata | Object | 元数据对象,固定写值metadata |
| metadata.name | String | 元数据对象的名字,比如命名pod的名字 |
| metadata.namespace | String | 元数据对象的命名空间 |
| spec | Object | 详细定义对象,固定值写Spec |
| spec.container[] | array | spec对象的容器列表定义 |
| spec.container[].name | String | 容器对象的名字 |
| spec.container[].image | String | 定义要用到的对象名称 |
spec 主要对象
spec.containers
| 参数名 | 字段类型 | 说明 |
|---|---|---|
| spec.containers[].name | String | 定义容器的名字 |
| spec.containers[].image | String | 定义要用到的镜像名称 |
| spec.containers[].imagePullPolicy | String | 定义镜像拉取策略,有Always、Never、IfNotPresent三个值可选(1)Always:意思是每次都尝试重新拉取镜像 (2)Never:表示仅使用本地镜像 (3)IfNotPresent:如果本地有镜像就使用本地镜像,没有就拉取在线镜像。 上面三个值都没设置的话,默认是Always。 |
| spec.containers[].command[] | list | 指定容器启动命令,因为是数组可以指定多个,不指定则使用镜像打包时使用的启动命令。 |
| spec.containers[].args[] | list | 指定容器启动命令参数,因为是数组可以指定多个 |
| spec.containers[].workingDir | String | 指定容器的工作目录 |
| spec.containers[].volumeMounts[].name | String | 指定可以被容器挂载的存储卷的名称 |
| spec.containers[].volumeMounts[].mountPath | 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[].env[].resources | Object | 指定资源限制和资源请求的值(这里开始就是设置容器的资源上限) |
| spec.containers[].env[].resources.limits | Object | 指定设置容器运行时资源的运行上限 |
| spec.containers[].env[].resources.limits.cpu | String | 指定CPU的限制,单位为core数,将用于 docker run --cpu-shares参数 |
| 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.volumes
| 参数名 | 字段类型 | 说明 |
|---|---|---|
| spec.volumes[].name | String | 定义Pod的共享存储卷的名称,容器定义部分的spec.containers[].volumeMounts[].name的值跟这里是一样的 |
| spec.volumes[].emptyDir | Object | 指定Pod的临时目录,值为一个空对象:emptyDir:{} |
| spec.volumes[].hostPath | Object | 指定挂载Pod所在宿主机的目录 |
| spec.volumes[].hostPath.path | String | 指定Pod所在主机的目录,将被用于容器中mount的目录 |
| spec.volumes[].secret | Object | 指定类型为secret的存储卷,secret意为私密、秘密的意思,很容易理解,它存储一些密码,token或者秘钥等敏感安全文件。挂载集群预定义的secret对象到容器内部。 |
| spec.volumes[].configMap | Object | 指定类型为configMap的存储卷,表示挂载集群预定义的configMap对象到容器内部。 |
| spec.volumes[].livenessProbe | Object | 指定Pod内容器健康检查的设置,当探测无响应几次后,系统将自动重启该容器。这个在前面的文章中有说,具体可以设置:exec、httpGet、tcpSocket |
| spec.volumes[].livenessProbe.exec | Object | 指定Pod内容器健康检查的设置,确定是exec方式 |
| spec.volumes[].livenessProbe.exec.command[] | String | 指定exec方式后需要指定命令或者脚本,用这个参数设置 |
| spec.volumes[].livenessProbe.httpGet | Object | 指定Pod内容器健康检查的设置,确定是httpGet方式 |
| spec.volumes[].livenessProbe.tcpSocket | Object | 指定Pod内容器健康检查的设置,确定是tcp Socket方式 |
| spec.volumes[].livenessProbe.initialDelaySeconds | Number | 容器启动完成后首次探测的时间设置,单位为s |
| spec.volumes[].livenessProbe.timeoutSeconds | Number | 对容器健康检查的探测等待响应的超时时间设置,单位为S,默认为1s。若超过该超时时间设置,则认为该容器不健康,会重启该容器。 |
| spec.volumes[].livenessProbe.periodSeconds | Number | 对容器健康检查的定期探测时间设置,单位为S,默认10s探测一次。 |
Kubernetes常见资源类型和命令
查看资源类型和命令
#查看资源
kubectl api-resources

#查看命令帮助
kubectl --help

常用资源分类和缩写
| 名称 | 命令 | 缩写 |
|---|---|---|
| 节点 | nodes | no |
| 名称空间 | namespaces | ns |
| pod资源 | pods | po |
| pod控制器 | replicasets | rs |
| pod控制器 | deployments | deploy |
| 服务发现-统一pod对外接口 | services | svc |
| 服务发现-统一pod对外接口 | ingress | ing |
| 存储资源 | persistentvolumes | pv |
| 存储资源 | persistentvolumeclaims | pvc |
常用资源操作命令
| 命令分类 | 命令 | 翻译 |
|---|---|---|
| 基本命令 | create | 创建资源 |
| delete | 删除资源 | |
| edit | 编辑资源 | |
| get | 获取资源 | |
| patch | 更新资源 | |
| explain | 解释资源 | |
| 运行和调试 | run | 运行指定的镜像 |
| expose | 暴露服务 | |
| describe | 描述资源内部信息 | |
| logs | 打印容器在 pod 中的日志 | |
| attach | 进入运行中的容器 | |
| exec | 执行容器中的一个命令 | |
| cp | 在Pod内外复制文件 | |
| scale | 扩容/缩容Pod的数量 | |
| autoscale | 扩容/缩容Pod的数量 | |
| 高级命令 | apply | rc |
| label | 标签 | |
| 其它命令 | cluster-info | 集群信息 |
| version | 版本 |
相关文章:
k8s 资源文件参数介绍
Kubernetes资源文件yaml参数介绍 yaml 介绍 yaml 是一个类似 XML、JSON 的标记性语言。它强调以数据为中心,并不是以标识语言为重点例如 SpringBoot 的配置文件 application.yml 也是一个 yaml 格式的文件 语法格式 通过缩进表示层级关系不能使用tab进行缩进&am…...
mac系统安装steam报错-解决办法
今天给虚拟机装了个苹果系统,然后想装个steam,从steam的官方下载安装steam_osx.dmg时,总是报“steam_osx已损坏,无法打开,请移动到废纸篓“。搜了一下找到了解决办法,这里记录一下。 双击steam_osx.dmg时&…...
这个簇状柱形图怎么添加百分比?
这个图表是excel默认的图表配色,有的人做出来都那个百分比,一起来做一个这样的图表。 1.插入图表 选中数据区域,点击 插入选项卡,在图表那一栏,点一下柱形图右侧那个倒三角,在弹邮对话框中,选…...
Tomact安装配置及使用(超详细)
文章目录 web相关知识概述web简介(了解)软件架构模式(掌握)BS:browser server 浏览器服务器CS:client server 客户端服务器 B/S和C/S通信模式特点(重要)web资源(理解)资源分类 URL请求路径(理解)作用介绍格式浏览器通过url访问服务器的过程 服务器(掌握)…...
web后端——netbeans ide +jsp+servlet开发学习总结
目录 jsp基础 netbeans开发工具问题HTTP Status 405 - HTTP method POST is not supported......netbeans 提示无法启动GlassFish Server 4.1.1:服务器未运行时, HTTP 或 HTTPS 监听程序端口已被占用404 问题netbeans中项目中有多个html文件,如何单独运行某个文件?n…...
使用request-try-notifyState流程实现UI控制与状态反馈的完整闭环
1. 前言 在Qt编程时,我们经常会在界面上添加一些按钮,当按钮被点击时,执行某段代码,例如显示一个对话框、关闭窗口,保存文件等等。 这种由UI控件触发某种信号,通过信号槽触发目的代码执行的场景非常多。这…...
屏蔽罩材质和厚度对屏蔽效能的影响
一.屏蔽效能的影响因素 屏蔽效能的影响因素主要有两个方面:屏蔽材料的特性和厚度;如下图所示,电磁波经过不同媒介时,会在分界面形成反射,穿过界面的电磁波一部分被反射回去,这部分能量损失…...
Qt简单离线音乐播放器
有上传本地音乐文件,播放,暂停,拖拉进度条等功能的播放器。 mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" #include <QMediaPlayer> #include <QFileDialog> #include <QTime&g…...
微信小程序常用的api
基础API: wx.request:用于发起网络请求,支持GET、POST等方式,是获取网络数据的主要手段。wx.showToast:显示消息提示框,通常用于向用户展示操作成功、失败或加载中等状态。wx.showModal:显示模态…...
iOS xib布局
1.多次启动发现启动图和截屏的图片不一致,设置launch storyboard 不能到顶部 https://blog.csdn.net/u011960171/article/details/104053696/ 2.multipiler是比例,需要控制顺序1.视图,2父视图,选择宽度比例,默认是1 3.Aspect R…...
UNI-APP_拨打电话权限如何去掉,访问文件权限关闭
uniapp上架过程中一直提示:允许“app名”拨打电话和管理通话吗? uniapp配置文件:manifest.json “permissionPhoneState” : {“request” : “none”//拨打电话权限关闭 }, “permissionExternalStorage” : {“request” : “none”//访…...
Git知识点汇总表格总结
Git应该是现在各个做开发公司使用最广泛的版本管理工具了,还有一些公司可能用的SVN,不过总体来说,Git绝对是主流,SVN是集中式版本管理,使用起来相对Git更简单,不过功能相对Git也略显简略,Git的优…...
漫谈:C语言 奇葩的指针定义规则
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 C语言的语法很麻拐。 初学者的…...
spring boot中一般如何使用线程池
在Spring Boot中,线程池作为并发编程的核心工具,对于提升应用程序性能、优化资源利用和保证系统稳定性具有重要作用。本文将详细阐述如何在Spring Boot中正确使用线程池,包括配置参数、实例化、任务提交、监控及常见问题处理等环节࿰…...
Shader 纹理动画和顶点动画
一、内置变量--时间 要实现动画,我们需要把时间添加到计算当中,让画面可以随着时间变化而变化。在Unity Shader提供了如下关于时间的内置变量以便于在shader中访问时间实现各种动态效果。 名称类型描述_Timefloat4t是自该场景加载开始所经过的时间&…...
使用macof发起MAC地址泛洪攻击
使用macof发起MAC地址泛洪攻击 MAC地址泛洪攻击原理: MAC地址泛洪攻击是一种针对交换机的攻击方式,目的是监听同一局域网中用户的通信数据。交换机的工作核心:端口- MAC地址映射表。这张表记录了交换机每个端口和与之相连的主机MAC地址之间…...
力扣:1979. 找出数组的最大公约数(Java)
目录 题目描述:输入:输出:代码实现: 题目描述: 给你一个整数数组 nums ,返回数组中最大数和最小数的 最大公约数 。 两个数的 最大公约数 是能够被两个数整除的最大正整数。 输入: nums [2,5,6…...
电瓶车充电桩:潜藏的暴利行业,简单入门到月入万元!
近几年来,电瓶车凭借其环保、经济特点已成为居民出行的必备工具之一。而促使电瓶车快速普及的原因之一即是电瓶车充电桩的普及。如果留心观察的话,相信大家都可以看出,国内大部分小区都已安装了充电桩设备,电瓶车充电桩已实现了大…...
mac监听 linux服务器性能可视化(Grafana+Promethus+Node_exporter)
Grafana和promethus(普罗米修斯)的安装和使用 监控系统的Prometheus类似于一个注册中心,我们可以只需要配置一个Prometheus,而在其他服务器,只需要安装node_exporter,它们的数据流转就是通过exporter采集数据信息,然后告诉prometheus它的位置…...
【负载均衡在线OJ项目日记】运行功能开发
目录 前言 运行功能开发分析 获取子进程运行信息 程序运行资源限制 运行功能开发代码 前言 上篇文章我们对客户端服务器传来的临时文件进行编译,这篇文章主要对编译成功的代码在我们的服务器运行这块功能的开发。 运行功能开发分析 在运行功能开发之前我们默…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
基于当前项目通过npm包形式暴露公共组件
1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹,并新增内容 3.创建package文件夹...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Spring数据访问模块设计
前面我们已经完成了IoC和web模块的设计,聪明的码友立马就知道了,该到数据访问模块了,要不就这俩玩个6啊,查库势在必行,至此,它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据(数据库、No…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
