Link

产品收藏目录

目录

  1. 产品收藏目录
    1. CICD 全流程
    2. Kubernetes 环境安全扫描
      1. 其他 Kubernetes 商业安全方案
    3. 项目管理
    4. 仓库管理
    5. 单元测试
    6. CICD
    7. 分布式存储
    8. K8s 备份
    9. k8s 监控
      1. 追踪
      2. 看板
      3. 日志
      4. Metric
      5. 告警
    10. 压测

CICD 全流程

img

步骤 1:产品负责人根据需求编写用户故事开启此流程。

步骤 2:开发团队从任务清单中选出这些用户故事,开始为期两周的迭代开发。

步骤 3:开发人员将代码提交至 Git 仓库。

步骤 4:代码提交后,Jenkins 会自动触发构建。此时,代码需要满足单元测试标准、达到设定的覆盖率,并通过 SonarQube 中的检测标准。

步骤 5:构建成功后,其结果将存放在 artifactory 中,接着会部署到开发环境进行验证。

步骤 6:可能有不同的团队处理各种功能模块。为确保独立测试,这些功能会部署至 QA1 和 QA2。

步骤 7:QA 团队对新部署的环境进行系列测试,包括 QA 测试、回归测试和性能测试。

步骤 8:当 QA 验证无误后,部署至 UAT 环境,此时不仅 QA,开发团队和产品负责人也会进行用户验收测试。

步骤 9:如果 UAT 通过,这些版本将按预定计划上线至生产环境。为稳妥起见,我们可能分阶段、分批上线,利用如功能切换、金丝雀发布等策略来降低风险。

步骤 10:SRE 负责实时监测线上环境,他们采用众多如 ELK Stack、Prometheus 和 Skywalking 等的工具来分析日志和追踪流程。如果发现异常,他们会迅速通知 QA 和开发团队,按照既定的优先级来修复这些问题。

本内容翻译自《System Design Interview》作者 Alex Xu 的 Twitter。链接:https://twitter.com/alexxubyte/status/1711767230642635130

Kubernetes 环境安全扫描

  • Kube-bench

  • 静态代码扫描:SonarQube
  • 安全扫描 anchore
  • 镜像扫描 grype(比如发现依赖库的安全)

其他 Kubernetes 商业安全方案

  • Datadog Security Platform
  • Sysdig Platform Architecture
  • Openshift的RHACS(红帽高级集群安全)+ File Integrity Operator

项目管理

仓库管理

  • Gitlab:源代码仓库
  • Gitea
  • nexus:制品仓库:maven 仓库、npm 仓库
  • jfrog:Java 制品库
  • Harbor:容器镜像仓库

单元测试

  • JUnit

CICD

  • Argo Rollout:CD
  • FluxCD (kubevela 基于 flux)
  • Jenkins :流水线编排

  • GitHub Actions :CI 工具
  • Drone:一个轻量级的 jenkins
  • Spinaker:CD(netflix)
  • argoworkflow:CI

分布式存储

  • Minio :分布式对象存储
  • ceph
  • rook-ceph
  • GlusterFS

K8s 备份

  • Velero + Minio
  • etcdctl snapshot

k8s 监控

追踪

  • skywalking
  • pinpoint (APM)

看板

  • kuboard

日志

  • 轻量采集:filebeat、 fluent-bit
  • 重量采集:fluentd
  • 全栈:Elastic(存储+索引数据)+ Logstash(收集数据) + Kibana(展示数据)
  • 全栈:Elastic + Filebeat + Kibana

Metric

  • Prometheus + Grafana

告警

  • Alertmanager

压测

  • Loadrunner

  • Jmeter