Kubernetes 開發了一個 Elasticsearch 附加組件來實現集羣的日誌管理。這是一個 Elasticsearch、Fluentd 和 Kibana 的組合。Elasticsearch 是一個搜索引擎,負責存儲日誌並提供查詢接口;Fluentd 負責從 Kubernetes 蒐集日誌併發送給 Elasticsearch;Kibana 提供了一個 Web GUI,用戶能夠瀏覽和搜索存儲在 Elasticsearch 中的日誌。html
Elasticsearch 附加組件自己會做爲 Kubernetes 的應用在集羣裏運行,其 YAML 配置文件可從 https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch 獲取。git
可將這些 YAML 文件下載到本地目錄,好比 addons
,經過 kubectl apply -f addons/
部署。github
這裏有一點須要注意:後面咱們會經過 NodePort 訪問 Kibana,須要註釋掉 kibana-deployment.yaml
中的環境變量 SERVER_BASEPATH
,不然沒法訪問。網絡
全部的資源都部署在 kube-system
Namespace 裏。架構
DaemonSet fluentd-es
從每一個節點收集日誌,而後發送給 Elasticsearch。併發
Elasticsearch 以 StatefulSet 資源運行,並經過 Service elasticsearch-logging
對外提供接口。這裏已經將 Service 的類型經過 kubectl edit
修改成 NodePort。app
可經過 http://192.168.56.106:32607/
驗證 Elasticsearch 已正常工做。運維
Kibana 以 Deployment 資源運行,用戶可經過 Service kibana-logging
訪問其 Web GUI。這裏已經將 Service 的類型修改成 NodePort。elasticsearch
經過 http://192.168.56.106:30319/
訪問 Kibana。學習
Kibana 會顯示 Index Pattern 建立頁面。直接點擊 Create
,Kibana 會自動完成後續配置。
這時,點擊左上角的 Discover
就能夠查看和檢索 Kubernetes 日誌了。
Kubernetes 日誌管理系統已經就緒,用戶能夠根據須要建立本身的 Dashboard,具體方法可參考 Kibana 官方文檔。
Elasticsearch 附加組件自己會做爲 Kubernetes 的應用在集羣裏運行,以實現集羣的日誌管理。它是一個 Elasticsearch、Fluentd 和 Kibana 的組合。
Elasticsearch 是一個搜索引擎,負責存儲日誌並提供查詢接口。
Fluentd 負責從 Kubernetes 蒐集日誌併發送給 Elasticsearch。
Kibana 提供了一個 Web GUI,用戶能夠瀏覽和搜索存儲在 Elasticsearch 中的日誌。
做爲 Kubernetes 的實戰教程,咱們已經到了該收尾的地方。
本教程涵蓋了 Kubernetes 最最重要的技術:集羣架構、容器化應用部署、Scale Up/Down、滾動更新、監控檢查、集羣網絡、數據管理、監控和日誌管理,經過大量的實驗探討了 Kubernetes 的運行機制。
這個教程的目標是使讀者可以掌握實施和管理 Kubernetes 的必需技能,可以真正將 Kubernetes 用起來。
爲了達到這個目標,每一章都設計了大量的實踐操做環節,經過截圖和日誌幫助讀者理解各個技術要點,同時爲讀者本身實踐 Kubernetes 提供詳盡的參考。
本教程對讀者應該會有兩個做用:
初學者能夠按照章節順序系統地學習 Kubernetes,並經過教程中的實驗掌握 Kubernetes 的理論知識和實操技能。
有經驗的運維人員能夠將本教程當作參考材料,在實際工做中有針對性地查看相關知識點。
但願讀者們可以經過本教程打下紮實基礎,可以從容地運維 Kubernetes ,並結合所在公司和組織的實際需求搭建出實用的容器管理平臺。
最後祝你們使用 Kubernetes 愉快!
1.《天天5分鐘玩轉Kubernetes》
https://item.jd.com/26225745440.html
2.《天天5分鐘玩轉Docker容器技術》
https://item.jd.com/16936307278.html
3.《天天5分鐘玩轉OpenStack》
https://item.jd.com/12086376.html