最近有朋友问到我基于K8s & Spring Cloud的PaaS云平台的相关问题,正好之前在卓望数码 时专门做这个的。考虑到技术选型本身并不涉及业务,也不涉及商业机密,索性整理一下,分享出来。

注1:考虑到前公司的利益,下表列出的个别项目公司并未实际使用,又或者实际使用了,表格里故意写的未使用。再次强调,故意混淆,保障前东家的利益。

注2:感谢前东家卓望数码 。

 

微信表格体验较差,觉得显示不OK的,请点击页面底部的“查看原文”按钮,前往我的博客阅读,获得更好的阅读体验!

 

平台级

作用

名称

备注

平台

Kubernetes

你懂的

服务容错、断路器、

istio、linkerd

我们都没有使用(我们用Spring Cloud,Spring Cloud也有类似实现),当时istio还没有发布1.0,现已经可以用于生产;Linkerd我们当时觉得第一代上了也会被取代……

存储

Ceph、GlusterFS

我们用GlusterFS

CI/CD

Jenkins

我们只用来构建镜像,并push到私有Docker Registry

发布平台

Spinnaker

是在Kubernetes上功能最强的发布平台,Google/Netflix等开源,用这个可以不使用Jenkins了,建议调研一下。

Docker Registry

Docker Registry/Habor/Nexus

我们用Nexus 3,主要是为了同时管理Docker镜像和Maven依赖。Habor也非常不错,国产(虽然公司是外企)骄傲!

包管理

Helm

我们当时没有使用,时间占主要因素,现在已经在CNCF孵化了,很有前景。

监控

监控维度

工具

容器实例监控

Heapster+Grafana+InfluxDB

应用实例监控

Java应用本身的监控:Spring Boot Actuator + Spring Boot Admin

GC监控与分析:gceasy、fastthread、gcplot等

分布式应用监控/APM

调用链监控:Zipkin、PinPoint、SkyWalking等,你猜我们用的啥?

中间件/基础组件监控

MQ/MQ监控:Kafka + Kafka Manager

缓存/缓存监控:Redis + RedisStat/RedisLive

数据库/数据库监控:MySQL + MyCAT

日志监控

Fluentd + Elasticsearch + Kibana

代码质量与管理

名称

作用

GitLab

代码管理

SonarQube

质量管理平台,使用非常简单,可以扫描出代码中的脆弱点、Bug等。并可整合Findbugs、PMD、PMD等工具增强使用。