YAML文件格式_k8s/docker-compose配置文件
YAML(Yet Another Markup Language),是一个JSON的超集,意味着任何有效JSON文件也都是一个YAML文件。它规则如下:
1)大小写敏感
2)使用缩进表示层级关系,但不支持tab缩进,只支持空格
3)缩进的数量不重要但至少一个空格,只要相同层级使用相同数量的空格即可
4)“#”表示注释,从这个字符开始,直到行末,都会被解析器忽略
关于k8s中YAML的使用,只有两种类型:Maps和Lists,Maps的子项可以是Lists,Lists的子项也可以是Maps。
Maps:就是一个字典,即key:value的键值对。
---
apiVersion: v1
kind: Pod
metadata:
name: kube100-site
labels:
app: web
第一行是分隔符,并且是可选的。如果在单个文件中只定义了一个服务,那么这种情况下,第一行的分隔符就可以忽略不计。在上面的例子中,可以看出有两个值:v1和Pod,对应它们的键是apiVersion和kind。
metadata这个key对应的值为一个Maps,而嵌套的labels这个key的值又是一个Map。实际使用中可视情况进行多层嵌套。
YAML处理器根据行缩进来知道内容之间的关联。上述例子中,使用两个空格作为缩进,但空格的数据量并不重要,只是至少要求一个空格并且所有缩进保持一致的空格数 。例如,name和labels是相同缩进级别,因此YAML处理器知道他们属于同一map;它知道app是lables的值,因为app的缩进更大。
Lists:就是一个列表。
args
-beijing
-shanghai
-shenzhen
-guangzhou
可以有任何数量的项在列表中,项的定义以破折号(-)开头,并且和父元素之间存在缩进。在JSON格式中,表示如下:
{
“args”: [“beijing”, “shanghai”, “shenzhen”, “guangzhou”]
}
一个示例如下:
---
apiVersion: v1
kind: Pod
metadata:
name: kube100-site
labels:
app: web
spec:
containers:
- name: front-end
image: nginx
ports:
- containerPort:
- name: flaskapp-demo
image: jcdemo/flaskapp
ports:
如上述文件所示,定义一个containers的List对象,每个子项都由name、image、ports组成,每个ports都有一个KEY为containerPort的Map组成
参考:
YAML文件格式_k8s/docker-compose配置文件的更多相关文章
- Docker Compose 配置文件常用指令
Docker Compose 配置文件常用指令 YAML文件格式及编写注意事项 YAML是一种标记语言很直观的数据序列化格式,可读性高.类似于XML数据描述语言,语法比XML简单的很多. YAML数据 ...
- Docker Compose配置文件详解(V3)
Docker Compose配置文件是Docker Compose的核心,用于定义服务.网络和数据卷.格式为YAML,默认路径为./docker-compose.yml,可以使用.yml或.yaml扩 ...
- Docker Compose 配置文件详解
先来看一份 docker-compose.yml 文件,不用管这是干嘛的,只是有个格式方便后文解说: version: '2' services: web: image: dockercloud/he ...
- Docker学习笔记 - Docker Compose 脚本命令
Docker Compose 配置文件包含 version.services.networks 三大部分,最关键的是 services 和 networks 两个部分, version: '2' se ...
- Docker学习笔记之常用的 Docker Compose 配置项
0x00 概述 与 Dockerfile 一样,编写 Docker Compose 的配置文件是掌握和使用好 Docker Compose 的前提.编写 Docker Compose 配置文件,其本质 ...
- Docker学习笔记之使用 Docker Compose 管理容器
0x00 概述 通过之前的介绍,我们已经基本掌握了构建.运行容器的方法,但这还远远不够,由于 Docker 采用轻量级容器的设计,每个容器一般只运行一个软件,而目前绝大多数应用系统都绝不是一个软件所能 ...
- 利用docker compose启动gitlab及runner
添加docker compose配置文件 新建文件docker-compose.yml,输入如下内容: gitlab: image: 'gitlab/gitlab-ce:latest' contain ...
- .NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行
本文工具准备: Docker for Windows Visual Studio 2015 与 Visual Studio Tools for Docker 或 Visual Studio 2017 ...
- Docker学习笔记之编写 Docker Compose 项目
0x00 概述 通过阅读之前的小节,相信大家对 Docker 在开发中的应用已经有了一定的了解.作为一款实用的软件,我们必须回归到实践中来,这样才能更好地理解 Docker 的实用逻辑和背后的原理.在 ...
随机推荐
- VMware5.5-vCenter的安装准备及安装
vSphere 最近公司来了新同事,为了帮助他尽快熟悉VM-vsphere,一块复习了下,并把实验总结为文档. 声明:本例是以王隆杰老师的vsphere5.5教程为基础和线索进行的,由于时间匆忙,可能 ...
- BZOJ.5288.[AHOI/HNOI2018]游戏(思路 拓扑)
BZOJ LOJ 洛谷 考虑如何预处理每个点能到的区间\([l,r]\). 对于\(i,i+1\)的一扇门,如果钥匙在\(i\)的右边,连边\(i\to i+1\),表示从\(i\)出发到不了\(i+ ...
- CC NOV17
PERPALIN 可以考虑最后的状态可以是两个非常长而且相同的前缀和后缀中间再加一小段,然后就是不断缩小区间至出解 CHEFHPAL 发现当字符集大于等于3的时候abc循环一定是没有大于1的回文子串的 ...
- [JOISC2014]スタンプラリー
[JOISC2014]スタンプラリー 题目大意: 有\(n(n\le3000)\)个车站,另有一个起点站和终点站,所有车站排成一条链,相邻两个车站之间的距离为\(t\).每个车站都有一个上行站台.一个 ...
- 最优贸易 [NOIP 2009]
Description C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分为双向 ...
- Exception引起的性能问题
先show一下两段代码,两段代码都能比较好的实现业务逻辑,但是在高并发下,如果传入的参数为空,那么两段代码的性能表现完全不一样. private static string Get(string fi ...
- HTML 标题标签
HTML:超文本标记语言基本结构 <!DOCTYPE html> <!--文档的声明 一个HTML文件就是一个文档 --> <html lang="en&quo ...
- Spring使用原生JDBC
Spring使用原生JDBC 为加深对Spring解耦的理解,本次实验学习用Spring连接JDBC 一.POM配置文件 pom.xml <project xmlns="http:// ...
- 用Java代码列出一个目录下所有的文件
1.File类 File类在java.io.File包中,所以要导入这个包. File类中用到的方法: boolean isDirectory() 测试此抽象路径名表示的文件是否是个目录 ...
- Python之函数第三篇
一.匿名函数 匿名函数是lambda定义的没有名字的具有一些小功能的函数 具体形式是 lambda x: X**2 # 求平方操作 lambda x: x>100 # 判断参数是否大于100 二 ...