真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

K8S中如何使用sidecar模式統(tǒng)一收集應用日志(適用所有技術語言體系)

這篇文章給大家介紹K8S中如何使用sidecar模式統(tǒng)一收集應用日志(適用所有技術語言體系),內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

目前創(chuàng)新互聯(lián)公司已為1000多家的企業(yè)提供了網站建設、域名、網頁空間、網站托管運營、企業(yè)網站設計、特克斯網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

  • Filebeat可以以sidecar模式來進行容器日志的收集,也就是filebeat和具體的服務容器部署在同一個pod內,指定收集日志的路徑或文件,即可將日志發(fā)送到指定位置或Elasticsearch這類的搜索引擎。

  • 每個pod內部署filebeat的模式,好處是和具體的應用服務低耦合,可擴展性強,不過需要在yaml進行額外配置。

  • 理論的可以支持所有技術語言體系,只要能輸出文件日志就好。


app服務

---apiVersion: v1kind: Servicemetadata:  name: test-app  labels:    app: test-appspec:  selector:    app: test-app  ports:  - protocol: TCP    port: 8080    targetPort: 8080    name: test-port#定義日志收集相關配置的一個configmap---apiVersion: v1kind: ConfigMapmetadata:  name: test-filebeat-config  labels:    k8s-app: filebeatdata:  filebeat.yml: |-    filebeat.prospectors:    - type: log      paths:        - /logdata/*.log      tail_files: true      fields:        pod_name: '${pod_name}'        POD_IP: '${POD_IP}'    setup.template.name: "app-logs"    setup.template.pattern: "app-logs-*"    output.elasticsearch: # 日志輸出到ES      hosts: ["192.168.1.xx:9200","192.168.1.xxx:9200"]      index: "app-logs-%{+yyyy.MM}"# deployment, 也可通過daemonset方式---apiVersion: apps/v1kind: Deploymentmetadata:  name: test-appspec:  replicas: 1  minReadySeconds: 15     #滾動升級15s后標志pod準備就緒  strategy:    rollingUpdate:        #replicas為2, 升級過程中pod個數在1-3個之間      maxSurge: 1         #滾動升級時會先啟動1個pod      maxUnavailable: 1   #滾動升級時允許pod處于Unavailable的最大個數  selector:    matchLabels:      app: test-app  template:    metadata:      labels:        app: test-app    spec:      terminationGracePeriodSeconds: 30 #30秒內優(yōu)雅關閉程序      containers:      - image: hub.exmaple.com/publib/filebeat:6.1.3     #提前下載下來到私有鏡像庫的鏡像(官方的可能會被墻)        name: filebeat        args: [          "-c", "/opt/filebeat/filebeat.yml",          "-e",        ]        env:        - name: POD_IP          valueFrom:            fieldRef:              apiVersion: v1              fieldPath: status.podIP        - name: pod_name          valueFrom:            fieldRef:              apiVersion: v1              fieldPath: metadata.name        securityContext:          runAsUser: 0        resources:          limits:            memory: 200Mi          requests:            cpu: 200m            memory: 200Mi        volumeMounts:        - name: config               #將configmap的內容放到容器本地目錄          mountPath: /opt/filebeat/        - name: data          mountPath: /usr/share/filebeat/data        - name: logdata       #同一個pod內的兩個應用共享目錄logdata, 一個寫一個讀          mountPath: /logdata      - name: test-app        image: hub.example.com/service/test-service:latest  #提供具體服務的app鏡像        ports:        - containerPort: 8080        volumeMounts:        - name: logdata       #指定掛在目錄到logdata          mountPath: /usr/local/tomcat/logs      volumes:      - name: data        emptyDir: {}      - name: logdata         #定義logdata為EmptyDir類型掛載目錄        emptyDir: {}      - name: config        configMap:          name: test-filebeat-config  #使用前面定義的configmap          items:          - key: filebeat.yml            path: filebeat.yml

查看filebeat和app的運行日志

kubectl logs -f  filebeatkubectl logs -f  test-app

這時可看到詳細的運行日志情況,同時elasticsearch上也會新建一個app-logs-xxxx.xx的索引。

關于K8S中如何使用sidecar模式統(tǒng)一收集應用日志(適用所有技術語言體系)就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


本文標題:K8S中如何使用sidecar模式統(tǒng)一收集應用日志(適用所有技術語言體系)
鏈接URL:http://weahome.cn/article/gsidho.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部