Azure Kubernetes-Jaeger UI未显示作为ISTIO一部分部署的服务?

Azure Kubernetes-Jaeger UI未显示作为ISTIO一部分部署的服务?,kubernetes,istio,azure-aks,jaeger,Kubernetes,Istio,Azure Aks,Jaeger,我已使用以下配置来设置Istio cat << EOF | kubectl apply -f - apiVersion: install.istio.io/v1alpha1 kind: IstioOperator metadata: namespace: istio-system name: istio-control-plane spec: # Use the default profile as the base # More details at: https:

我已使用以下配置来设置Istio

cat << EOF | kubectl apply -f -
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: istio-control-plane
spec:
  # Use the default profile as the base
  # More details at: https://istio.io/docs/setup/additional-setup/config-profiles/
  profile: default
  # Enable the addons that we will want to use
  addonComponents:
    grafana:
      enabled: true
    prometheus:
      enabled: true
    tracing:
      enabled: true
    kiali:
      enabled: true
  values:
    global:
      # Ensure that the Istio pods are only scheduled to run on Linux nodes
      defaultNodeSelector:
        beta.kubernetes.io/os: linux
    kiali:
      dashboard:
        auth:
          strategy: anonymous
  components:
    egressGateways:
    - name: istio-egressgateway
      enabled: true
EOF
我无法在Jaeger中看到下面部署的应用程序

并且已经部署了下面提到的应用程序

kubectl expose service jaeger-query  --type=LoadBalancer --name=jaeger-query-svc --namespace istio-system
kubectl get svc jaeger-query-svc -n istio-system -o json
export JAEGER_URL=$(kubectl get svc jaeger-query-svc -n istio-system  -o jsonpath="{.status.loadBalancer.ingress[0]['hostname','ip']}"):$(kubectl get svc jaeger-query-svc -n istio-system -o 'jsonpath={.spec.ports[0].port}')
echo http://${JAEGER_URL}
curl http://${JAEGER_URL}
cat << EOF | kubectl apply -f -
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: nginx-deployment
  namespace: akv2k8s-test
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 1
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: stenote/nginx-hostname
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: web
  namespace: akv2k8s-test
spec:
  selector:
    app: nginx
  ports:
  - protocol: TCP
    port: 80
EOF

cat <<EOF | kubectl apply -f -
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: public-gateway
  namespace: akv2k8s-test
spec:
  selector:
    istio: ingressgateway # use istio default ingress gateway
  servers:
  - port:
      number: 443
      name: https
      protocol: HTTPS
    tls:
      mode: SIMPLE
      credentialName: "${KEY_CERT2_NAME}"
    hosts:
    - web.zaalion.com
EOF


cat <<EOF | kubectl apply -f -
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: helloworld
  namespace: akv2k8s-test
spec:
  hosts:
    - web.zaalion.com
  gateways:
    - public-gateway
  http:
    - route:
      - destination:
          host: web.akv2k8s-test.svc.cluster.local
          port:
            number: 80
EOF
我确实知道为什么Jaeger UI中没有列出该服务?

根据istio

要查看跟踪数据,必须向服务发送请求。请求的数量取决于Istio的采样率。您在安装Istio时设置此速率。默认采样率为1%。在第一个跟踪可见之前,您需要发送至少100个请求。你能尝试发送至少100个请求并检查它是否有效吗

如果你不想改变默认的采样率,那么这是有道理的

自定义跟踪采样

采样率选项可用于控制向跟踪系统报告的请求百分比。这应该根据网格中的流量和要收集的跟踪数据量进行配置。违约率为1%

要将默认随机采样修改为50,请将以下选项添加到tracing.yaml文件中

采样率应在0.0到100.0之间,精度为0.01。例如,要跟踪每10000个请求中的5个请求,请在此处使用0.05作为值


根据istio
查看跟踪数据,必须向服务发送请求。请求的数量取决于Istio的采样率。您在安装Istio时设置此速率。默认采样率为1%。在第一个跟踪可见之前,您需要发送至少100个请求。
能否尝试发送至少100个请求并检查其是否有效?感谢您提供的信息,是否有办法降低此限制?
export EXTERNAL_IP=$(kubectl get svc istio-ingressgateway -n istio-system -o jsonpath='{.status.loadBalancer.ingress[0].ip}')

curl -v --resolve web.zaalion.com:443:$EXTERNAL_IP --cacert cert2.crt https://web.zaalion.com
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
spec:
  meshConfig:
    defaultConfig:
      tracing:
        sampling: 50