Apache SkyWalking 展示应用部署及使用指南
1. 项目目录结构及介绍
Apache SkyWalking Showcase 应用主要用于演示 SkyWalking 监控平台的各项功能。其目录结构如下:
.
├── Dockerfile # Docker 映像构建文件
├── helm # Helm 图表用于 Kubernetes 部署
│ ├── charts # 子图表目录
│ └── values.yaml # Helm 模板默认配置
├── kubernetes # Kubernetes 相关部署文件
│ ├── ingress.yaml # Ingress 路由配置
│ ├── oap-server.yaml # SkyWalking OAP 服务器部署文件
│ ├── service-mesh.yaml # 示例服务网格配置(例如 Istio)
│ └── services # 微服务相关的 Kubernetes 配置
└── makefile # Makefile 包含部署和清理命令
这个目录结构包含了所有必要的组件来运行一个示例音乐应用程序,并展示 SkyWalking 的核心特性。
2. 项目启动文件介绍
makefile
Makefile 是项目的主要脚本,提供了方便的命令来部署和管理应用程序以及 SkyWalking 组件。以下是一些关键的 Make 目标:
deploy kubernetes
: 使用 Kubernetes 部署 SkyWalking 和示例应用程序。clean
: 清理 Kubernetes 中的应用程序资源。logs
: 查看 SkyWalking UI 或 OAP Server 的日志。ssh
: 连接到示例应用程序的 Pod。
要使用这些命令,你需要在本地安装 kubectl
和 helm
工具。
Dockerfile
Dockerfile 用于构建微服务的 Docker 映像。它定义了构建过程并设置环境变量,确保示例应用与 SkyWalking 代理正确配合。
values.yaml
(Helm)
此文件是 Helm 模板的配置,允许自定义 SkyWalking 集群的部署参数,如副本数量、资源限制等。
3. 项目的配置文件介绍
kubernetes/oap-server.yaml
该文件包含了 SkyWalking OAP 服务器的 Kubernetes deployment 配置,可以在此处修改 OAP 服务器的副本数、内存和 CPU 资源需求。
kubernetes/service-mesh.yaml
如果你打算在 Istio 服务网格中运行示例应用,这个文件将提供必要的配置。你可以根据实际环境调整相关的服务网格策略。
kubernetes/services/*.yaml
这些 YAML 文件定义了示例音乐应用的各个微服务。它们包括服务定义、部署、服务发现配置等。如果你想要修改应用的行为或添加额外的服务,可以直接编辑这些文件。
.env.example
虽然不在目录结构中列出,但.env.example
(可能需要自行创建)文件通常用于存储应用程序的环境变量,例如数据库连接字符串。在实际部署时,你应该复制这个文件为.env
并填入适当的值。
通过以上介绍,你现在应该对如何部署和配置 Apache SkyWalking Showcase 应用有了基本了解。根据提供的 Makefile 和 Kubernetes 配置文件,你可以快速启动一个演示环境,体验 SkyWalking 的监控能力。