1.1、部署es
# 2、共6個檔案
[root@k8s-master01 efk]# ls
es-service.yaml es-statefulset.yaml fluentd-es-configmap.yaml fluentd-es-ds.yaml kibana-deployment.yaml kibana-service.yaml
# 3、取消es健康檢查(es-statefulset.yaml),其他的按需改吧
# livenessprobe:
# tcpsocket:
# port: transport
# initialdelayseconds: 5
# timeoutseconds: 10
# readinessprobe:
# tcpsocket:
# port: transport
# initialdelayseconds: 5
# timeoutseconds: 10
# 4、部署es
# 5、檢視集群狀態(因為健康檢查關了,所有等會會直接running,所有得進去看看)
[root@k8s-master01 efk]# kubectl get pod -n kube-system elasticsearch-logging-0
name ready status restarts age
elasticsearch-logging-0 0/1 podinitializing 0 18s
# 6、看看日誌
[root@k8s-master01 efk]# kubectl logs -f -n kube-system elasticsearch-logging-0
1.2、部署fluentd
configmap/fluentd-es-config-v0.2.0 created
### 設定nodeselector,之需要部署在需要收集日誌的節點上
nodeselector:
fluentd: "true"
#### 打上標籤
[root@k8s-master01 efk]# kubectl label node k8s-master02 fluentd=true
1.3、部署kibana
# service 埠暴露型別改一下(kibana-service.yaml)
type: nodeport
# 注釋以下2行(kibana-deployment.yaml )
- name: server_basepath
value: /api/v1/namespaces/kube-system/services/kibana-logging/proxy
[root@k8s-master01 efk]# kubectl get svc -n kube-system kibana-logging
name type cluster-ip external-ip port(s) age
kibana-logging nodeport 10.110.227.174 5601:30912/tcp 58s
1.4、所需映象
[root@k8s-node01 ~]# docker pull quay.io/fluentd_elasticsearch/elasticsearch:v7.4.3
[root@k8s-master02 ~]# docker pull quay.io/fluentd_elasticsearch/fluentd:v3.1.0
[root@k8s-master01 efk]# docker pull docker.elastic.co/kibana/kibana-oss:7.4.2
EFK完成k8s應用日誌收集
方案選擇 kubernetes官方提供了efk的日誌收集解決方案,但是這種方案並不適合所有的業務場景,它本身就有一些侷限性,例如 所有日誌都必須是out前台輸出,真實業務場景中無法保證所有日誌都在前台輸出 只能有乙個日誌輸出檔案,而真實業務場景中往往有多個日誌輸出檔案 fluentd並不是常用的日誌...
基於k8s集群 搭建efk日誌系統
1.官方位址 2.搭建es集群 kubectl get po n kube system grep elasticsearch 等待pod狀態到running kubectl describe po elasticsearch logging 0 n kube system grep ip curl...
k8s集群日誌
硬體環境 三颱虛擬機器,10.10.20.203 部署docker etcd flannel kube apiserver kube controller manager kube scheduler elsticsearch kibana 10.10.20.206 部署docker flannel...