项目简介
本项目是基于Go语言开发的云原生应用部署与监控系统。借助Kubernetes、Prometheus、Loki、Grafana、Istio等云原生技术,展示了构建、部署、监控和扩展现代化云原生应用的方法。通过一个简单的HTTP服务,演示了从镜像构建、服务部署到监控和追踪的完整流程。
项目的主要特性和功能
- 镜像构建:支持多阶段Docker镜像构建,以Alpine为基础镜像,用UPX压缩可执行文件优化镜像大小。
- Kubernetes部署:通过YAML文件定义多种资源,支持服务自动化部署与扩展。
- 服务监控:集成Prometheus和Loki收集性能指标与日志数据,用Grafana可视化展示。
- 服务追踪:利用Istio实现服务网格和分布式追踪,助力开发者分析优化服务调用链。
- 自动化部署:支持通过Jenkins流水线实现自动化部署,提高开发和运维效率。
- HTTPS支持:通过Ingress - Nginx和Istio提供HTTPS访问,保障服务安全。
安装使用步骤
环境准备
确保已安装Docker、Kubernetes、Prometheus、Loki、Grafana、Istio等云原生组件,配置好Kubernetes集群,保证集群节点可访问外部网络。
下载源码
从Git仓库下载本项目的源码文件。
构建镜像
在项目根目录运行build.sh
脚本,构建Docker镜像并推送到私有镜像仓库。镜像构建分基础镜像和工程镜像两阶段,确保最终镜像体积最小化。
部署应用
可使用deployment.yml
文件手动部署,或通过Jenkins流水线实现自动化部署。部署时会自动创建多种资源。
配置监控和日志
配置Prometheus和Loki以正确收集应用性能指标和日志数据,在Grafana中导入预定义的Dashboard查看实时监控数据。
配置服务追踪
安装Istio并启用服务网格功能,配置Jaeger用于分布式追踪,通过Istio的VirtualService和Gateway配置实现服务流量管理和追踪。
测试应用
通过浏览器或命令行工具访问应用的HTTP接口验证服务是否正常运行,使用Grafana和Jaeger查看监控数据和追踪结果,确保系统运行状态良好。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】