Kubernetes测试题:nginx Deployment YAML配置补全与错误排查
Kubernetes Deployment配置
app: nginx字段错误排查 题目要求
补全Deployment资源配置,实现部署4个对外暴露443端口的nginx Pod的需求。
高频错误点(和app: nginx字段直接相关)
- 标签不匹配:
spec.selector.matchLabels下的app: nginx和Pod模板段spec.template.metadata.labels下的app: nginx没有完全对齐,要么漏写其中一处,要么值拼写不一致(比如写成app: nginx-app、大小写混用)。Kubernetes强制要求Deployment的标签选择器必须和Pod模板的标签完全匹配,否则配置会直接校验失败,无法创建资源。 - 标签位置错误:把
app: nginx写在了Deployment本身的metadata.labels下,没有写到Pod模板的标签段,导致选择器无法匹配到创建出的Pod,副本数始终无法达到预期值。
符合题目要求的完整可用配置
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-deployment spec: replicas: 4 # 对应题目要求的4个Pod副本 selector: matchLabels: app: nginx # 必须和Pod模板标签完全一致 template: metadata: labels: app: nginx # 和上方matchLabels的标签值保持完全相同 spec: containers: - name: nginx image: nginx:stable ports: - containerPort: 443 # 对应题目要求开放的443端口
配置校验要点
- 两处
app: nginx的拼写、大小写完全一致,没有多余空格 replicas值设为4- 容器段正确配置
containerPort: 443 - 容器镜像使用官方nginx镜像即可满足题目要求
内容的提问来源于stack exchange,提问作者Eve
相关产品推荐
相关产品推荐

