跳至主要內容

云原生实践总结

Clay原创云原生Kubernetes约 1555 字大约 5 分钟

云原生实践总结

👉 作为一名SRE,在运维云原生过程中的实践总结、沉淀,以便自己回顾和他人查阅,希望能帮助你在云原生领域的平稳落地。

企业落地云原生的目的

一句话概括:在保证稳定性的前提下,降本增效

目标拆解:

  • 保障稳定性

    • 建设高可用性:基础组件(Master三大件/Etcd等)高可用、多机房、多集群、Pod 高可用
    • 持续进行风险治理:耦合度、故障发现、容量、容灾、变更及可运维性、安全性
    • 建设可观测性:Metrics、Logging、Tracing、Events、Chaos、Dashboard、Inspection
    • 故障演练:Apiserver 高可用故障演练、Etcd 高可用故障演练、双机房切换故障演练
    • 预案建设:Etcd 备份恢复、Velero 备份恢复、Master 节点紧急扩容、Etcd 节点紧急扩容、多集群故障迁移
    • 性能/容量评估:物理机性能压测、Master 组件性能压测、Etcd 性能压测、应用性能压测
  • 节约成本

    • 推进无状态应用容器化
    • 推进无状态应用接入弹性伸缩
    • K8s 调度能力增强:预选、优选、重调度(使资源分配均匀、提高装箱率、提高资源使用率)
    • 持续进行应用容量治理:横向缩容(降副本数)、纵向缩容(降规格 CPU/MEM)
    • 建立资源画像:调度和容量治理依赖资源画像
  • 提高效率(平台能力建设)

    • 自动化运维平台(面向开发):容器生命周期管理、Ingress 生命周期管理、HPA 生命周期管理、扩缩容&升降配、容器资源预留、Java Dump & GCLog、屏蔽/恢复告警
    • 发布系统(面向开发):Java/Nodejs/静态资源模版、自定义镜像、自定义模版、滚动发布、灰度发布、启动日志查看
    • 堡垒机(面向开发):Web 终端、文件管理、日志审计
    • SRE 平台(面向运维):集群安装、集群扩缩容、集群升级、插件安装、Ingress 节点扩缩容、Web Kubectl、集群自动化巡检、多集群迁移

    总结为下图,拿走不谢😏

    sre-k8s (2)

实践中使用到的 CNCF LANDSCAPE 项目

image-20240107175222642

按用途和熟悉度分类:

深度使用轻度使用或测试环境试用准备使用
调度与编排Kubernetes、KEDAKarmada、Volcano
协调与服务发现etcd、CoreDNS
应用程序定义与镜像构建Helm、KubeVirt、Operator Framework
持续集成与交付ArgoOpenKruise
Service MeshIstio
云原生网络CalicoCilium
云原生存储Rook、Longhorn
可观测性Prometheus、VictoriaMetrics、Fluentd、Grafana、ChaosbladeOpenTelemetry
容器运行时Dockercontainerd
镜像仓库JFrog ArtifactoryHarborDragonfly

实践中遇到的问题&故障

🤔 问题 :

🤔 故障:

文章更新预告

根据本期文章总结,后续会先更新以下文章,文章预告:

保障稳定性:

节约成本:

提高效率

  • 🚩 GitOps - ArgoCD 方案调研
  • 🚩 Argo Rollout 使用分享
  • 🚩 Argo Workflow 使用分享
  • 🚩 Jumpserver 二开实现容器 Web 终端、文件管理、日志审计(附 Github 源码)

CNCF LANDSCAPE项目使用介绍

参考链接:

CLOUD NATIVE LANDSCAPE https://cncf.landscape2.io/?group=projects-and-products

我是 Clay,下期见 👋


  • 欢迎订阅我的公众号「SRE运维进阶之路」或关注我的 Github https://github.com/clay-wangzhi/wiki 查看最新文章

  • 欢迎加我微信sre-k8s-ai,与我讨论云原生、稳定性相关内容

weixin