【kubernetes】pod的资源配置清单

目录

          • 1. 说明
          • 2. 基本结构
            • 2.1 apiVersion
            • 2.2 kind
            • 2.3 metadata
            • 2.4 spec
            • 2.5 status
          • 3 spec子属性
            • 3.1 containers
            • 3.2 nodeName
            • 3.3 nodeSelector
            • 3.4 hostNetwork
            • 3.5 volumes
            • 3.6 restartPolicy

1. 说明
  • 1.在Kubernetes中,Pod的资源配置清单是用于定义Pod的资源需求和限制的详细描述。
2. 基本结构
2.1 apiVersion
  • 1.定义:指定资源对象使用的Kubernetes API版本。
  • 2.示例:对于大多数核心资源,如Pod,通常使用“v1”版本。但Kubernetes支持多个API版本,可以通过kubectl api-versions命令查看所有可用的API版本。
2.2 kind
  • 1.定义:指定资源类型,如Pod、Deployment、Service等。
  • 2.示例:在Pod的配置文件中,kind的值应设置为“Pod”。
2.3 metadata
  • 1.定义:包含资源的元数据,如名称、命名空间、标签、注解等。
  • 2.示例:
  • 3.name:Pod的唯一标识符。
  • 4.namespace:Pod所在的命名空间,默认为“default”。
  • 5.labels:用于组织和筛选资源的键值对标签。
  • 6.annotations:为对象提供“元数据”,但不能用于挑选资源对象。
2.4 spec
  • 1.定义:定义了Pod的具体规格或配置,包括容器的行为、资源需求、存储卷等。
  • 2.示例:
  • 3.containers:Pod中容器的列表,每个容器都有名称、镜像、端口等配置。
  • 4.restartPolicy:定义了在容器停止时的重启策略,如“Always”(总是重启)、“OnFailure”(仅在失败时重启)或“Never”(从不重启)。
  • 5.dnsPolicy:定义了Pod的DNS策略,例如使用Cluster DNS还是自定义DNS。
  • 6.nodeSelector:指定Pod运行在哪个节点上,可以根据节点标签进行选择。
  • 7.hostAliases:指定Pod中容器的主机别名。
  • 8.shareProcessNamespace:控制Pod中容器是否共享进程空间。
  • 9.serviceAccountName:指定为Pod分配的服务帐户名称。
2.5 status
  • 1.定义:存储了Pod的运行状态,如Pod IP地址、容器状态、节点名称等。这个字段由Kubernetes集群维护,用户无法直接修改。
3 spec子属性
3.1 containers
  • 1.定义:Pod中容器的定义部分,包括容器名称、镜像、端口、资源限制等。
  • 2.示例:
  • 3.name:容器的名称。
  • 4.image:容器使用的镜像。
  • 5.imagePullPolicy:镜像拉取策略,如“Always”、“IfNotPresent”或“Never”。
  • 6.command和args:覆盖镜像的默认启动命令和参数。
  • 7.env:容器环境变量的配置。
  • 8.ports:容器需要暴露的端口号列表。
  • 9.resources:资源限制和资源请求的设置,包括CPU和内存。
3.2 nodeName
  • 1.定义:指定Pod应该运行在哪个节点上,是一个字符串,表示节点的名称。
  • 2.使用场景:用于明确控制Pod运行的节点,但会打破Kubernetes集群的自动调度和再平衡功能。
3.3 nodeSelector
  • 1.定义:根据节点标签选择Pod运行的节点。
  • 2.示例:如果节点有“disktype=ssd”标签,则Pod配置文件中可以使用nodeSelector: disktype: ssd来指定Pod运行在该节点上。
3.4 hostNetwork
  • 1.定义:如果设置为true,则Pod将使用宿主机的网络。
  • 2.使用场景:当Pod需要直接访问宿主机网络或与宿主机网络进行交互时使用。
3.5 volumes
  • 1.定义:Pod中存储卷的定义部分,用于为容器提供持久化存储。
  • 2.示例:可以定义emptyDir、configMap、secret等多种类型的存储卷。
3.6 restartPolicy
  • 1.定义:已在spec部分提及,定义了Pod中容器的重启策略。
  • 2.重要性:确保Pod在发生故障时能够自动恢复运行。

你可能感兴趣的:(kubernetes,kubernetes)