日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

寬松模式流量泳道實施前的準備

在使用寬松模式的流量泳道實施全鏈路流量管理之前,需要進行一些準備工作,以確保在開始執(zhí)行后續(xù)場景中的具體步驟之前,已經(jīng)滿足了所有必要的條件,從而避免遇到不必要的錯誤和障礙。本文介紹使用寬松模式流量泳道實施全鏈路流量管理前的一些準備工作。

前提條件

準備工作

創(chuàng)建ingressgateway網(wǎng)關(guān)規(guī)則

使用以下內(nèi)容創(chuàng)建ingressgateway且命名空間為istio-system的網(wǎng)關(guān)規(guī)則。具體操作,請參見管理網(wǎng)關(guān)規(guī)則

展開查看網(wǎng)關(guān)規(guī)則YAML示例

apiVersion: networking.istio.io/v1beta1
kind: Gateway
metadata:
  name: ingressgateway
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
    - port:
        number: 80
        name: http
        protocol: HTTP
      hosts:
        - '*'

部署示例服務(適用于場景一場景二

  1. 為default命名空間啟用Sidecar網(wǎng)格代理自動注入。具體操作,請參見啟用自動注入

    關(guān)于自動注入的更多信息,請參見配置Sidecar注入策略

  2. 在ACK集群中執(zhí)行以下命令,部署示例服務。

    kubectl apply -f https://alibabacloudservicemesh.oss-cn-beijing.aliyuncs.com/asm-labs/swimlane/v1/mock-tracing-v1.yaml
    kubectl apply -f https://alibabacloudservicemesh.oss-cn-beijing.aliyuncs.com/asm-labs/swimlane/v2/mock-tracing-v2.yaml
    kubectl apply -f https://alibabacloudservicemesh.oss-cn-beijing.aliyuncs.com/asm-labs/swimlane/v3/mock-tracing-v3.yaml
    說明

    場景一、場景二中的示例應用基于Golang開發(fā),場景三中的示例應用基于Java開發(fā)。這是由于baggage透傳機制對于服務采用的開發(fā)語言存在限制。更多信息,請參見Auto-instrumentation

配置服務透傳Baggage上下文(適用于場景三

本節(jié)主要展示如何通過OpenTelemetry Operator自動插裝的方法,為Kubernetes集群中的服務添加Baggage透傳能力。

  1. 部署OpenTelemetry Operator。

    1. 通過kubectl連接到ASM實例添加的Kubernetes集群。執(zhí)行以下命令,創(chuàng)建opentelemetry-operator-system命名空間。

      kubectl create namespace opentelemetry-operator-system
    2. 執(zhí)行以下命令,使用Helm在opentelemetry-operator-system命名空間下安裝OpenTelemetry Operator。關(guān)于如何安裝Helm,請參見安裝Helm

      helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
      helm install  \
          --namespace=opentelemetry-operator-system \
          --version=0.46.0 \
          --set admissionWebhooks.certManager.enabled=false \
          --set admissionWebhooks.certManager.autoGenerateCert=true \
          --set manager.image.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/opentelemetry-operator" \
          --set manager.image.tag="0.92.1" \
          --set kubeRBACProxy.image.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/kube-rbac-proxy" \
          --set kubeRBACProxy.image.tag="v0.13.1" \
          --set manager.collectorImage.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/opentelemetry-collector" \
          --set manager.collectorImage.tag="0.97.0" \
          --set manager.opampBridgeImage.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/operator-opamp-bridge" \
          --set manager.opampBridgeImage.tag="0.97.0" \
          --set manager.targetAllocatorImage.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/target-allocator" \
          --set manager.targetAllocatorImage.tag="0.97.0" \
          --set manager.autoInstrumentationImage.java.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/autoinstrumentation-java" \
          --set manager.autoInstrumentationImage.java.tag="1.32.1" \
          --set manager.autoInstrumentationImage.nodejs.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/autoinstrumentation-nodejs" \
          --set manager.autoInstrumentationImage.nodejs.tag="0.49.1" \
          --set manager.autoInstrumentationImage.python.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/autoinstrumentation-python" \
          --set manager.autoInstrumentationImage.python.tag="0.44b0" \
          --set manager.autoInstrumentationImage.dotnet.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/autoinstrumentation-dotnet" \
          --set manager.autoInstrumentationImage.dotnet.tag="1.2.0" \
          --set manager.autoInstrumentationImage.go.repository="registry-cn-hangzhou.ack.aliyuncs.com/acs/opentelemetry-go-instrumentation" \
          --set manager.autoInstrumentationImage.go.tag="v0.10.1.alpha-2-aliyun" \
          opentelemetry-operator open-telemetry/opentelemetry-operator
    3. 執(zhí)行以下命令,檢查opentelemetry-operator是否正常運行。

      kubectl get pod -n opentelemetry-operator-system

      預期輸出:

      NAME                                      READY   STATUS    RESTARTS   AGE
      opentelemetry-operator-854fb558b5-pvllj   2/2     Running   0          1m
  2. 配置自動插裝(auto-instrumentation)。

    1. 使用以下內(nèi)容,創(chuàng)建instrumentation.yaml文件。

      apiVersion: opentelemetry.io/v1alpha1
      kind: Instrumentation
      metadata:
        name: demo-instrumentation
      spec:
        propagators:
          - baggage
        sampler:
          type: parentbased_traceidratio
          argument: "1"
    2. 執(zhí)行以下命令,在default命名空間下聲明自動插裝。

      kubectl apply -f instrumentation.yaml
      說明

      對于OpenTelemetry框架來說,其最佳實踐還包括部署OpenTelemetry Collector以收集可觀測數(shù)據(jù)。由于本文主要演示OpenTelemetry自動插裝實現(xiàn)的Baggage鏈路透傳,因此沒有包含部署OpenTelemetry Collector的步驟。有關(guān)服務網(wǎng)格ASM如何通過OpenTelemetry上報鏈路追蹤數(shù)據(jù),請參考見將鏈路追蹤數(shù)據(jù)采集到阿里云可觀測鏈路OpenTelemetry版