zoukankan      html  css  js  c++  java
  • k8s-yaml定义pod属性说明

    属性名称  取值类型 是否必选 取值说明
    version String Required 版本号,如 v1
    kind String Required Pod
    metadata Object Required 元数据
    metadata.name String Required Pod名称
    metadata.namespace String Required Pod所属的命名空间,默认default
    metadata.labels[] List   自定义标签列表
    metadata.annotaion[] List    自定义注解列表
    Spec Object Required  Pod中容器的详细定义
    spec.containers[]  List Required  Pod中的容器列表 
    spec.containers[].name  String Required 容器的名称 
    spec.containers[].image  String Required  容器的镜像名称
     spec.containers[].imagePullPolicy  String  

     获取镜像的策略,默认值:Always

    Always:每次都尝试重新下载镜像

    IfNotPresent: 如果本地有,则使用本地,本地没有时下载

    Never: 仅使用本地镜像

     spec.containers[].command[] List     容器的启动命令列表,如不指定,则使用镜像打包时使用的启动命令
     spec.comatiners[].args List     容器的启动命令参数列表
     spec.containers[].workingDir String    容器的工作目录 
     spec.containers[].volumeMounts[] List     挂载到容器内部的存储卷配置
     spec.containers[].volumeMounts[].name String    引用pod定义的共享存储卷的名称,需使用volumes[]部分定义的共享存储卷名称
     spec.containers[].volumeMounts[].mountPath String    存储卷在容器内Mount的绝对路径,应少于512个字符
     spec.containers[].volumeMounts[].readOnly Boolean     是否为只读模式,默认为读写模式
     spec.containers[].ports[] List    容器需要暴露的端口号列表
     spec.containers[].ports[].name String    端口的名称
     spec.containers[].ports[].containerPort Int   容器需要监听的端口号
     spec.containers[].ports[].hostPort Int  

    容器所在主机需要监听的端口号,默认与containerPort相同,设置hostPort时,同一台宿主机将无法启动该容器的第二份副本

     spec.containers[].ports[].protocol String   端口协议,支持TCP和UDP,默认为TCP
     spec.containers[].env[] List   容器运行前需设置的环境变量列表
     spec.containers[].env[].name String   环境变量的名称
     spec.containers[].env[].value String   环境变量的值
     spec.containers[].resources Object   资源限制和资源请求的设置
     spec.containers[].resources.limits Object   资源限制的设置
     spec.containers[].resources.limits.cpu String   CPU限制,单位为core数,将用于docker run --cpu-shares参数
     spec.containers[].resources.limits.memory String   内存限制,单位可以为MiB/GiB等,将用于docker  run --memory参数
     spec.containers[].resources.requests Object   资源限制的设置
     spec.containers[].resources.requests.cpu String   CPU请求,单位为core数,容器启动的初始可用数量
     spec.containers[].resources.requests.memory String   内存请求,单位可以是MiB  GiB,容器启动初始可用数量
     spec.volumes[] List   在该pod上定义的共享存储卷列表
     spec.volumes[].name String  

    共享存储卷的名称,在一个pod中每个存储卷定义了一个名称,容易定义部分的containers[].volumeMounts[].name将引用该共享存储卷的名称。

    volume的类型包括: emptyDir、hostPath、gcePersistentDisk、awsElasticBlockStore、gitRepo、secret、 nfs iscsi 、glusterfs、 persistentVolumeClaim、 rbd、 flexVolume、 cinder、 cephfs、 flocker、 downwardAPI、 fc、azureFile、 configMap、 vsphereVolume,可以定义多个volume,每个volume的name保持唯一,

    spec.volumes[].emptyDir Object  

    类型为emptyDir的存储卷,表示与pod同生命周期的一个临时目录,其值为一个空对象: emptyDir:{}

    spec.volumes[].hostPath Object  

    类型为hostPath的存储卷,表示挂载pod所在宿主机的目录,通过volumes[]、hostPath.path指定

    spec.volumes[].hostPath.path String  

    pod所在主机的目录,将被用于容器中mount的目录

    spec.volumes[].secret Object  

    类型为secret的存储卷,表示挂载集群预定义的secret对象到容器内部

    spec.volumes[].configMap Object  

    类型为configMap的存储卷,表示挂载集群预定义的configMap对象到容器内部

    spec.volumes[].livenessProbe.exec Object  

    对pod内各容器健康检查的设置,exec方式

    spec.volumes[].livenessProbe.exec.command[] String  

    exec方式需要指定的命令或者脚本

    spec.volumes[].livenessProbe.httpGet Object  

    对pod内各容器健康检查的设置,HTTPGet方式,需指定path、port

    spec.volumes[].livenessProbe.tcpSocket Object  

    对pod内各容器健康检查的设置,tcpSocket方式

    spec.volumes[].livenessProbe.initialDelaySeconds Number  

    容器启动完成后进行首次探测的时间,单位为秒

    spec.volumes[].livenessProbe.timeoutSeconds Number  

    对容器健康检查的探测等待响应的超时时间设置,单位为秒,默认1秒,超过超时时间设置,将认为该容器不健康,会重启容器

    spec.volumes[].livenessProbe.periodSeconds Number  

    对容器健康检查的定期探测时间设置,单位为秒,默认10秒探测一次

    spec.restartPolicy String  

    pod的重启策略,可选值:Always、OnFailure默认为Always,

    Always:pod一旦终止运行,则无论容器是如何终止的,kubelet都将重启它

    OnFailure: 只有pod以非零退出码终止时,kubelet才会重启该容器,如果容器正常结束(退出码为0),则kubelet不会重启

    Never: pod终止后,kubelet将退出码报告给master,不会再重启该pod

    spec.nodeSelector Object  

    设置NodeSelector表示将该pod调度到包含这些label的Node上,以key:value格式指定

    spec.imagePullSecrets Object   Pull镜像时使用的secrets名称,以name:secrekey格式指定
    spec.hostNetwork Boolean   是否使用主机网络模式,默认为false,如果设置为true,则表示容器使用宿主机网络,不再使用Socker网桥,该pod无法在同一台宿主机上启动第2个副本
  • 相关阅读:
    javaScript设计模式探究【1】
    Java基础算法集50题
    DataTable学习笔记排序细则、列隐藏[3]
    javaScript设计模式探究【4】工厂模式
    javaScript设计模式探究【3】
    一次面试感想+js最近学习体会
    DataTable学习笔记范例应用篇[2]
    腾讯2013实习生招聘面经
    初品cakephp
    php编译中配置libxml2的错误
  • 原文地址:https://www.cnblogs.com/sqbk/p/14978389.html
Copyright © 2011-2022 走看看