zoukankan      html  css  js  c++  java
  • K8S之EFK日志收集

    一、EFK部署

    1.1、部署ES

    # 1、下载yaml文件
    https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch
    
    # 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
    [root@k8s-master01 efk]# kubectl apply -f es-service.yaml 
    [root@k8s-master01 efk]# kubectl apply -f es-statefulset.yaml 
    
    # 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

    [root@k8s-master01 EFK]# kubectl apply -f fluentd-es-configmap.yaml 
    configmap/fluentd-es-config-v0.2.0 created
    
    ### 设置nodeSelector,之需要部署在需要收集日志的节点上
    nodeSelector:
      fluentd: "true"
    ###
    
    [root@k8s-master01 EFK]# kubectl apply -f fluentd-es-ds.yaml 
    
    # 打上标签
    [root@k8s-master01 EFK]# kubectl label node k8s-master02 fluentd=true
    

    1.3、部署kibana

    [root@k8s-master01 EFK]# kubectl apply -f kibana-service.yaml -f kibana-deployment.yaml 
    
    # service 端口暴露类型改一下(kibana-service.yaml)
    type: NodePort
    
    # 注释以下2行(kibana-deployment.yaml )
    - name: SERVER_BASEPATH
      value: /api/v1/namespaces/kube-system/services/kibana-logging/proxy
    
    # 页面登录kibana(http://192.168.1.100:30912/app/kibana)
    [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   <none>        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
    
  • 相关阅读:
    Smart Client Architecture and Design Guide
    Duwamish密码分析篇, Part 3
    庆贺发文100篇
    .Net Distributed Application Design Guide
    New Introduction to ASP.NET 2.0 Web Parts Framework
    SPS toplevel Site Collection Administrators and Owners
    来自Ingo Rammer先生的Email关于《Advanced .Net Remoting》
    The newsletter published by Ingo Rammer
    深度探索.Net Remoting基础架构
    信道、接收器、接收链和信道接受提供程序
  • 原文地址:https://www.cnblogs.com/hsyw/p/14397700.html
Copyright © 2011-2022 走看看