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) に連携する方法を紹介します。

注意

正式にサポートされている手順ではないため自己責任でお願いします。

手順

拍子抜けするぐらいシンプルな手順ですが、基本的には以下にあるとおりのインストール手順に従います。

https://docs.pivotal.io/tas-kubernetes/0-3/installing-tas-for-kubernetes.html#install-tas-for-k8s-from-network

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のトレーシングを外部への連携は簡単にできます。