Alibaba Cloud menyediakan Tracing Analysis, layanan yang memungkinkan pengembang aplikasi terdistribusi merekonstruksi jejak lengkap, menganalisis statistik volume panggilan, dan memvisualisasikan topologi jejak. Tracing Analysis membantu Anda menganalisis serta mendiagnosis bottleneck kinerja dalam arsitektur aplikasi terdistribusi secara cepat guna meningkatkan efisiensi pengembangan dan diagnosis untuk layanan mikro. Untuk melihat data jejak, Anda harus menginstal komponen ALB Ingress Controller pada kluster Anda dan mengaktifkan fitur Xtrace.
Prasyarat
Instal komponen ALB Ingress Controller pada kluster Anda. Versi komponen harus 2.11.1 atau lebih baru.
Saat membuat kluster, pada halaman Component Configuration, pilih ALB Ingress untuk bidang Ingress. Untuk informasi selengkapnya, lihat Create an ACK managed cluster, Create an ACK dedicated cluster (new cluster creation is discontinued), atau Create an ACK serverless cluster.
Untuk kluster yang sudah ada, informasi tentang cara menginstal dan melakukan upgrade komponen ALB Ingress Controller tersedia di Manage components.
Jika Anda ingin mengakses layanan di ACK dedicated cluster menggunakan ALB Ingress, Anda harus memberikan izin kepada ALB Ingress Controller sebelum menerapkan layanan tersebut. Untuk informasi selengkapnya, lihat Grant the ALB Ingress Controller access permissions to an ACK dedicated cluster.
Anda telah mengaktifkan ActivateManaged Service for OpenTelemetry.
Aktifkan Analisis Tracing untuk AlbConfig
Langkah 1: Aktifkan Simple Log Service untuk kluster
Setelah Anda mengaktifkan Simple Log Service, kluster akan secara otomatis membuat proyek Simple Log Service. Untuk informasi selengkapnya, lihat Collect logs from ACK cluster containers.
Langkah 2: Dapatkan ID Simple Log Service Project untuk digunakan nanti
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Cluster Information, klik tab Basic Information. Lalu, salin dan simpan ID dari bidang Simple Log Service Project.
Langkah 3: Buat AlbConfig
Gunakan AlbConfig untuk membuat instans ALB dan pendengar (listener). Di dalam AlbConfig, aktifkan Simple Log Service dan log akses untuk instans ALB. Kemudian, konfigurasikan pengaturan Xtrace pada pendengar untuk mengaktifkan Xtrace serta menetapkan algoritma pengambilan sampel dan laju sampel.
Buat file bernama `alb-test.yaml` dan salin konten berikut ke dalam file tersebut untuk membuat AlbConfig.
CatatanJika Anda menggunakan kembali instans ALB yang sudah ada dan ingin mengaktifkan Simple Log Service melalui AlbConfig, Anda harus mengatur bidang
forceOverrideketrueagar properti instans ALB ditimpa secara paksa. Untuk informasi selengkapnya, lihat Reuse an existing ALB instance.apiVersion: alibabacloud.com/v1 kind: AlbConfig metadata: name: alb-demo spec: config: name: alb-test addressType: Intranet zoneMappings: # vSwitch yang ditentukan harus berada di zona yang didukung oleh ALB dan dalam VPC yang sama dengan kluster. Untuk ketersediaan tinggi, pilih setidaknya dua vSwitch di zona berbeda. - vSwitchId: vsw-2vc82nndnoo********** # Tetapkan ID vSwitch ALB sesuai kebutuhan. - vSwitchId: vsw-2vc30f5mlhs********** accessLogConfig: logProject: "k8s-log-xz92lvykqj1siwvif****" # Gunakan Proyek Simple Log Service yang sebenarnya yang telah diperoleh. logStore: alb_xz92lvykqj1siwvif**** # Nama logStore harus diawali dengan "alb_" (menggunakan garis bawah). Jika logStore yang ditentukan tidak ada, sistem akan membuatnya secara otomatis. listeners: - port: 80 protocol: HTTP logConfig: accessLogRecordCustomizedHeadersEnabled: false accessLogTracingConfig: # Parameter konfigurasi Xtrace. tracingEnabled: true # Saklar Xtrace untuk pendengar. Nilai default adalah false. Untuk mengaktifkan Xtrace, atur parameter ini ke true. tracingSample: 9999 # Laju sampel Xtrace untuk pendengar. Rentang nilai: 1 hingga 10000. Parameter ini hanya berlaku jika tracingEnabled bernilai true. tracingType: Zipkin # Algoritma pengambilan sampel Xtrace untuk pendengar. Atur ke Zipkin. Parameter ini hanya berlaku jika tracingEnabled bernilai true.CatatanUntuk informasi tentang cara membuat vSwitch, lihat Create and manage vSwitches.
Anda hanya dapat memodifikasi konfigurasi Xtrace setelah mengaktifkan log akses Simple Log Service untuk instans tersebut.
Jalankan perintah berikut untuk membuat AlbConfig.
kubectl apply -f alb-test.yamlOutput yang diharapkan:
albconfig.alibabacloud.com/alb-demo created
Langkah 4: Buat IngressClass
Buat file bernama `alb.yaml` dan salin konten berikut ke dalam file tersebut untuk membuat IngressClass.
apiVersion: networking.k8s.io/v1 kind: IngressClass metadata: name: alb spec: controller: ingress.k8s.alibabacloud/alb parameters: apiGroup: alibabacloud.com kind: AlbConfig name: alb-demoJalankan perintah berikut untuk membuat IngressClass.
kubectl apply -f alb.yamlOutput yang diharapkan:
ingressclass.networking.k8s.io/alb created
Langkah 5: Terapkan Layanan dan Konfigurasikan Aturan Penerusan Ingress
Buat file bernama `cafe-service.yaml` dan salin konten berikut ke dalam file tersebut untuk menerapkan deployment bernama `coffee` dan layanan bernama `coffee-svc`.
apiVersion: apps/v1 kind: Deployment metadata: name: coffee spec: replicas: 2 selector: matchLabels: app: coffee template: metadata: labels: app: coffee spec: containers: - name: coffee image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginxdemos:latest ports: - containerPort: 80 --- apiVersion: v1 kind: Service metadata: name: coffee-svc spec: ports: - port: 80 targetPort: 80 protocol: TCP selector: app: coffee type: NodePortJalankan perintah berikut untuk menerapkan deployment dan layanan.
kubectl apply -f cafe-service.yamlOutput yang diharapkan:
deployment.apps/coffee created service/coffee-svc createdBuat file bernama `cafe-ingress.yaml` dan salin konten berikut ke dalam file tersebut untuk mengonfigurasi aturan Ingress dan mengekspos layanan.
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: cafe-ingress spec: ingressClassName: alb rules: - host: demo.domain.ingress.top http: paths: # Konfigurasikan path konteks - path: /coffee pathType: ImplementationSpecific backend: service: name: coffee-svc port: number: 80Jalankan perintah berikut untuk mengonfigurasi nama domain dan path guna mengekspos layanan `coffee`.
kubectl apply -f cafe-ingress.yamlOutput yang diharapkan:
ingress.networking.k8s.io/cafe-ingress created
Langkah 6: Konfigurasikan Resolusi Nama Domain
Jika Anda mengonfigurasi bidang spec.rules.host dengan nama domain kustom saat membuat Ingress, Anda harus menambahkan rekaman CNAME untuk nama domain tersebut yang mengarah ke nama DNS ALB. Dengan demikian, Anda dapat mengakses layanan menggunakan nama domain kustom. Untuk informasi selengkapnya, lihat Create and use an ALB Ingress to expose Services to external traffic.
Langkah 7: Akses Layanan
Akses layanan untuk menghasilkan permintaan yang dilengkapi ID Xtrace.
Jalankan perintah berikut untuk mendapatkan alamat instans ALB (ADDRESS).
kubectl get ingOutput yang diharapkan:
NAME CLASS HOSTS ADDRESS PORTS AGE cafe-ingress alb demo.domain.ingress.top alb-u53i28ewt580*****.cn-<Region>.alb.aliyuncs.com 80 16mJalankan perintah berikut untuk mengakses layanan.
curl -H Host:demo.domain.ingress.top http://alb-u53i28ewt580*****.cn-<Region>.alb.aliyuncs.com/coffeeOutput yang diharapkan adalah halaman HTML dengan judul
Hello World.
Verifikasi Efek Analisis Tracing
Periksa log akses Simple Log Service untuk instans ALB guna memastikan bahwa permintaan berisi data Xtrace yang ditandai.
Masuk ke ACK console. Di panel navigasi kiri, klik Clusters.
Pada halaman Cluster Information, klik tab Basic Information. Lalu, klik tautan di bidang Simple Log Service Project untuk masuk ke konsol Simple Log Service. Di panel navigasi kiri, klik LogStore yang namanya diawali dengan
alb_, seperti `alb_xz92lvykqj1siwvif****`. Pada halaman ini, carixtrace.
-
Pada halaman Applications, pilih wilayah di bilah navigasi atas lalu klik nama aplikasi.
Pada halaman detail aplikasi, di panel navigasi kiri, klik API Calls. Lalu, klik tab Trace untuk melihat data jejak.
Pada tab Traces, Anda dapat melihat hingga 100 jejak dengan durasi terpanjang untuk aplikasi tersebut. Untuk informasi selengkapnya tentang data jejak, lihat Interface Calls.
Referensi
Untuk informasi tentang cara menerapkan Analisis Tracing dengan Nginx Ingress, lihat Implement Tracing Analysis for the Nginx Ingress Controller Component.
Jika Anda mengalami masalah saat menggunakan ALB Ingress, lihat Troubleshoot ALB Ingress issues dan ALB Ingress FAQ.