欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

kubernetes YAML文件的使用

程序员文章站 2023-03-23 22:25:36
01 yaml文件介绍 k8s在启动pod的时候,会使用yaml文件的方式来启动,今天我们来看看yaml文件最常用的格式。 yaml的语法和json语法很像,都是通过key-value形式来组...

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的架构图:

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文件的资料请关注其它相关文章!

相关标签: kubernetes YAML