最近有朋友问到我基于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等工具增强使用。 |