Tanzu Application Service(for k8s)の分散トレーシングをWavefrontにフォワードする
Tanzu Application Service(for k8s)の分散トレーシングはWavefrontにフォワードできます。
はじめに
Tanzu Application Service for k8s(以降TAS4K8S)とはVMwareが提供しているcf-for-k8sの商用ディストリビューションです。
そして、cf-for-k8sにはいかにリストされているようサービスメッシュとしてIstioがあり、Istioがあるということは、分散トレーシングができるということです。
https://github.com/cloudfoundry/cf-for-k8s/tree/develop#built-with
今回はTASのトレーシング情報をTanzu Obserability(Wavefront) に連携する方法を紹介します。
注意
正式にサポートされている手順ではないため自己責任でお願いします。
手順
拍子抜けするぐらいシンプルな手順ですが、基本的には以下にあるとおりのインストール手順に従います。
TASのインストールを仕掛ける前に以下のconfiguration-value/zipkin-url.yaml
を作成します。
なお、externalName: wavefront-proxy.wavefront.svc.cluster.local
はwavefront-proxyが存在するURLに差し替えます。
1#@ load("@ytt:data", "data")
2---
3apiVersion: v1
4kind: Service
5metadata:
6 name: zipkin
7 namespace: istio-system
8spec:
9 type: ExternalName
10 externalName: wavefront-proxy.wavefront.svc.cluster.local
つぎに、configuration-value/istio-distributed-tracing.yaml
を作成します。
1#@ load("@ytt:overlay", "overlay")
2
3#@overlay/match by=overlay.subset({"kind": "Deployment", "metadata": {"name": "istiod"}})
4---
5spec:
6 template:
7 spec:
8 containers:
9 #@overlay/match by="name"
10 - name: discovery
11 env:
12 #@overlay/match by="name"
13 - name: PILOT_TRACE_SAMPLING
14 value: "100"
以上です。あとはマニュアルにある通りにインストールします。
1./bin/install-tas.sh ../configuration-values
結果
うまく設定すれば、以下のように、Wavefrontでみえるようになります。
まとめ
TAS4K8Sのトレーシングを外部への連携は簡単にできます。