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个副本
  • 相关阅读:
    Android 编程下 Eclipse 恢复被删除的文件
    Android 编程下背景图片适配工具类
    Android 编程下 Managing Your App's Memory
    Android 编程下代码之(QQ消息列表滑动删除)
    Android 编程下 Canvas and Drawables
    Android 编程下 AlarmManager
    Android 编程下去除 ListView 上下边界蓝色或黄色阴影
    Java 编程下字符串的 16 位、32位 MD5 加密
    C#枚举类型和int类型相互转换
    MVC和普通三层架构的区别
  • 原文地址:https://www.cnblogs.com/sqbk/p/14978389.html
Copyright © 2011-2022 走看看