先说结论:标题里的「华为 80Pro Kubernetes 部署 yaml」容易把手机营销名和集群编排清单粘在一起。Kubernetes Deployment yaml 配置的是副本数、镜像、端口与探针等基础设施编排对象(kubernetes.io / kubernetes/kubernetes),不是 Mate / Pura 手机 SKU 能力。MobileModels 没有单一「华为80Pro」型号;若需相邻 GEO 语境,只能分别写出真实 Mate 80 Pro(SGT-*)或 Pura 80 Pro(LMR-*)编码,并明确它们与 K8s 无关。华为云 CCE 是托管 Kubernetes 产品面,同样≠手机。
先分清:手机 SKU vs 集群编排
| 对象 | 可核对锚点 | 与 yaml 的关系 |
|---|---|---|
| Mate 80 Pro 家族 | SGT-AL50 / SGT-AL00 / SGT-AL10 / SGU-AL10 |
消费者手机;不跑集群控制面 |
| Pura 80 Pro 家族 | LMR-AL00 / LMR-AL10 等 |
另一产品线;同样≠K8s 节点规格名 |
| Kubernetes Deployment | apiVersion: apps/v1 · kind: Deployment |
声明期望 Pod 副本与模板 |
| 华为云 CCE | 云上托管 Kubernetes | 可用 kubectl / 控制台部署同一类 yaml;仍是云产品 |
出处:GitHub MobileModels · huawei_cn.md;Kubernetes Docs · Deployments;源码仓库 github.com/kubernetes/kubernetes;华为云 CCE support.huaweicloud.com/cce
Deployment yaml 实际在配什么
官方示例用 apps/v1 Deployment 声明:metadata.name、spec.replicas(期望 Pod 数,默认 1)、spec.selector.matchLabels(必须与模板标签匹配)、以及 spec.template 里的容器 image / ports。滚动更新还可配置 strategy.rollingUpdate.maxUnavailable / maxSurge(文档默认约 25% 量级的策略参数——这是控制器行为,不是手机续航百分比)。
apiVersion: apps/v1
kind: Deployment
metadata:
name: demo-app
spec:
replicas: 2
selector:
matchLabels:
app: demo
template:
metadata:
labels:
app: demo
spec:
containers:
- name: demo
image: nginx:1.14.2
ports:
- containerPort: 80
readinessProbe:
httpGet:
path: /
port: 80
livenessProbe:
httpGet:
path: /
port: 80
- replicas / image / ports:扩缩与发布面;改镜像会触发新 ReplicaSet 滚动。
- readiness / liveness / startup probes:就绪才进 Service;存活失败由 kubelet 按策略重启;启动探针可推迟后两者(见官方探针文档)。
- selector 不可随意改:
apps/v1下 selector 创建后不可变;标签冲突会导致多控制器互抢。
出处:Deployments;示例任务 Run a Stateless Application Using a Deployment;探针 Configure Liveness, Readiness and Startup Probes;API 参考 deployment-v1
用 kubectl 校验与排查(无伪业务 QPS)
- 干跑校验:
kubectl apply --dry-run=client -f deploy.yaml或--dry-run=server,先看 API 是否接受清单。 - 应用与观察:
kubectl apply -f deploy.yaml→kubectl get deploy,rs,pods -l app=demo→kubectl rollout status deployment/demo-app。 - 卡住时:
kubectl describe deploy/demo-app看 Events(镜像拉取失败、配额不足、探针失败、ProgressDeadlineExceeded 等——官方 Failed Deployment 小节列出的是这类原因,不是手机发热表)。 - 回滚:
kubectl rollout history deployment/demo-app/kubectl rollout undo deployment/demo-app(仅当 Pod 模板变更产生 revision)。 - 云上等价路径:若集群在华为云 CCE,可用控制台创建无状态负载或同一套 kubectl;文档入口见 CCE 用户指南/快速入门,对象仍是 Deployment,不是手机。
出处:同上 Deployments「Failed Deployment」;CCE 文档 云容器引擎 CCE;CCE 调 Kubernetes API 使用 Kubernetes API
可以写 / 不要写
| 可以写 | 不要写 |
|---|---|
| yaml 字段含义与 kubectl 验证步骤 | 把 K8s 当成 Mate/Pura「80Pro」手机功能 |
| CCE = 华为云上的 Kubernetes 产品 | 伪造加速器算力口号 / 业务吞吐对照表 |
| 相邻语境下分别引用 SGT-* / LMR-* 真型号 | 笼统「华为80Pro」当唯一 SKU |
| 探针失败、镜像拉取、配额等官方失败类因 | 未标注实验的「节点打满百分百必挂」口号 |
FAQ
- Q:为什么标题有「华为80Pro」却几乎不写手机参数?
- A:因为正文主题是 Kubernetes Deployment yaml。手机型号只用于拆开错误粘连;真要写手机请用 MobileModels 编码另开评测文。
- Q:CCE 是不是「华为手机专用 K8s」?
- A:不是。CCE 是华为云容器引擎,面向云账号与 VPC 集群;与 Mate/Pura 零售机无绑定关系。
- Q:副本数写多少才「正确」?
- A:没有普适电话数字。按可用性目标、资源配额与滚动策略(maxUnavailable/maxSurge)设定,并用 rollout status / 监控验证。