专栏名称: dbaplus社群
围绕Database、BigData、AlOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度XCOPS\x26amp;DAMS行业大会。
目录
相关文章推荐
科技日报  ·  突破5500亿立方米! ·  昨天  
科技日报  ·  突破5500亿立方米! ·  昨天  
51好读  ›  专栏  ›  dbaplus社群

“如何设计永不宕机的K8s集群?”这套生产级方案让面试官当场发offer!

dbaplus社群  · 公众号  · 科技创业 科技自媒体  · 2025-06-04 07:15

主要观点总结

本文介绍了在Kubernetes集群中增强抗风险能力的深度扩展方案,包括控制平面高可用设计、工作节点高可用设计、网络高可用设计、存储高可用设计、监控与日志、安全与合规、灾难恢复与备份、成本控制、自动化以及实战案例等。

关键观点总结

关键观点1: 控制平面高可用设计

包括多Master节点部署、etcd集群深度调优、灾难恢复命令等

关键观点2: 工作节点高可用设计

包括Cluster Autoscaler高级策略、Pod调度深度策略、基于污点的精细化调度等

关键观点3: 网络高可用设计

包括Cilium eBPF网络加速、Ingress多活架构等

关键观点4: 存储高可用设计

包括Rook/Ceph生产级配置、Velero跨区域备份实战等

关键观点5: 监控与日志

包括Thanos长期存储优化、EFK日志过滤规则等

关键观点6: 安全与合规

包括OPA Gatekeeper策略库、运行时安全检测、基于OPA的镜像扫描准入控制等

关键观点7: 灾难恢复与备份

包括多集群联邦流量切分、混沌工程全链路测试、混沌工程模拟Master节点故障等

关键观点8: 成本控制

包括Kubecost多集群预算分配等

关键观点9: 自动化

包括Argo Rollouts金丝雀发布分阶段灰度策略等

关键观点10: 实战案例

介绍了某电商平台优化成果及工具链推荐


正文

请到「今天看啥」查看全文


metrics: - type : Pods pods: metric: name: http_requests_per_second target: type : AverageValue averageValue: 500


4、Pod调度深度策略


拓扑分布约束: 确保Pod均匀分布至不同硬件拓扑。


spec:    topologySpreadConstraints:    - maxSkew: 1      topologyKey: topology.kubernetes.io/zone      whenUnsatisfiable: DoNotSchedule  


5、基于污点的精细化调度


场景: 为AI训练任务预留GPU节点,并防止普通Pod调度到GPU节点:


# 节点打标签  kubectl label nodes gpu-node1 accelerator=nvidia  # 设置污点  kubectl taint nodes gpu-node1 dedicated=ai:NoSchedule  # Pod配置容忍度 + 资源请求  spec:    tolerations:      - key: "dedicated"        operator: "Equal"        value: "ai"        effect: "NoSchedule"    containers:      - resources:          limits:            nvidia.com/gpu: 1  


三、网络高可用设计


6、Cilium eBPF网络加速


优势: 减少50%的CPU开销,支持基于eBPF的细粒度安全策略。


部署步骤:


helm install cilium cilium/cilium --namespace kube-system \    --set kubeProxyReplacement=strict \    --set k8sServiceHost=API_SERVER_IP \    --set k8sServicePort=6443  


验证:


cilium status  # 应显示 "KubeProxyReplacement: Strict"  


网络策略性能对比:


插件
策略数量
吞吐量下降
Calico
1000
25%
Cilium
1000
8%


7、Ingress多活架构


全局负载均衡配置(AWS示例):


resource "aws_globalaccelerator_endpoint_group" "ingress" {    listener_arn = aws_globalaccelerator_listener.ingress.arn    endpoint_configuration {      endpoint_id = aws_lb.ingress.arn      weight      = 100    }  }  


四、存储高可用设计


8、Rook/Ceph生产级配置


存储集群部署:







请到「今天看啥」查看全文