13、k8s-pod模块-pod结构-pod的yaml属性

 每个pod中都可以包含一个或多个容器、这些容器可以分为两类:

  ·用户程序所在的容器、数量可多可少

  ·pause容器,这是每个pod都会有的一个根容器、它的作用有两个:

    ·可以以它为依据、评估整个pod的健康状态

    ·可以在根容器上设置ip地址,其它容器都以此IP(pod ip) 来实现pod内部的网络通信(这里指的是pod内部的通信、pod之间的通讯采用虚拟的二层网络技术来实现、当前环境使用的是flannel)

 

pod的资源清单:yaml文件的配置

1、查看pod的yaml配置示例(k8s内部提供):
    ·查看一级属性可配置项:kubectl explain pod
        ·查看二级属性可配置项:kubectl explain pod.metadata
            ·查看三级属性可配置项:kubectl explain pod.metadata.name
                ·.....
2、适用于namespace、deployment、service

 

yaml一级清单解析

注意:在kubernetes中基本所有资源的一级属性都是一样的、主要包括下面5部分:

1、apiVersion:    <string>       版本、由kubernetes内部定义、版本号必须可以使用kubectl api-versions来查询到
2、kind: <string>            类型,由kubernetes内部定义、版本号必须可以使用kubectl api-resources来查询到
3、metadata:    <Object>         元数据、主要是资源标识核说明、常用的有name、namespace、labels等
4、spec:    <Object>          描述、这是配置中最重要的一部分、里面是对各种资源配置的详细描述
5、status:    <Object>        状态信息、里面的内容不需要定义、有kubernetes自动生产
  ·可通过-o yaml 查看某个pod的状态:kubectl get pods nginx0-64777cd554-cdsh6 -ndev -o yaml

 

spec选项的常用子属性:

1、containers:    <[]Object>    容器列表,用于定义容器的详细信息
2、nodeName:    <String>    根据nodeName的值将pod调度到指定的Node节点上
3、nodeSelector:    <map[]>    根据NodeSelector中定义的信息选择将该pod调度到包含这些label的Node上
4、hostNetwork:    <boolean>    是否使用主机网络模式、默认所谓false、如果设置为true、表示使用宿主机网络
5、volumes:    <[]Object>    存储卷、用于定义pod上面挂载的存储信息
6、restartPolicy:    <string>    重启策略、表示pod在遇到故障的时候的处理策略

 

posted @ 2024-07-01 00:10  little小新  阅读(10)  评论(0编辑  收藏  举报