yaml文件格式说明及编写教程

这篇具有很好参考价值的文章主要介绍了yaml文件格式说明及编写教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、ymal介绍
k8s是容器编排引擎,使用yaml来编排部署应用
特点:1、缩进表示层级关系
           2、不支持制表符“tab”缩进,需要使用空格缩进
           3、通常开头缩进两个空格
           4、关键词字符后缩进一个空格,比如冒号与逗号后面需要缩进一个字符
           5、“---”表示YAML格式,一个文件的开始
            6、“#”表示注释
以下yaml为例
yaml文件格式说明及编写教程
等同于
 kubectl create deployment web --image=lizhenliang/java-demo --replicas=3 -n default
2、编写示例yaml
在使用中我们可能存在API版本不一致导致报错,可以通过命令查看版本
kubectl api-resources |grep Deployment
yaml文件格式说明及编写教程
1、其中,标签一般定义两个,由项目与应用组成,#键:值 可任意定义。例如
project:ec 
app: portal
2、matchLabels必须与下面的labels保持一致,否则apply会报错
例如下面这个创建deployment的yaml
kind: Deployment
metadata:
  name: web666
  namespace: team-a
spec:
  replicas: 3
  selector:
    matchLabels:
      project: ec
      app: portal
  template:
    metadata:
      labels:
        project: ec
        app: portal
    spec:
      containers:
      - name: web
        image: lizhenliang/java-demo:latest
其中,标签可以为两个,他是以键值对的方式存储,但matchLabels的值必须与labels相等,不相等会创建报错,而service是以标签来控制pod
           replicas为副本数,image为拉取镜像名
2、创建service
apiVersion: v1
kind: Service
metadata:
  name: web666
  namespace: team-a
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 8080
  selector:
    project: ec
    app: portal
  type: NodePort
标签与命名空间要确保与deployment一致
执行两个yaml文件
kubectl apply -f deployment.yaml
kubectl apply -f service.yam
查看服务
yaml文件格式说明及编写教程
成功
3、快速生成yaml文件
直接手写yaml比较麻烦,而且容易出错,所以有提供以下方式获取标准yaml文件并修改
3.1生成新yaml
1、通过命令获取yaml,可以通过创建服务的命令后面加 --dry-run=client -o yaml 来提取yaml,再根据获取到的yaml进行修改即可
例如
kubectl create deployment java-demo --image=nginx:1.20 -n team-a --dry-run=client -o yaml

他会输出yaml,加重定向导出即可,其中,creationTimestamp与status: {}可以删除文章来源地址https://www.toymoban.com/news/detail-470271.html

apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: java-demo
  name: java-demo
  namespace: team-a
spec:
  replicas: 1
  selector:
    matchLabels:
      app: java-demo
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: java-demo
    spec:
      containers:
      - image: nginx:1.20
        name: java-demo
        resources: {}
status: {}
3.2 将已有的服务yaml导出
k8s支持将正在运行的服务的yaml文件导出,使用get命令加-o yaml即可(xxx为服务名)
kubectl get deployment xxx -o yaml
例如下图
yaml文件格式说明及编写教程
注意,此yaml内容不能直接在其他k8s环境中使用,在其他环境中使用的话要进行一些删除,要删除的内容如下:
yaml文件格式说明及编写教程
剩余的内容则是一个标准yaml,可以直接使用也可以用作模板修改
3.3关键词提醒
kubectl explain pods.spec.containers
kubectl explain deployment
3.4官网查找
直接在官网搜索关键词,官方会给演示示例
官网地址:
https://kubernetes.io/zh/docs/home/Kubernetes

到了这里,关于yaml文件格式说明及编写教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 容器编排学习(二)镜像制作和私有仓库介绍

    commit的局限 很容易制作简单的镜像,但碰到复杂的情况就十分不方便例如碰到下面的情况 需要设置默认的启动命令 需要设置环境变量 需要指定镜像开放某些特定的端口 Dockerfile就是解决这些问题的方法 Dockerfile是一种更强大的镜像制作方式 编写类似脚本的 Dockerfile 文件,通

    2024年02月09日
    浏览(45)
  • 云原生Kubernetes:Yaml文件编写

    目录 一、理论 1.Kubernetes与yaml文件 2.deployment、rc、rs之间yaml文件的对比 3.Deployment类型编写redis服务 二、实验 1.Kubernetes与yaml文件 2.Deployment类型编写redis服务 三、问题 1.声明式生成yaml文件报错 2.上下文格式配置错误 3.kubectl create 和 kubectl apply区别 四、总结 (1)Kubernetes支持管

    2024年02月09日
    浏览(35)
  • Kubernetes(k8s)容器编排Pod介绍和使用

    Pod是kubernetes中你可以创建和部署的最小也是最简的单位,一个Pod代表着集群中运行的一个进程。 Pod有两个必须知道的特点 通过yaml文件或者json描述Pod和其内容器的运行环境和期望状态,例如一个最简单的运行nginx应用的pod,定义如下 3.1.1 参数描述 下面简要分析一下上面的

    2024年02月08日
    浏览(78)
  • 【Kubernetes】yaml文件格式

    目录 YAML 语法格式: 查看 api 资源版本标签 写一个yaml文件demo 创建资源对象 查看创建的pod资源 创建service服务对外提供访问并测试 创建资源对象 查看创建的service 在浏览器输入 nodeIP:nodePort 即可访问 kubectl run --dry-run=client 打印相应的 API 对象而不执行创建 查看生成yaml格式 查

    2024年02月13日
    浏览(36)
  • k8s-如何快速编写yaml文件(新手)

    但是这个过程并没有在集群中执行,只是把结果通过yaml格式的方式输出出来,包括咱们可把它输出到文件里 场景:适用于部署好的项目,可以把部署好的项目中的yaml文件导出出来,实际效果比较实用

    2024年02月13日
    浏览(37)
  • K8S学习笔记-01(yaml文件编写)

    原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。 邮箱:yinwanit@163.com 记录k8s中yaml文件编写相关内容。 k8s官网文档库:https://kubernetes.io/docs/home/ kubelet 命令参考:https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands k8s中yaml文件结尾需以.yml或.yaml结

    2024年02月14日
    浏览(37)
  • 常见类型的yaml文件如何编写?--kind: Deployment

    Deployment 资源是 Kubernetes 重要的组成部分之一,通过指定 Deployment 中的 Pod 模板和副本数量,Kubernetes 可以自动地创建并管理一组具有相同配置的 Pod,这样即使某些 Pod 发生故障或需要升级,也可以轻松地进行控制和管理。 因此,当我们使用  kind: Deployment  时,YAML 文件中应该

    2024年01月24日
    浏览(31)
  • 常见类型的yaml文件如何编写?--kind: Service

    在 Kubernetes 中, Service  是一种抽象的方式,用于定义一组 Pod 的访问方式和网络服务。Service 提供了一个稳定的网络端点(Endpoint),使得其他服务或外部用户可以通过 Service 来访问被管理的 Pod。 负载均衡 :Service 可以将流量均匀地分发到一组后端 Pod。通过使用 Service,您无

    2024年01月22日
    浏览(47)
  • K8S:Yaml文件详解及编写示例

    (1)Kubernetes 支持 YAML 和 JSON 格式管理资源对象 (2)JSON 格式:主要用于 api 接口之间消息的传递 (3)YAML 格式:用于配置和管理,YAML 是一种简洁的非标记性语言,内容格式人性化,较易读 (1)大小写敏感 (2)使用缩进表示层级关系 (3)不支持Tab键制表符缩进,只使用

    2024年02月04日
    浏览(39)
  • Flutter 应用开发的pubspec.yaml文件说明

    pubspec.yaml是Flutter项目中的配置文件,它用于定义项目的依赖项、资源文件以及其他相关配置。 以下是pubspec.yaml文件的一些关键点: 项目名称:通过name字段指定项目的名称。 项目描述:通过description字段提供对项目的简要描述。 依赖项:使用dependencies字段定义项目所依赖的

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包