Hubungkan kluster terdaftar ke Simple Log Service untuk manajemen terpusat kluster Kubernetes Anda. Topik ini menjelaskan cara mengaktifkan Simple Log Service untuk kluster terdaftar menggunakan aplikasi di Container Service for Kubernetes (ACK).
Prasyarat
Kluster terdaftar ACK One telah dibuat dan kluster Kubernetes eksternal yang diterapkan di pusat data lokal telah terhubung ke kluster terdaftar ACK One.
Dapatkan KubeConfig kluster dan gunakan kubectl untuk terhubung ke kluster terdaftar.
Langkah 1: Konfigurasikan izin RAM untuk komponen Simple Log Service
Konfigurasi menggunakan onectl
Instal onectl di mesin lokal Anda. Untuk informasi selengkapnya, lihat Gunakan onectl untuk mengelola kluster terdaftar.
Jalankan perintah berikut untuk memberikan izin RAM kepada komponen logtail-ds.
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.
Konfigurasi menggunakan Konsol
Sebelum menginstal komponen di kluster terdaftar, Anda harus memberikan izin kepada kluster untuk mengakses layanan Alibaba Cloud. Untuk melakukannya, buat pengguna Resource Access Management (RAM), berikan izin yang diperlukan kepada pengguna tersebut, lalu buat AccessKey untuk pengguna tersebut.
Buat kebijakan kustom. Kode berikut menyediakan konten kebijakan tersebut.
Buat pasangan AccessKey untuk pengguna RAM.
PeringatanKami menyarankan agar Anda mengonfigurasi kebijakan berbasis pasangan AccessKey untuk kontrol akses jaringan, membatasi sumber pemanggilan AccessKey hanya pada lingkungan jaringan tepercaya guna meningkatkan keamanan AccessKey.
Gunakan AccessKey untuk membuat Secret bernama
alibaba-addon-secretdi kluster terdaftar.Jalankan perintah berikut untuk membuat Secret bagi 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 ID AccessKey dan Rahasia AccessKey yang Anda peroleh pada langkah sebelumnya.
Langkah 2: Instal komponen logtail-ds
Instal menggunakan onectl
Jalankan perintah berikut untuk menginstal komponen logtail-ds.
onectl addon install logtail-dsOutput yang diharapkan:
Addon logtail-ds, version **** installed.Instal menggunakan Konsol
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Pada halaman Clusters, klik nama kluster tujuan, lalu di panel navigasi kiri, klik Add-ons.
Pada halaman Component Management, klik tab Logs and Monitoring, temukan komponen logtail-ds, lalu klik Install di pojok kanan bawah kartunya.
Pada kotak dialog Notice, klik OK.
(Opsional) Langkah 3: Konfigurasikan pengumpulan log untuk semua Pod
Log teks
Untuk mengumpulkan log teks dari semua Pod, hubungkan ke kluster terdaftar menggunakan kubectl, lalu terapkan konfigurasi berikut.
apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
name: test-file # Nama resource. Nama ini harus unik dalam kluster Kubernetes.
spec:
project: k8s-log-c326bc86**** # Opsional. Nama proyek. Anda dapat menentukan nama kustom. Kami menyarankan agar Anda menamai proyek dalam format k8s-log-<cluster-id>.
logstore: test-file # Wajib diisi. Nama penyimpanan log. Jika penyimpanan log 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 output standar.
configName: test-file # Nama konfigurasi Logtail. Nama ini harus sama dengan nama resource yang ditentukan oleh metadata.name.
inputDetail: # Detail konfigurasi Logtail.
logType: common_reg_log # Kumpulkan log teks dalam mode simple.
logPath: /log/ # Jalur tempat file log disimpan.
filePattern: "*.log" # Nama file log. Anda dapat menggunakan karakter wildcard, seperti tanda bintang (*) dan tanda tanya (?). Contoh: log_*.log.
dockerFile: true # Untuk mengumpulkan file dari kontainer, tetapkan dockerFile ke true.
advanced: # 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, lihat Konfigurasi Logtail (Legacy).
Output standar
Untuk mengonfigurasi pengumpulan output standar dari semua Pod, hubungkan ke kluster terdaftar menggunakan kubectl, lalu terapkan konfigurasi berikut. Setelah penerapan berhasil, penyimpanan log bernama stdout-logstore akan dibuat secara otomatis dan log akan dikumpulkan di dalamnya.
apiVersion: log.alibabacloud.com/v1alpha1
kind: AliyunLogConfig
metadata:
# Nama konfigurasi Anda. Nama ini 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 stdout Docker adalah 'plugin'.
inputType: plugin
# Nama konfigurasi Logtail. Nama ini harus sama dengan nilai metadata.name.
configName: stdout-collector
inputDetail:
plugin:
inputs:
-
type: service_docker_stdout
detail:
# Kumpulkan log dari stdout dan stderr.
Stdout: true
Stderr: true
# Kumpulkan stdout dari semua kontainer kecuali kontainer yang memiliki "COLLECT_STDOUT_FLAG: false" dalam konfigurasi lingkungan Docker-nya.Langkah 4: Konfigurasikan Simple Log Service
Untuk informasi selengkapnya tentang cara mengonfigurasi Simple Log Service saat membuat aplikasi, lihat Konfigurasi Simple Log Service saat membuat aplikasi.
Untuk informasi selengkapnya tentang cara mengumpulkan log Ingress, lihat Kumpulkan dan analisis log akses Nginx Ingress.