Cod*_*ila 5 c# google-kubernetes-engine asp.net-core opentracing jaeger
使用来自Docker Hub 的jaegertracing/all-in-one公共映像在Google Kubernetes上创建部署
然后,将 Service 类型的部署公开为LoadBalancer。
现在,启动了 Jagger UI 并且它正在工作,但它不显示除 jagger-query 之外的任何服务。
我已经部署了我的 .net web api 应用程序以在 kubernetes 上进行测试。
我的应用程序只有一个 Web API,它在 Google Kubernetes 引擎上成功运行并通过负载均衡器服务类型公开。API 对所有数据进行了硬编码,不会调用任何其他服务或数据库。
在项目中使用了以下nuget包:
Jaeger -Version 0.2.2
OpenTracing.Contrib.NetCore -Version 0.5.0
我在API 的Startup.cs文件中添加了以下代码:
services.AddSingleton<ITracer>(serviceProvider =>
{
//string serviceName = Assembly.GetEntryAssembly().GetName().Name;
string serviceName = serviceProvider.GetRequiredService<IHostingEnvironment>().ApplicationName;
ILoggerFactory loggerFactory = serviceProvider.GetRequiredService<ILoggerFactory>();
ISampler sampler = new ConstSampler(sample: true);
string jaegerHost = Environment.GetEnvironmentVariable("jaeger_host");
var reporter = new RemoteReporter.Builder()
.WithLoggerFactory(loggerFactory)
.WithSender(new UdpSender(jaegerHost, 6831, 0)) // todo:
.Build();
ITracer tracer = new Tracer.Builder(serviceName)
.WithLoggerFactory(loggerFactory)
.WithSampler(sampler)
.WithReporter(reporter)
.Build();
GlobalTracer.Register(tracer);
return tracer;
});
services.AddOpenTracing();
Run Code Online (Sandbox Code Playgroud)
jaegerHost环境变量被分配了创建的 jaeger 服务的IP。
问题是如何以及在何处进行更改,以便我的应用程序服务在 Jaeger UI 中可用,以便我可以看到它的踪迹。
我被困在这里,有人可以帮助如何继续前进吗?
jaeger-agent 服务应该看起来像
apiVersion: v1
kind: Service
metadata:
name: jaeger-agent
namespace: jaeger
labels:
app: jaeger
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: agent
spec:
type: LoadBalancer
ports:
- name: agent-compact
port: 6831
protocol: UDP
targetPort: 6831
- name: agent-binary
port: 6832
protocol: UDP
targetPort: 6832
- name: agent-configs
port: 5778
protocol: TCP
targetPort: 5778
selector:
app.kubernetes.io/name: jaeger
app.kubernetes.io/component: all-in-one
Run Code Online (Sandbox Code Playgroud)
不要使用 IP,使用 FQDN。首先,尝试对值进行硬编码jaegerHost
string jaegerHost = "jaeger-agent.jaeger";
Run Code Online (Sandbox Code Playgroud)
其中jaeger-agent- 服务名称,jaeger- 服务的命名空间
另外,您应该创建jaeger-collector服务
| 归档时间: |
|
| 查看次数: |
274 次 |
| 最近记录: |