目錄
環境準備
? ? ? ? 下載efk軟件包
? ? ? ? 下載 nfs
設置nfs開機自啟
????????創建共享存儲目錄
配置共享目錄文件
加載nfs
使共享目錄生效
查看
node節點驗證
? ? ? ? 共享目錄配置成功
進入efk配置文件目錄
修改deployment.yaml文件
修改為master主節點ip
修改為nfs共享存儲目錄
修改 kibana
添加? type:Nodeport?
部署EFK
創建nfs存儲訪問
構建es集群
部署kibana
修改好后如下
漢化kibana?????????
? ? ? ? 創建 kibana.yml 文件
命令行創建configmap
提交 kibana資源清單
查看
master節點執行
訪問網頁
查看暴露端口號
網頁訪問
安裝fluentd組件
查看污點并復制污點
修改配置文件
修改key的污點
網頁訪問
創建索引模式
查看
環境準備
? ? ? ? 下載efk軟件包
[root@k8s-master ~]# mkdir efk
[root@k8s-master ~]# cd efk/
[root@k8s-master efk]# ls
[root@k8s-master efk]# rz
rz waiting to receive.**[root@k8s-master efk]# ls
efk.zip
[root@k8s-master efk]# unzip efk.zip
Archive: efk.zipcreating: efk/inflating: efk/class.yaml inflating: efk/deployment.yaml inflating: efk/elasticsearch-statefulset.yaml inflating: efk/elasticsearch_svc.yaml inflating: efk/fluentd.yaml inflating: efk/kibana.yaml extracting: efk/kube-logging.yaml inflating: efk/pod.yaml inflating: efk/rbac.yaml inflating: efk/serviceaccount.yaml
下載? yum -y install socat下載? yum -y install nfs-utils
? ? ? ? 下載 nfs
設置nfs開機自啟
[root@k8s-master data]# systemctl enable --now nfs
????????創建共享存儲目錄
[root@k8s-master ~]# cd /data/
[root@k8s-master data]# ls
discuz mysql redis tomcat
[root@k8s-master data]# mkdir efk
[root@k8s-master data]# ls
discuz efk mysql redis tomcat
配置共享目錄文件
[root@k8s-master data]# vim /etc/exports
/data/efk 192.168.158.0/24(rw,sync,no_root_squash)
加載nfs
使共享目錄生效
查看
[root@k8s-master data]# showmount -e
Export list for k8s-master:
/data/efk 192.168.158.0/24
node節點驗證
? ? ? ? 共享目錄配置成功
[root@k8s-node1 ~]# showmount -e 192.168.158.33
Export list for 192.168.158.33:[root@k8s-node2 ~]# showmount -e 192.168.158.33
Export list for 192.168.158.33:
進入efk配置文件目錄
修改deployment.yaml文件
[root@k8s-master efk]# vim deployment.yaml?
修改為master主節點ip
修改為nfs共享存儲目錄
修改 kibana
添加? type:Nodeport?
[root@k8s-master efk]# vim kibana.yaml
因為只有兩個node 節點,這里pod副本數改為2就可以
?
部署EFK
創建nfs存儲訪問
kubectl create -f serviceaccount.yamlkubectl create -f rbac.yamlkubectl create -f deployment.yamlkubectl create -f class.yaml
構建es集群
kubectl apply -f kube-logging.yamlkubectl create -f elasticsearch-statefulset.yamlkubectl create -f elasticsearch_svc.yaml
部署kibana
?往解壓出來的 kibana.yaml文件里添加
volumeMounts:- name: kibana-configmountPath: /usr/share/kibana/config/volumes:- name: kibana-configconfigMap:name: kibana-configmap
修改好后如下
[root@k8s-master efk]# vim kibana.yaml
[root@k8s-master efk]# cat kibana.yaml
apiVersion: v1
kind: Service
metadata:name: kibananamespace: kube-logginglabels:app: kibana
spec:type: NodePortports:- port: 5601selector:app: kibana
---
apiVersion: apps/v1
kind: Deployment
metadata:name: kibananamespace: kube-logginglabels:app: kibana
spec:replicas: 1selector:matchLabels:app: kibanatemplate:metadata:labels:app: kibanaspec:containers:- name: kibanaimage: docker.elastic.co/kibana/kibana:7.2.0imagePullPolicy: IfNotPresentresources:limits:cpu: 1000mrequests:cpu: 100menv:- name: ELASTICSEARCH_URLvalue: http://elasticsearch.kube-logging.svc.cluster.local:9200ports:- containerPort: 5601volumeMounts:- name: kibana-configmountPath: /usr/share/kibana/config/volumes:- name: kibana-configconfigMap:name: kibana-configmap
漢化kibana?????????
? ? ? ? 創建 kibana.yml 文件
vim kibana.ymlserver.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
命令行創建configmap
kubectl -n kube-logging create configmap kibana-configmap --from-file=kibana.yml=./kibana.yml
提交 kibana資源清單
kubectl apply -f kibana.yaml
查看
[root@k8s-master efk]# kubectl get pods -n kube-logging
NAME READY STATUS RESTARTS AGE
es-cluster-0 1/1 Running 0 45m
es-cluster-1 1/1 Running 0 80m
kibana-7645484fc7-58bfd 1/1 Running 2 (44m ago) 51m[root@k8s-master efk]# kubectl get svc -n kube-logging
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch ClusterIP None <none> 9200/TCP,9300/TCP 82m
kibana NodePort 10.100.200.93 <none> 5601:32107/TCP 77m
master節點執行
當es的po和kibana安裝好之后在master節點執行
kubectl port-forward --address 192.168.158.33 es-cluster-0 9200:9200 --namespace=kube-logging
訪問網頁
192.168.158.33:9200
查看暴露端口號
[root@k8s-master ~]# kubectl -n kube-logging get svc -o wide
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
elasticsearch ClusterIP None <none> 9200/TCP,9300/TCP 102m app=elasticsearch
kibana NodePort 10.100.200.93 <none> 5601:32107/TCP 97m app=kibana
網頁訪問
192.168.158.33:32107
安裝fluentd組件
查看污點并復制污點
修改配置文件
vim? fluentd.yaml
修改key的污點
在tolerations 字段中加上:operator:Exists
kubectl? apply -f? fluentd.yaml
網頁訪問
192.168.158.33:32107