Jaeger Tracing 在 Kubernetes 上的部署教程
1. 项目的目录结构及介绍
Jaeger Tracing 在 Kubernetes 上的部署项目(https://github.com/jaegertracing/jaeger-kubernetes)的目录结构如下:
jaeger-kubernetes/
├── README.md
├── base
│ ├── kustomization.yaml
│ ├── namespace.yaml
│ ├── service-account.yaml
│ ├── service.yaml
│ └── statefulset.yaml
├── overlays
│ ├── production
│ │ ├── kustomization.yaml
│ │ ├── patch-agent.yaml
│ │ ├── patch-collector.yaml
│ │ └── patch-query.yaml
│ └── staging
│ ├── kustomization.yaml
│ ├── patch-agent.yaml
│ ├── patch-collector.yaml
│ └── patch-query.yaml
└── scripts
└── generate-secrets.sh
目录结构介绍
- README.md: 项目说明文档,包含项目的基本信息和使用指南。
- base: 包含基础的 Kubernetes 资源文件,如命名空间、服务账户、服务和有状态集。
- overlays: 包含不同环境的覆盖配置,如生产环境和 staging 环境。
- scripts: 包含生成密钥的脚本。
2. 项目的启动文件介绍
项目的启动文件主要位于 base
目录下,包括以下几个关键文件:
- namespace.yaml: 定义了 Jaeger 部署的命名空间。
- service-account.yaml: 定义了服务账户,用于 Kubernetes 的权限管理。
- service.yaml: 定义了 Jaeger 的服务,用于暴露 Jaeger 的各个组件。
- statefulset.yaml: 定义了 Jaeger 的有状态集,用于部署 Jaeger 的各个组件。
启动文件介绍
-
namespace.yaml:
apiVersion: v1 kind: Namespace metadata: name: jaeger-production
-
service-account.yaml:
apiVersion: v1 kind: ServiceAccount metadata: name: jaeger-account namespace: jaeger-production
-
service.yaml:
apiVersion: v1 kind: Service metadata: name: jaeger-query namespace: jaeger-production spec: ports: - name: query port: 16686 targetPort: 16686 selector: app: jaeger-query
-
statefulset.yaml:
apiVersion: apps/v1 kind: StatefulSet metadata: name: jaeger-query namespace: jaeger-production spec: serviceName: "jaeger-query" replicas: 1 selector: matchLabels: app: jaeger-query template: metadata: labels: app: jaeger-query spec: containers: - name: jaeger-query image: jaegertracing/jaeger-query:latest ports: - containerPort: 16686
3. 项目的配置文件介绍
项目的配置文件主要位于 base
和 overlays
目录下,包括以下几个关键文件:
- kustomization.yaml: 定义了 Kustomize 的配置,用于管理 Kubernetes 资源的组合和变体。
- patch-agent.yaml, patch-collector.yaml, patch-query.yaml: 定义了不同组件的覆盖配置。
配置文件介绍
-
kustomization.yaml:
apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - namespace.yaml - service-account.yaml - service.yaml - statefulset.yaml
-
patch-agent.yaml:
apiVersion: apps/v1 kind: Deployment metadata: name: jaeger-agent namespace: jaeger-production spec: template:
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考