kubernetes YAML文件的使用
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、如果有层级关系,可以通过下面两种方法来表示:
c、表示一个key-value格式,其中value是一个dict
yaml---list类型
以-开头表示一个数组,如下:
下面是一个稍微复杂点儿的例子
一段json和一段yaml的对比:
02 k8s中master、node和pod的关系
master的架构图:
其中:
api server提供了http rest接口,它是k8s中的所有资源增删改查的唯一入口,也是集群控制的入口;
scheduler是负责资源调度的进程;
controller manager是所有资源对象的自动化控制中心;
etcd提供资源对象的数据保存服务
k8s使用master节点和node节点部署的方式来管理整个集群,master节点、node节点和pod的关系使用官方的结构图来说明比较贴切:
可以看到,master和node之间有直接的通信交互过程,而pod是部署在node上的,简单理解,就是:
master是一台服务器,有固定的ip地址
node是一台服务器,有固定的ip地址
pod是node上的一个进程,有一个虚拟的ip地址,有可能和node ip地址相同,也有可能不同。
而我们知道,一个pod中可以有多个容器,如果再加上容器,就会变成下面的样子:
他们之间的调用关系简单来说就是:
当pod被创建的时候,它的信息就会被放入master的etcd存储,随后这些创建pod的信息会被k8s调度到某个node上,并进行绑定,然后该pod它所在的node上的kubelet进程实例化成一组相关的docker容器并启动起来。
以上就是kubernetes yaml文件的使用的详细内容,更多关于kubernetes yaml文件的资料请关注其它相关文章!
推荐阅读
-
MP4Joiner怎么用?使用MP4Joiner快速合并多个mp4视频文件的方法介绍
-
python django框架中使用FastDFS分布式文件系统的安装方法
-
C#使用GZipStream实现文件的压缩与解压
-
C#使用反射(Reflect)获取dll文件中的类型并调用方法
-
c#使用linq技术创建xml文件的小例子
-
ASP.Net MVC_DotNetZip简单使用方法,解决文件压缩的问题
-
Spring Boot 使用 logback、logstash、ELK 记录日志文件的方法
-
使用python读取.text文件特定行的数据方法
-
使用python制作一个为hex文件增加版本号的脚本实例
-
使用python批量化音乐文件格式转换的实例