亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-11-10 09:26:37 來源:億速云 閱讀:693 作者:柒染 欄目:大數據

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

  • Filebeat可以以sidecar模式來進行容器日志的收集,也就是filebeat和具體的服務容器部署在同一個pod內,指定收集日志的路徑或文件,即可將日志發送到指定位置或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秒內優雅關閉程序      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 <pod名> filebeatkubectl logs -f <pod名> test-app

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

壶关县| 曲沃县| 泰顺县| 罗甸县| 广丰县| 衡水市| 宁波市| 独山县| 金川县| 定日县| 南部县| 资阳市| 重庆市| 搜索| 育儿| 五家渠市| 福清市| 泸水县| 三台县| 繁峙县| 固始县| 贵州省| 东明县| 谷城县| 久治县| 旌德县| 文水县| 铜陵市| 义乌市| 四子王旗| 阳城县| 陇南市| 驻马店市| 南城县| 德令哈市| 普宁市| 通榆县| 平乡县| 南充市| 微博| 东海县|