kubernetes YAML文件的使用

2025-05-27 0 71

01 YAML文件介绍

K8S在启动Pod的时候,会使用yaml文件的方式来启动,今天我们来看看YAML文件最常用的格式。

YAML的语法和JSON语法很像,都是通过key-value形式来组织的,它可以表示list、dict等常用数据类型,它的后缀一般使用".yml",它有如下几个特点:

1、大小写敏感

2、使用缩进表示递进关系

3、缩进不允许使用tab,只允许使用空格

4、缩进的空格数不重要,只要相同层级的元素左侧对齐即可,这一点类似Python语法

5、使用"#"来表示注释

6、key-value结构用{}包围,list结构用[]包围

YAML—key-value类型

a、使用key:value的方式来表示,key和value中间需要一个空格,否则会报错;

b、如果有层级关系,可以通过下面两种方法来表示:

key:{key1: value1,key2: value1}

或者

key:
 key1:value1
 key2:value2

c、表示一个key-value格式,其中value是一个dict

websites:
YAML:yaml.org
Ruby:ruby-lang.org
Python:python.org
Perl:use.perl.org

表示成json格式就是:
websites:{
YAML:'yaml.org',
Ruby:'ruby-lang.org',
Python:'python.org',
Perl:'use.perl.org'
}

YAML—list类型

以-开头表示一个数组,如下:

-A
-B
-C

表示成数组是:[A,B,C]

下面是一个稍微复杂点儿的例子

students:
-
id:1
name:zhangsan
age:12
-
id:2
name:lisi
age:15

表示成数组是:
students:[{id:1,name:zhangsan,age:12},{id:2,name:lisi,age:15}]

数组中的元素又是一个key-value结构的dict

一段Json和一段Yaml的对比:

yaml格式的文件
nodes:
-name:jobE
type:command
config:
command:echo"ThisisjobE"
dependsOn:
-jobD

-name:jobD
type:command
config:
command:echo"ThisisjobD"
dependsOn:
-jobA
-jobB
-jobC


表示成json格式就是:
{
"nodes":[
{
"name":"jobE",
"type":"command",
"config":{
"command":"echo\\"ThisisjobE\\""
},
"dependsOn":[
"jobD"
]
},
{
"name":"jobD",
"type":"command",
"config":{
"command":"echo\\"ThisisjobD\\""
},
"dependsOn":[
"jobA",
"jobB",
"jobC"
]
}
]
}

02 K8S中Master、Node和Pod的关系

Master的架构图:

kubernetes YAML文件的使用

其中:

API Server提供了HTTP Rest接口,它是k8s中的所有资源增删改查的唯一入口,也是集群控制的入口;

Scheduler是负责资源调度的进程;

Controller Manager是所有资源对象的自动化控制中心;

Etcd提供资源对象的数据保存服务

K8S使用Master节点和Node节点部署的方式来管理整个集群,Master节点、Node节点和Pod的关系使用官方的结构图来说明比较贴切:

kubernetes YAML文件的使用

可以看到,Master和Node之间有直接的通信交互过程,而Pod是部署在Node上的,简单理解,就是:

Master是一台服务器,有固定的IP地址

Node是一台服务器,有固定的IP地址

Pod是Node上的一个进程,有一个虚拟的IP地址,有可能和Node IP地址相同,也有可能不同。

而我们知道,一个Pod中可以有多个容器,如果再加上容器,就会变成下面的样子:

kubernetes YAML文件的使用

他们之间的调用关系简单来说就是:

当Pod被创建的时候,它的信息就会被放入Master的Etcd存储,随后这些创建Pod的信息会被K8S调度到某个Node上,并进行绑定,然后该Pod它所在的Node上的kubelet进程实例化成一组相关的Docker容器并启动起来。

以上就是kubernetes YAML文件的使用的详细内容,更多关于kubernetes YAML文件的资料请关注快网idc其它相关文章!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 行业资讯 kubernetes YAML文件的使用 https://www.kuaiidc.com/65530.html

相关文章

发表评论
暂无评论