
1) 【一句话结论】
在Kubernetes微服务架构中,通过Deployment+HorizontalPodAutoscaler实现自动扩缩容与高可用,服务间通信采用gRPC(高效)或RESTful(易用),容器镜像通过Trivy等工具扫描漏洞并签名,资源配额通过LimitRanger和Quota控制各服务资源使用,确保系统稳定与资源隔离。
2) 【原理/概念讲解】
3) 【对比与适用场景】
| 对比项 | 自动扩缩容(HPA) | 服务间通信(gRPC vs RESTful) | 容器镜像安全(扫描 vs 签名) |
|---|---|---|---|
| 定义 | 根据指标自动调整Pod副本数 | 服务间调用协议 | 镜像漏洞检测与来源验证 |
| 特性 | 动态调整,基于指标 | gRPC高效,RESTful易用 | 扫描漏洞,签名防篡改 |
| 使用场景 | 流量波动大的服务(如推荐系统) | 高并发实时通信(如模型推理) | 生产环境镜像分发,确保安全 |
| 注意点 | 指标选择(CPU/自定义)需合理 | gRPC需客户端/服务端编译,RESTful无此要求 | 扫描频率(如每日),签名链验证 |
4) 【示例】
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: ai-service-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: ai-service
minReplicas: 3
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 70
readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 5
periodSeconds: 10
trivy image docker.io/library/nginx:latest --exit-code 1 --output console
apiVersion: v1
kind: ResourceQuota
metadata:
name: ai-platform-quota
spec:
hard:
requests.cpu: "100m"
requests.memory: "1Gi"
limits.cpu: "200m"
limits.memory: "2Gi"
5) 【面试口播版答案】
“在K8s微服务架构中,服务高可用通过Deployment结合HorizontalPodAutoscaler实现自动扩缩容,比如根据CPU利用率动态调整Pod副本数,同时配置Liveness和Readiness Probe确保服务健康。服务间通信采用gRPC(高效)或RESTful(易用),gRPC适合高并发模型推理,RESTful适合轻量级调用。容器镜像安全方面,用Trivy扫描漏洞,用Notary签名确保来源可信。资源配额通过LimitRanger限制单个Pod资源,Quota控制命名空间总资源,防止资源耗尽。比如,AI服务部署时,HPA设置最小3副本,最大10副本,CPU利用率70%时扩容,Readiness Probe检查健康端点,镜像扫描通过Trivy确认无高危漏洞,资源配额限制每个PodCPU不超过200m,内存不超过2Gi,命名空间总CPU不超过100m,内存不超过1Gi,确保系统稳定且资源隔离。”
6) 【追问清单】
7) 【常见坑/雷区】