k8s集群资源编排方式(yaml文件)

 更新时间:2026年04月16日 10:17:35   作者:Voir Toi  
文章主要介绍了Kubernetes集群中使用YAML文件进行资源管理和和编排部署的方法,YAML是一种标记语言,用于数据序列化,YAML文件书写格式有特定的规则,如使用空格进行缩进、使用#标识注释等,文章还介绍了生成YAML文件的方法,包括使用kubectl create和kubectl get命令

1、YAML 文件概述

k8s集群中对资源管理和资源对象编排部署都可以通过声明样式(YAML)文件来解决,

也就是可以把需要对资源对象操作编辑到 YAML 格式文件中,

我们把这种文件叫做资源清单文件,通过 kubectl 命令直接使用资源清单文件就可以实现对大量的资源对象进行编排部署。

2、YAML 文件书写格式

(1)YAML 介绍

  • YAML :仍是一种标记语言。
  • 为了强调这种语言以数据做为中心,而不是以标记语言为重点。
  • YAML 是一个可读性高,用来表达数据序列的格式。

(2)YAML 基本语法

  • 使用空格做为缩进
  • 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
  • 一般开头缩进俩空格;字符串后缩进一个空格,比如冒号、逗号后边
  • 使用 — 表示新的yaml文件的开始
  • 使用#标识注释,从这个字符一直到行尾,都会被解释器忽略

(3)YAML 组成部分

  • 控制器定义
  • 被控制对象

(4)常用字段说明

apiVersion          //API版本
kind                //资源类型
metadata            //资源元数据
spec                //资源规格
replicas            //副本数量
selector            //标签选择器
template            //pod模板
metadata            //pod元数据
sepc                //pod规格
containers          //容器配置

3、快速生成yaml文件

(1)使用 kubectl create 命令生成yaml文件(未部署项目)

//创建一个资源名称为“web”的deployment
kubectl create deployment web --image=nginx

//生成一个yaml文件;--dry-run表示尝试运行
kubectl create deployment web --image=nginx -o yaml --dry-run

//将生成内容输出到一个文件中去
kubectl create deployment web --image=nginx -o yaml --dry-run > m1.yaml

(2)使用 kubectl get 命令导出yaml文件(已部署项目)

//将deploy类型的nginx的yaml文件进行展示
kubectl get deploy nginx -0 yaml

//将展示的文件
kubectl get deploy nginx -0 yaml --export > m2.yaml

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • k8s admin用户生成token方式

    k8s admin用户生成token方式

    用户使用Kubernetes 1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其token,最后检查token是否存在及生效情况
    2025-09-09
  • 在CentOS上如何安装Singularity高性能容器

    在CentOS上如何安装Singularity高性能容器

    Singularity是劳伦斯伯克利国家实验室专门为大规模、跨节点HPC和DL工作负载而开发的容器化技术,具备轻量级、快速部署、方便迁移等优势,且支持从Docker镜像格式转换为Singularity镜像格式,本文给大家介绍在CentOS上如何安装Singularity高性能容器,感兴趣的朋友一起看看吧
    2024-05-05
  • K8s HPA(自动伸缩)解读

    K8s HPA(自动伸缩)解读

    HPA(HorizontalPodAutoscaler)根据CPU/内存使用率自动调整Pod数量,实现水平扩展,与垂直扩展不同,需安装MetricsServer,支持Deployment、StatefulSet等资源,但不适用于DaemonSet
    2025-08-08
  • Hadoop 2.x与3.x 22点比较,Hadoop 3.x比2.x的改进

    Hadoop 2.x与3.x 22点比较,Hadoop 3.x比2.x的改进

    本文介绍了Hadoop3版本中添加的新功能,Hadoop 2和Hadoop 3的区别,在这篇文章中,我们将讨论Hadoop 2.x与Hadoop 3.x之间的比较。感兴趣的朋友跟随小编一起看一下
    2018-09-09
  • k8s 中的 service 如何找到绑定的 Pod 及实现 Pod 负载均衡的方法

    k8s 中的 service 如何找到绑定的 Pod 及实现 

    service 是一组具有相同 label pod 集合的抽象,集群内外的各个服务可以通过 service 进行互相通信,这篇文章主要介绍了k8s 中的 service 如何找到绑定的 Pod 以及如何实现 Pod 负载均衡,需要的朋友可以参考下
    2022-10-10
  • podman容器工具的具体使用

    podman容器工具的具体使用

    本文主要介绍了podman容器工具的具体使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 最新青龙面板2.10.2搭建+XDD-PLUS的保姆级教程

    最新青龙面板2.10.2搭建+XDD-PLUS的保姆级教程

    这篇文章主要介绍了最新青龙面板2.10.2搭建+XDD-PLUS的保姆级教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • K8S使用NFS动态创建PVC实践

    K8S使用NFS动态创建PVC实践

    本文介绍了两种使用NFS作为K8S中容器数据持久化后端存储的方法,并在产线环境中进行了验证,第一种方法使用了nfs-client-provisioner,第二种方法使用了csi-nfs-driver,两种方法均通过动态创建PVC实现数据持久化,并验证了文件的读写能力
    2026-03-03
  • 一文讲解如何获取k8s容器里运行的jar包

    一文讲解如何获取k8s容器里运行的jar包

    K8S是Google开源的容器集群管理系统,其设计目标是在主机集群之间提供一个能够自动化部署、可拓展、应用容器可运营的平台,这篇文章主要给大家介绍了关于如何获取k8s容器里运行的jar包的相关资料,需要的朋友可以参考下
    2022-09-09
  • K8s Taint污点与Toleration容忍详解

    K8s Taint污点与Toleration容忍详解

    Kubernetes通过Taint与Toleration控制Pod调度与驱逐,Taint类型包括NoSchedule、NoExecute、PreferNoSchedule,Toleration可配置匹配规则及容忍时间,用于应对节点故障、网络抖动等场景,同时需注意参数优先级和内置策略
    2025-08-08

最新评论