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.rhkb.cn/news/321454.html

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

相关文章

02-Fortran基础--Fortran操作符与控制结构

02-Fortran基础--Fortran操作符与控制结构 0 引言1 操作符1.1 数学运算符1.2 逻辑运算符1.3 关系运算符 2 控制流程2.1 条件结构2.2 循环结构2.3 分支结构 0 引言 运算符和控制流程对编程语言是必须的,Fortran的操作符和控制流程涉及到各种数学运算符、逻辑运算符以及控制结构。…

Python高级编程-DJango2

Python高级编程-DJango2 没有清醒的头脑,再快的脚步也会走歪;没有谨慎的步伐,再平的道路也会跌倒。 目录 Python高级编程-DJango2 1.显示基本网页 2.输入框的形式: 1)文本输入框 2)单选框 3&#xff…

elementui+vue通过下拉框多选字段进行搜索模糊匹配

从字典中选择的值为["01","03"],在最开始的时候进行的处理是类似于表单提交的时候将json对象转换成了String类型 nature:["01","03"] this.queryParams.nature JSON.stringify(this.queryParams.nature); mapper层 <if test&quo…

截图工具Snipaste:不仅仅是截图,更是效率的提升

在数字时代&#xff0c;截图工具已成为我们日常工作和生活中不可或缺的一部分。无论是用于工作汇报、学习笔记&#xff0c;还是日常沟通&#xff0c;一款好用的截图工具都能大大提升我们的效率。今天&#xff0c;我要向大家推荐一款功能强大且易于使用的截图软件——Snipaste。…

Pycharm无法链接服务器环境(host is unresponsived)

困扰了很久的一个问题&#xff0c;一开始是在服务器ubuntu20.04上安装pycharm community&#xff0c;直接运行服务器上的pycharm community就识别不了anaconda中的环境 后来改用pycharm professional也无法远程连接上服务器的环境&#xff0c;识别不了服务器上的环境&#xff…

关系型数据库MySQL开发要点之多表设计案例详解代码实现

什么是多表设计 项目开发中 在进行数据库表结构设计时 根据数据模型和业务关系 会根据业务需求和业务模块之间的关系分析设计表结构 由于业务之间互相关联 所以表结构之间也存在着各种联系 主要分为以下三种 一对多 每个部门下是有多个员工的 但是一个员工只能归属一个部…

【C/C++】设计模式——单例模式

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

类加载器aa

一&#xff0c;关系图及各自管辖范围 &#xff08;不赘述&#xff09; 二&#xff0c;查看关系 package com.jiazai;public class Main {public static void main(String[] args) {ClassLoader appClassLoader ClassLoader.getSystemClassLoader();//默认System.out.println…

【数据结构】C/C++ 带头双向循环链表保姆级教程(图例详解!!)

目录 一、前言 二、链表的分类 &#x1f95d;单链表 &#x1f95d;双链表 &#x1f95d;循环链表 &#x1f95d;带头双向循环链表 &#x1f34d;头节点&#xff08;哨兵位&#xff09;的作用 ✨定义&#xff1a; ✨作用&#xff1a; &#x1f347;总结 三、带头双向循环链表 …

RS®ZNLE 矢量网络分析仪

R&SZNLE 矢量网络分析仪 宽频率范围&#xff1a;100 kHz 至 20 GHz 基础测量任务 价值高 独立操作 基础网络分析应用的理想之选 R&SZNLE 矢量网络分析仪易于用户使用&#xff0c;适用于基础测量任务 闻名遐迩的优质设计、创新的用户界面以及紧凑尺寸使 R&…

偏微分方程算法之椭圆型方程差分格式编程示例

目录 一、示例1-五点菱形格式 1.1 C代码 1.2 计算结果 二、示例2-九点紧差分格式 2.1 C代码 2.2 计算结果 三、示例3-二阶混合边值 3.1 C代码 3.2 计算结果 本专栏对椭圆型偏微分方程的三种主要差分方法进行了介绍&#xff0c;并给出相应格式的理论推导过程。为加深对…

力扣刷题--数组--第二天

今天仍然做二分查找相关的题目。先来回顾一下二分查找的方法和使用的条件。二分查找是在数组中查找目标值的一种方法&#xff0c;通过边界索引确定中间索引&#xff0c;判断中间索引处的元素值和目标值的大小&#xff0c;来不断缩小查找区间。使用二分查找有如下一些限制&#…

C语言实战项目--贪吃蛇

贪吃蛇是久负盛名的游戏之一&#xff0c;它也和俄罗斯⽅块&#xff0c;扫雷等游戏位列经典游戏的行列。在编程语言的教学中&#xff0c;我们以贪吃蛇为例&#xff0c;从设计到代码实现来提升大家的编程能⼒和逻辑能⼒。 在本篇讲解中&#xff0c;我们会看到很多陌生的知识&…

yum仓库

yum简介 1.基于RPM包构建的软件更新机制 2.可以自动解决依赖关系 3.所有软件包由yum软件仓库提供 yum工作原理 yum主配置文件 [rootlocalhost ~]# cat /etc/yum.conf [main] cachedir/var/cache/yum/$basearch/$releasever #yum下载的RPM包的缓存目录 $basearch代表硬件架…

CANdela/Diva系列1--CANdela Studio的基本介绍

大家好&#xff0c;这个系列主要给大家介绍跟诊断相关的Vector 工具CANdela和Diva&#xff0c;首先介绍CANdela。 目录 1.CANdela的简介&#xff1a; 2.如何打开CANdela 工程&#xff1a; 3.CANdela工程的详细介绍&#xff1a; 3.1 工具栏的介绍&#xff1a; 3.2 工作树的…

论文复现丨多车场带货物权重车辆路径问题:改进邻域搜索算法

引言 本系列文章是路径优化问题学习过程中一个完整的学习路线。问题从简单的单车场容量约束CVRP问题到多车场容量约束MDCVRP问题&#xff0c;再到多车场容量时间窗口复杂约束MDCVRPTW问题&#xff0c;复杂度是逐渐提升的。 如果大家想学习某一个算法&#xff0c;建议从最简单…

鸿蒙OpenHarmony【基于Hi3516DV300开发板(时钟应用开发)】

概述 本文将介绍如何快速搭建基于OpenHarmony标准系统&#xff08;Hi3516DV300开发板&#xff09;的应用开发环境&#xff0c;并基于一个时钟APP示例逐步展示应用的创建、开发、调试和安装等流程。示例代码可以通过本链接获取。 时钟App是一款显示实时时间的应用&#xff0c;…

LeetCode 11—— 盛最多水的容器

阅读目录 1. 题目2. 解题思路一3. 代码实现一4. 解题思路二5. 代码实现二 1. 题目 2. 解题思路一 暴力法&#xff0c;遍历所有可能的垂线对 ( i , j ) (i, j) (i,j)&#xff0c;求取最大面积&#xff1a; a r e a m i n ( h [ i ] , h [ j ] ) ∗ ( j − i ) area min(h[i]…

从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(下)

文章目录 第一章&#xff1a;感知机的局限性1.1 异或门的挑战1.2 线性与非线性问题 第二章&#xff1a;多层感知机2.1 已有门电路的组合2.2 实现异或门 第三章&#xff1a;从与非门到计算机 文章文上下两节 从简单逻辑到复杂计算&#xff1a;感知机的进化与其在现代深度学习和人…

【计算机科学速成课】笔记三——操作系统

文章目录 18.操作系统问题引出——批处理设备驱动程序多任务处理虚拟内存内存保护Unix 18.操作系统 问题引出—— Computers in the 1940s and early 50s ran one program at a time. 1940,1950 年代的电脑&#xff0c;每次只能运行一个程序 A programmer would write one at…