Kubernetes之pod的属性

属性名称 取值类型                   是否必选 取值说明
version String Required(必) 版本号,例如v1
kind String Required pod
metadata Object Required 元数据
metadata.name String Required pod的名称,命名规范须符合RFC 1035规范
metadata.namespace String Required pod的所属命名空间,默认值为default
metadata.labels[] List   自定义便签列表
metadata.annotation[] 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、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的绝对路径,应少于512字符

spec.containers[].volumeMounts[].readOnly

string   是否为只读模式,默认读写模式
spec.containers[].ports[] list   容器需要暴露端口号列表
spec.containers[].ports[].name String   端口名称

spec.containers[].ports[].containerPort

lnt   容器需要监听的端口号
spec.containers[].ports[].hostPort Int   容器所在主机需要监听的端口号,默认与containerPort相同。设置hostPost时,同一台主机无法启动该容器的第二个副本
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[].

volumeMount[].name将引用该存储卷法人名称

spec.volumes[].emptyDir Object   类型为emptyDir的存储卷,表示与pod同生命周期的一个临时目录,其值为一个空对象:emptyDir
spec.volumes[].hostPath.path String   类型为hostpash的存储卷,表示挂着pod所在宿主机的目录
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、pod
spec.volumes[].livenessProbe.tcpSocket Object   对pod内各个容器健康检查的设置,tcpSocket方式
spec.volumes[].livenessProbe.initialDelaySeconds Number   容器启动完成后进行首次探测的时间,单位为s
spec.volumes[].livenessProbe.timeoutSeconds Number   对容器健康状态检查的等待响应的超时时间。单位为s,默认为1s,超过该超时时间设置,将认为该容器不健康,将重启容器
spec.volumes[].livenessProbe.periodSeconds Number   对容器健康检查的定期时间设置,单位为s默认为10s探测一次
spec.restartPolicy String  
pod的重启策略,可选值为Always、OnFailure、默认值Always

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

OnFailure:只有pod以非零吗终止时,kubelet才会重启容器,如果正常退出则不会重启

Never:pod终止后将该pod退出吗;报告给Master,不会再重启pod

spec.nodeSelector Object   设置NodeSelector表示将该pod调度到包含这些label的Node上。以key:value格式指定
spec.imagePullSecret  Object    pull镜像时使用secret名称,以name:secretkey.格式指定
 spec.hostNetwork  Boolean  
是否使用主机网络模式,默认值为false.。如果设置为true,则表示容器使用宿主机网络,使用Docker网桥,该pod将无法在同一

台主机启动第二个副本

原文地址:https://www.cnblogs.com/rdchenxi/p/10986013.html

时间: 2024-08-01 08:21:39

Kubernetes之pod的属性的相关文章

Kubernetes之Pod控制器应用进阶

目录 Kubernetes之Pod控制器应用进阶 Pod控制器下spec常用字段 标签(Labels)和标签选择器(LabelSelector) 标签 标签选择器 Kubernetes之Pod控制器应用进阶 Pod控制器下spec常用字段 #containers [[email protected] ~]# kubectl explain pods.spec.containers. name <string> -required- #容器名,必选字段 image <string>

kubernetes之pod超详细解读--第二篇(三)

8.资源对象对pod的调度 ??在kubernetes集群中,pod基本上都是容器的载体,通常需要通过相应的资源对象来完成一组pod的调度和自动控制功能,比如:deployment.daemonSet.RC.Job等等.接下来小编将一一介绍这些资源对象如何调度pod. (1)Deployment/RC 自动化调度 ??Deployment/RC的主要功能之一就是自动部署一个容器应用的多个副本,以及持续监控副本数量,在集群内始终维持用户指定的副本数量.举例:(这里以deployment为例) ap

kubernetes之pod健康检查

目录 kubernetes之pod健康检查 1.概述和分类 2.LivenessProbe探针(存活性探测) 3.ReadinessProbe探针(就绪型探测) 4.探针的实现方式 4.1.ExecAction 4.2.HTTPGetAction 4.3.TCPSocketAction 5.探测行为属性 6.扩展的探测机制 kubernetes之pod健康检查 1.概述和分类 pod通过两类探针来检查容器的健康状态.分别是LivenessProbe(存活性探测)和ReadinessProbe(就

Kubernetes中Pod间共享内存方案

摘要:一些公共服务组件在追求性能过程中,与业务耦合太紧,造成在制作基础镜像时,都会把这些基础组件都打包进去,因此当业务镜像启动后,容器里面一大堆进程,这让Kubernetes对Pod的管理存在很大隐患.为了让业务容器瘦身,更是为了基础组件自身的管理更独立和方便,将基础组件从业务镜像中剥离并DaemonSet容器化部署.然而一些基础组件Agent与业务Pod之间通过共享内存的方式进行通信,同一Node中跨Pod的共享内存方案是首先要解决的问题. 为什么要将公共基础组件Agent进行DaemonSe

Kubernetes之Pod控制器,ReplicaSet,Deployment,DaemonSet

目录 Kubernetes之Pod控制器,ReplicaSet,Deployment,DaemonSet ReplicaSet Deployment控制器 创建Deployment Deployment更新 Deployment扩容 金丝雀发布 Deployment回滚 DaemonSet 定义 DaemonSet演示 redis-filebeat DaemonSet的滚动更新 Kubernetes之Pod控制器,ReplicaSet,Deployment,DaemonSet Kubernete

Kubernetes之Pod的生命周期

目录 Kubernetes之Pod的生命周期 理解Pod Pod内如何管理多个容器 Pod的使用 其他替代选择 Pod的持久性 Pod的终止 Init容器 Pause容器 Pod的生命周期 Pod的phase Pod的状态 容器探针 存活性探测 livenessProbe 就绪性探测 readnessProbe livenessProbe和readinessProbe使用场景 lifecycle Kubernetes之Pod的生命周期 理解Pod Pod是kubernetes中你可以创建和部署的

Kubernetes基石-pod容器

引用三个问题来叙述Kubernetes的pod容器 1.为什么不直接在一个Docker容器中运行所有的应用进程. 2.为什么pod这种容器中要同时运行多个Docker容器(可以只有一个) 3.为什么k8s使用pod这种容器而不直接使用Docker容器 一个由多个进程进行组成的应用程序,无论是通过ipc(进程间通信)还是本地存储文件进行通信,都要求它们运行于同一台机器上.Docker容器非常像一台独立的机器,此时你可能认为在单个容器中运行多个进程是合乎逻辑的,然而在实践中这种做法并不合理. 容器被

Kubernetes之POD

什么是Pod Pod是可以创建和管理Kubernetes计算的最小可部署单元.一个Pod代表着集群中运行的一个进程. Pod就像是豌豆荚一样,它由一个或者多个容器组成(例如Docker容器),它们共享容器存储.网络和容器运行配置项.Pod中的容器总是被同时调度,有共同的运行环境.你可以把单个Pod想象成是运行独立应用的"逻辑主机"--其中运行着一个或者多个紧密耦合的应用容器--在有容器之前,这些应用都是运行在几个相同的物理机或者虚拟机上. 尽管kubernetes支持多种容器运行时,但

Kubernetes之Pod 控制器

定义Pod的常用资源 pods.spec.containers - name    <string>   #containers 的名字 image    <string>  #镜像地址 imagePullPolicy    <string>  #如果标签是latest  就是Always(总是下载镜像)  IfNotPresent(先看本地是否有此镜像,如果没有就下载) Never (就是使用本地镜像) ports    <[]Object>  #是给对象