Integrasi Simple Log Service dengan kluster terdaftar menyediakan cara terpadu untuk mengelola kluster Kubernetes yang tersebar di berbagai lingkungan. Topik ini menjelaskan cara mengintegrasikan Simple Log Service dengan kluster terdaftar menggunakan aplikasi di Container Service for Kubernetes (ACK).
Prasyarat
Langkah 1: Konfigurasi izin RAM
Gunakan onectl
-
Instal dan konfigurasikan onectl di mesin lokal Anda. Untuk informasi selengkapnya, lihat Kelola kluster terdaftar menggunakan onectl.
Jalankan perintah berikut untuk mengonfigurasi izin RAM bagi komponen Simple Log Service:
onectl ram-user grant --addon logtail-dsOutput yang diharapkan:
Ram policy ack-one-registered-cluster-policy-logtail-ds granted to ram user ack-one-user-ce313528c3 successfully.
Gunakan Konsol
Sebelum menginstal komponen di kluster terdaftar, Anda harus membuat pasangan AccessKey untuk memberikan izin kepada kluster agar dapat mengakses layanan cloud. Hal ini memerlukan pembuatan Pengguna RAM dan pemberian izin yang diperlukan.
Buat kebijakan kustom. Gunakan konten kebijakan berikut.
-
Buat AccessKey untuk Pengguna RAM tersebut.
PeringatanUntuk keamanan yang lebih baik, konfigurasikan kebijakan kontrol akses jaringan untuk AccessKey guna membatasi akses hanya pada lingkungan jaringan tepercaya dan meningkatkan keamanan. Untuk informasi selengkapnya, lihat Kebijakan pembatasan akses jaringan berbasis AccessKey.
Gunakan pasangan AccessKey untuk membuat Secret bernama
alibaba-addon-secretdi kluster terdaftar.Jalankan perintah berikut untuk membuat Secret yang digunakan oleh komponen Logtail.
kubectl -n kube-system create secret generic alibaba-addon-secret --from-literal='access-key-id=<your AccessKey ID>' --from-literal='access-key-secret=<your AccessKey Secret>'CatatanGanti
<your AccessKey ID>dan<your AccessKey Secret>dengan pasangan AccessKey Anda.
Langkah 2: Instal komponen logtail-ds
Gunakan onectl
Jalankan perintah berikut untuk menginstal komponen logtail-ds:
onectl addon install logtail-dsOutput yang diharapkan:
Addon logtail-ds, version **** installed.Gunakan Konsol
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster target. Di panel navigasi sisi kiri, klik Add-ons.
Pada halaman Add-ons, klik tab Logs and Monitoring. Temukan komponen logtail-ds dan klik Install di pojok kanan bawah kartu.
Pada kotak dialog Note, klik OK.
(Opsional) Langkah 3: Konfigurasi pengumpulan log dari Pod
Log teks
Untuk mengumpulkan log teks dari Pod, hubungkan ke kluster terdaftar menggunakan kubectl dan terapkan konfigurasi AliyunLogConfig berikut.
apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
name: test-file # Nama resource. Nama harus unik dalam kluster Kubernetes.
spec:
project: k8s-log-c326bc86**** # Opsional. Nama proyek. Anda dapat menyesuaikan nama. Kami menyarankan agar Anda menamai proyek dengan format k8s-log-<cluster-id>.
logstore: test-file # Wajib diisi. Nama penyimpanan log. Jika penyimpanan log yang ditentukan belum ada, Simple Log Service akan membuatnya secara otomatis.
logtailConfig: # Konfigurasi Logtail.
inputType: file # Jenis sumber data. Tetapkan nilai ke file untuk log teks atau plugin untuk stdout.
configName: test-file # Nama konfigurasi Logtail. Nama harus sama dengan nama resource yang ditentukan oleh metadata.name.
inputDetail: # Detail konfigurasi Logtail.
logType: common_reg_log # Mengumpulkan log teks dalam mode simple.
logPath: /log/ # Jalur tempat file log disimpan.
filePattern: "*.log" # Nama file log. Anda dapat menggunakan tanda bintang (*) dan tanda tanya (?) sebagai wildcard. Contoh: log_*.log.
dockerFile: true # Menentukan apakah akan mengumpulkan log dari file di dalam kontainer. Tetapkan nilai ke true.
advanced: # Menentukan kondisi untuk memfilter kontainer.
k8s:
K8sNamespaceRegex: ^(default)$
K8sPodRegex: '^(nginx-log-demo.*)$'
K8sContainerRegex: ^(nginx-log-demo-0)$
IncludeK8sLabel:
job-name: "^(nginx-log-demo.*)$"Untuk informasi selengkapnya tentang parameter, lihat Konfigurasi Logtail (Legacy).
Stdout
Untuk mengumpulkan stdout dari Pod, hubungkan ke kluster terdaftar menggunakan kubectl dan terapkan konfigurasi AliyunLogConfig berikut. Penerapan konfigurasi ini secara otomatis membuat penyimpanan log bernama stdout-logstore dan mengumpulkan log ke dalamnya.
apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
# Nama konfigurasi Anda. Nama harus unik dalam kluster Kubernetes Anda.
name: stdout-collector
spec:
# Nama penyimpanan log tempat log diunggah.
logstore: stdout-logstore
# Detail konfigurasi Logtail.
logtailConfig:
# Jenis input untuk Docker stdout. Harus berupa 'plugin'.
inputType: plugin
# Nama konfigurasi Logtail. Harus sesuai dengan metadata.name.
configName: stdout-collector
inputDetail:
plugin:
inputs:
-
type: service_docker_stdout
detail:
# Mengumpulkan stdout dan stderr.
Stdout: true
Stderr: true
# Mengumpulkan stdout dari semua kontainer kecuali yang memiliki variabel lingkungan COLLECT_STDOUT_FLAG:false.Langkah 4: Konfigurasi Simple Log Service
Untuk informasi selengkapnya, lihat Konfigurasi Simple Log Service saat membuat aplikasi.
Untuk informasi selengkapnya tentang cara mengumpulkan log Ingress, lihat Kumpulkan dan analisis log akses dari controller NGINX Ingress.