当前位置: 首页 > Linux

Kubernetes的YAML语法

时间:2023-04-06 19:37:14 Linux

YAML是一种非常简洁/强大/专业的配置文件编写语言!YAML的全称是“YAMLAin'taMarkupLanguage”的递归缩写。这种语言的设计参考了JSON/XML和SDL等语言,强调以数据为中心,简洁易读,易写。YAML语法特点学过编程的应该很容易理解语法特点区分大小写通过缩进来表达层次关系Tab禁止缩进,只能使用空格键缩进的空格个数不重要,只要相同level左对齐#表示注释#yamllanguages:-Ruby-Perl-Pythonwebsites:YAML:yaml.orgRuby:ruby??-lang.orgPython:python.orgPerl:use.perl.org#Json{languages:['Ruby','Perl','Python'],网站:{YAML:'yaml.org',Ruby:'ruby-lang.org',Python:'python.org',Perl:'use.perl.org'}}数据结构object:keydictionary-arrayofvaluepairs:asetoforderedlists-scalar:asingleandindivisiblevalue#scalarhello#array-Cat-Dog-Goldfish#objectanimal:petsquotesdistinguishingsinglequotes(''):特殊字符被当作普通字符串#YAML允许使用感叹号(!)强制转换数据类型#单感叹号通常是自定义类型,双感叹号是内置类型money:!!str123date:!BooleantrueYAML中的标量是最基本的不可分割的值string#没有使用引号name:Tom#使用单引号name:'Tom'#使用双引号name:"Tom"booleandebug:truedebug:falsenumber12#十进制整数014#八进制整数0xC#十六进制整数13.4#浮点数1.2e+34#Exponent.inf#InfinityNulldate:~date:nulltime#用iso-8601标准表示日期date:2018-01-01t16:59:43.10-05:00YAML是一种特殊类型的文本块,在日常使用中基本用不到。#注意“|”之间必须换行和文字。#使用|标记块的文本内容,可以保留已有的回车换行值:|你好世界!#输出结果#hellolinefeedworld!#+表示保留文本块末尾的换行符#-表示删除字符串末尾的换行符空格#缩进>标记的文本内容所代表的块,将块中的回车换成一个空格,最后连成一行值:>helloworld!#输出结果#hellospaceworld!锚点和引用#复制代码注意*引号不能加内容#使用&定义数据锚点,即要复制的数据#使用*引用锚点数据,即数据复制目标名称:&ayamlbook:*abooks:-java-*a-python#输出结果book:yamlbooks:[java,yaml,python]YAML实例说明,只说不练假动作=>JS-Yaml官网实例地址https://nodeca.github.io/js-yaml---#集合类型################################################################################################################################################http://yaml.org/type/map.html----------------------------------------------#map:#Un有序的键集:值对。块样式:!!mapClark:EvansIngy:d?tNetOren:Ben-KikiFlow样式:!!map{Clark:Evans,Ingy:d?tNet,Oren:Ben-Kiki}#http://yaml.org/type/omap.html--------------------------------------------#omap:#明确类型化的有序地图(字典)。动物寓言:!!omap-aardvark:非洲猪状食蚁兽。丑陋的。-食蚁兽:南美食蚁兽。两种。-蟒蛇:南美大蟒蛇。鳞片状的。#Etc.#FlowstyleNumbers:!!omap[one:1,two:2,three:3]#http://yaml.org/type/pairs.html------------------------------------------#pairs:#显式类型对。块任务:!!对-会议:与团队。-会议:与老板。-休息:午餐。-会议:与客户。流程任务:!!pairs[meeting:withteam,meeting:withboss]#http://yaml.org/type/set.html----------------------------------------------#set:#显式类型集。棒球图层:!!设置?马克麦奎尔?萨米索萨?KenGriffey#Flow风格棒球队:!!set{波士顿红袜队、底特律老虎队、纽约洋基队}#http://yaml.org/type/seq.html----------------------------------------------#seq:#有序的节点序列Blockstyle:!!seq-Mercury#旋转-没有亮/暗面。-Venus#最致命。名副其实。-地球#主要是泥土。-火星#似乎是空的。——木星#国王。-土星#漂亮。-天王星#太阳几乎照不到的地方。-海王星#无聊。没有戒指。-冥王星#你管这叫行星?流式:!!seq[Mercury,Venus,Earth,Mars,#RocksJupiter,Saturn,Uranus,Neptune,#GasPluto,]#Overrated#ScalarTypes##################################################################################################################################################http://yaml.org/type/bool.html----------------------------------------------#bool:-true-True-TRUE-false-False-FALSE#http://yaml.org/type/float.html-------------------------------------------#float:canonical:6.8523015e+5exponentioal:685.230_15e+03fixed:685_230.15sexagesimal:190:20:30.15negativeinfinity:-.infnotanumber:.NaN#http://yaml.org/type/int.html---------------------------------------------#int:规范:685230十进制:+685_230八进制:02472256十六进制:0x_0A_74_AE二进制:0b1010_0111_0100_1010_1110六十进制:190:20:30#http://yaml.org/type/merge.html------------------------------------------#merge:-&CENTER{x:1,y:2}-&LEFT{x:0,y:2}-&BIG{r:10}-&SMALL{r:1}#以下所有映射都是相等的:-#显式键x:1y:2r:10label:nothing-#合并一张地图<<:*CENTERr:10label:center-#合并多张地图<<:[*CENTER,*BIG]label:center/big-#Override<<:[*BIG,*LEFT,*SMALL]x:1标签:big/left/small#http://yaml.org/type/null.html--------------------------------------------#null:#这个映射有四个键,#一个是有价值的。empty:canonical:~english:null~:nullkey#这个序列有五个#条目,两个有值。稀疏:-~-第2个条目--第4个条目-Null#http://yaml.org/type/str.html--------------------------------------------#string:abcd#http://yaml.org/type/timestamp.html------------------------------------#timestamp:canonical:2001-12-15T02:59:43.1Z有效iso8601:2001-12-14t21:59:43.10-05:00空格分隔:2001-12-1421:59:43.10-5无时区(Z):2001-12-152:59:43.10日期(00:00:00Z):2002-12-14#JavaScript特定类型#####################################################################################################################################https://developer.mozilla。org/en/JavaScript/Reference/Global_Objects/RegExpregexp:简单:!!js/regexpfoobar修饰符:!!js/regexp/foobar/mi#https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/undefinedundefined:!!js/undefined~#https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Functionfunction:!!js/function>functionfoobar(){return'哇!JS-YAML摇滚!';}#自定义类型##################################################################################################################################################JS-YAML允许您为结构指定自定义YAML类型。#这是在`js/demo.js`中定义的自定义构造函数的简单示例,用于#自定义`!sexy`类型:##varSexyYamlType=newjsyaml。Type('!sexy',{#kind:'sequence',#construct:function(data){#returndata.map(function(string){return'sexy'+string;});#}#});##varSEXY_SCHEMA=jsyaml.Schema.create([SexyYamlType]);##result=jsyaml.load(yourData,{schema:SEXY_SCHEMA});foobar:!sexy-bunny-chocolate作者:Escape链接:https://www.escapelife.site/p...