当前位置:   article > 正文

K8S-pod配置文件详解_spec.containers[].ports[].hostport

spec.containers[].ports[].hostport

Pod

Pod是Kubernetes的最重要也是最基本的概念,每个Pod 都有个特殊被称为“根容器”的 Pause 容器 ,除了 Pause 容器,每个 Pod 还包含 一个或多个紧密相关的用户业务容器。下面为一个pod配置文件示例:

  1. apiVersion : vl
  2. kind: Pod
  3. metadata :
  4. name : string
  5. namespace: string
  6. labels:
  7. - name: string
  8. annotations:
  9. - name: string
  10. spec:
  11. containers :
  12. - name : stri且q
  13. image : string
  14. imagePullPolicy:[Always I Never I IfNotPresent]
  15. command : [string]
  16. args: [string]
  17. workingDir: string
  18. volumeMounts:
  19. - name: string
  20. mountPath: string
  21. readOnly: boolean
  22. ports:
  23. - name: string
  24. containerPort: int
  25. hostPort : int
  26. protocol : string
  27. env:
  28. - name: string
  29. value : string
  30. resources :
  31. limits:
  32. cpu : string
  33. memory : string
  34. requests :
  35. cpu: string
  36. memory : str ng
  37. livenessProbe:
  38. exec:
  39. command: [string]
  40. httpGet:
  41. path: string
  42. port umber
  43. host: string
  44. scheme: string
  45. httpHeaders:
  46. - name: string
  47. value: string
  48. tcpSocket:
  49. port : number
  50. initialDelaySeconds : 0
  51. timeoutSeconds: 0
  52. periodSeconds: 0
  53. successThreshold: 0
  54. failureThreshold : 0
  55. securityContext :
  56. privileged: false
  57. restartPolicy: [Always I Never I OnFailure]
  58. nodeSelector: object
  59. imagePullSecrets :
  60. - name: string
  61. hostNetwork : false
  62. volumes:
  63. - name : string
  64. emptyDir : {}
  65. hostPath :
  66. path : string
  67. secret :
  68. secretName : string
  69. items:
  70. - key : string
  71. path: string
  72. configMap:
  73. name: string
  74. items :
  75. - key : string
  76. path: string

配置文件解析

解析格式:编码:取值类型:是否必选:取值说明

version:String:必选:版本号,例如v1

kind:String:必选:pod

metadata:String:必选:元数据

metadata.namespace:String:必选:pod的名称,命名规范需要符合RFC 1035规范

metadata.lables[]:List:非必选:自定义标签列表

metadata.annotation[]:List:非必选:自定义注解列表

Spec:Object:必选:pod中容器的详细定义

spec.containers[]:List:必选:Pod中的容器列表

spec.containers[].name:String:必选:容器的名称,需符合RFC 1035规范

spec.containers[].image:String:必选:容器的镜像名称

spec.containers[].imagePullPolicy:String:非必选:获取镜像的策略,可选值包括: Always,Never,IfNotPresent ,默认值为 Always

Always 表示每次都尝试重新下载镜像;

IfNotPresent 表示如果本地有该镜像,则使用本地安卓的镜像,本地不存在时下载镜像;

Never 表示仅使用本地镜像;

spec.containers[].command[]:List:非必选:容器的启动命令,如果不指定,则使用镜像打包时使用的启动命令

spec.containers[].args[]:List:非必选:容器的启动命令参数列表

spec.containers[].workingDir:String:非必选:容器的工作目录

spec.containers[].volumeMounts[]:List:非必选:挂载到容梅内部的存储卷配置

spec.containers[].volumeMounts[].name:String:非必选:引用 Pod 定义的共享存储卷的名称,需使用volumes[]部分定义的共享存储卷名称

spec.containers[].volumeMounts[].mountPath:String:非必选:存储卷在容器内 Mount 绝对路径,应少于 12个字符

spec.containers[].volumeMounts[].readOnly:Boolean:非必选:是否为只读模式,默认值为读写模式

spec.containers[].ports[]:List:非必选:容器需要暴露的端口号列表

spec.containers[].ports[].name:String:非必选:端口名称

spec.containers[].ports[].containerPort:String:非必选:容器挥自要监听的端口号

spec containers[].ports[] .hostPort:String:非必选:容器所在主机需要监听的端口号,默认与containerPort 相同。设置 hostPort 时,同台宿主机将无法启动该容器的第2份副本

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 中每个存储卷定义一个名称,应符合RFC 1035 规范。容器定义部分的 containers[].volumeMounts[].name 将引用该共享存储卷的名称。Volume 类型包括 emptyDir、 hostPathgce、PersistentDisk、awsElasticBlockStore、gitRepo、secret 、nfs 、iscsi 、glusterfs 、persistentVolumeClaim、rbd、flexVolume、cinder、cephfs、flecker 、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:Object:非必选:对Pod 内各容器健康检查的设置,当探测无响应几次之后,系统将自动启动该容器。可以设置的方法包括: exec httpGet tcpSocket。对一个容器仅需设置一种健康检查方法

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[]
.livenssProbe.initialDelaySeconds
:Numeber:非必选:容器启动完成后进行首次探测的时间,单位为s

spec.volumes[]
.livenessProbe.timeoutSeconds
:Numeber:非必选:对容器健康检查的探测等待响应的超时时间设置,单位为 s,默认值为1 s. 超过该超时时间设置,将认为该容器不健康,将重启该容器

spec.volumes[]
.livenessProbe.periodSeconds
:Numeber:非必选:对容器健康检查的定期探测时间设置,单位为 s,默认为10s探测一次

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 镜像时使用的 secret 名称,以 name :sec retkkey格式指定

spec.hostNetwork:Boolean:非必选:是否使用主机网络模式,默认值为false ,如果设

置为true ,则表示容器使用宿主机网络,不再使用Docker 网桥,该 Pod 将无法在同一台宿主机上启动第2个副本

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/162240
推荐阅读
  

闽ICP备14008679号