zoukankan      html  css  js  c++  java
  • Kubernetes实战总结

    基础概念

    • Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。
    • Beats 是数据采集的得力工具。将 Beats 和您的容器一起置于服务器上,或者将 Beats 作为函数加以部署,然后便可在 Elastisearch 中集中处理数据。如果需要更加强大的处理性能,Beats 还能将数据输送到 Logstash 进行转换和解析。
    • Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。不仅如此,您还可以使用 Vega 语法来设计独属于您自己的可视化图形。所有这些都利用 Elasticsearch 的完整聚合功能。

    Elasticsearch 通常与 Kibana一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch 日志数据。

     


    安装部署

    这里我们利用Helm进行部署,所以我们需要先安装Helm。

    wget -O helm.tgz https://get.helm.sh/helm-v3.1.1-linux-amd64.tar.gz
    tar -zxvf helm.tgz
    cd linux-amd64
    mv helm
    /usr/local/bin && chmod a+x /usr/local/bin helm version
     

    然后我们下载Helm仓库源码

    wget -O helm-charts.tgz  https://github.com/elastic/helm-charts/archive/7.6.2.tar.gz
    tar -zxvf helm-charts.tgz
    cd helm-charts-7.6.2
     

    创建PV供elasticsearch使用,这里采用NFS,你也可以采用其他方式。

    # es-pv.yaml
    apiVersion: v1 kind: PersistentVolume metadata: name: elasticsearch
    spec: capacity: storage: 30Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain nfs: path: /nfsdata/elasticsearch server: *.*.*.*

    kubectl create -f es-pv.yaml

    部署elasticsearch

    vim elasticsearch/values.yaml
    
    # 根据自己节点数进行更改
    replicas: 1
    minimumMasterNodes: 1    
    .......
    
    # 更改镜像源及版本
    image: "registry.cn-shanghai.aliyuncs.com/leozhanggg/elastic/elasticsearch"
    imageTag: "7.6.0"
    imagePullPolicy: "IfNotPresent"
    ......
    
    # 自行调整资源大小
    resources:
      requests:
        cpu: "1000m"
        memory: "2Gi"
      limits:
        cpu: "1000m"
        memory: "2Gi"
    ......
    
    # 存在对应PV
    volumeClaimTemplate:
      accessModes: [ "ReadWriteOnce" ]
      resources:
        requests:
          storage: 30Gi

    helm install es --namespace=efk ./elasticsearch

    部署filebeat

    vim filebeat/values.yaml
    
    # 日志收集目录
    hostPathRoot: /var/lib
    hostNetworking: false
    
    # 更改镜像源及版本
    image: "registry.cn-shanghai.aliyuncs.com/leozhanggg/elastic/filebeat"
    imageTag: "7.6.0"
    imagePullPolicy: "IfNotPresent"
    
    helm install fb --namespace=efk ./filebeat

    部署kibana

    vim kibana/values.yaml
    
    # 更改镜像源及版本
    image: "registry.cn-shanghai.aliyuncs.com/leozhanggg/elastic/kibana"
    imageTag: "7.6.0"
    imagePullPolicy: "IfNotPresent"
    ......
    
    # 更改为NodePort模式
    service:
      type: NodePort
      port: 5601
      nodePort: "30005"
      
    helm install kb --namespace=efk ./kibana

    等待部署完成

    [root~ ]# kubectl get pod -n efk
    NAME                             READY   STATUS    RESTARTS   AGE
    elasticsearch-master-0           1/1     Running   0          28h
    filebeat-filebeat-967m2          1/1     Running   0          28h
    filebeat-filebeat-lr79k          1/1     Running   0          28h
    kibana-kibana-64f5869d86-qrkrq   1/1     Running   0          28h

    访问masterip:port,即可查看日志


    当然,这并不是最佳实现,在该架构中,根据业务特点,还可以加入某些中间件,如Redis、Kafak等。

     

    作者:Leozhanggg

    出处:https://www.cnblogs.com/leozhanggg/p/12700363.html

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

     
     
  • 相关阅读:
    【Eclipse】Eclipse常用操作
    编码规范系列(一):Eclipse Code Templates设置
    eclipse code templates 设置(eclipse注释模版配置)
    Eclipse代码注释模板-code template
    善用Eclipse的代码模板功能
    ppt五种经典字体组合
    C++对象模型——指向Member Function的指针 (Pointer-to-Member Functions)(第四章)
    (一二一)核心动画基础
    六:二叉树中第k层节点个数与二叉树叶子节点个数
    gdb 调试利器
  • 原文地址:https://www.cnblogs.com/leozhanggg/p/12700363.html
Copyright © 2011-2022 走看看