Kubernetes中Deployment资源清单以及字段默认值

运维有笔谈 2024-03-13 08:38:10

在Kubernetes中,Deployment资源清单是一个YAML或JSON格式的配置文件,用于定义应用的部署策略。以下是一些关键字段及其默认值(如有):

# YAMLapiVersion: apps/v1 # API版本,默认取决于集群版本kind: Deployment # 资源类型,固定为"Deployment"metadata: name: <deployment-name> # 部署名称,无默认值,必须指定 namespace: default # 命名空间,默认为"default",但可根据需要指定其他命名空间spec: replicas: 1 # 指定副本数量,默认为1个 selector: matchLabels: # 选择器,与Pod模板标签匹配,决定哪些Pod属于此Deployment app: <app-label> template: # Pod模板 metadata: labels: # Pod的标签 app: <app-label> # 默认情况下,与selector.matchLabels一致 spec: containers: # 容器列表 - name: <container-name> # 容器名称,无默认值,必须指定 image: <container-image> # 容器镜像,无默认值,必须指定 ports: - containerPort: 80 # 容器端口,无默认值,根据应用需求设置 resources: {} # 资源限制和请求,默认为空,可选设置 terminationGracePeriodSeconds: 30 # 终止前等待时间,默认为30秒 revisionHistoryLimit: 10 # 保留历史修订版本数,默认为10个 strategy: type: RollingUpdate # 更新策略类型,默认为RollingUpdate rollingUpdate: maxSurge: 25% # 滚动更新时最大同时增加的Pod数目,默认为25% maxUnavailable: 25% # 滚动更新时最多可以不可用的Pod数目,默认为25%# 上述内容中<>括起来的部分表示应替换为实际值,并非默认值

1.metadata.namespace: default 默认为"default",但可根据需要指定其他命名空间

2.spec.replicas: 1 指定副本数量,默认为1个

3.spec.revisionHistoryLimit 保留历史修订版本数,默认值是10

4.terminationGracePeriodSeconds: 30 终止前等待时间,默认为30秒

5.strategy.type.RollingUpdate 更新策略类型,默认为RollingUpdate

其他如 .spec.strategy.rollingUpdate.maxSurge 和 .spec.strategy.rollingUpdate.maxUnavailable 的百分比形式已经是它们各自的默认值表达方式。

其他大多数字段没有默认值,需要在创建Deployment时明确指定。

0 阅读:0

运维有笔谈

简介:感谢大家的关注