• k8s-9.部署elk日志收集


    k8s-9.部署elk日志收集

    采用文章大佬–为了提高自己的k8s熟练,按照这位大佬的文章做了一遍

    https://www.yuque.com/cuiliang-s1qrv/k8s/yyiswl
    
    • 1

    一、准备工作

    什么是helm,文章了解
    https://blog.csdn.net/cuichongxin/article/details/121060695?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165925526516780357251314%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165925526516780357251314&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-121060695-null-null.142^v35^pc_rank_34&utm_term=heml%E5%AE%89%E8%A3%85&spm=1018.2226.3001.4187
    
    • 1
    1、heml

    (1) 传统k8s部署缺点:

    只适合部署单一或少数服务应用,比较合适。
    当有较多微服务时候,每个服务都需要编写维护大量资源清单,
    版本管理特别不方便。
    (2) 使用helm可以解决那些问题?
    (1)使用helm可以把yaml作为一个整体管理
    (2)实现yaml高效复用
    (3)实现应用级别的版本管理
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    二、helm介绍
    1、helm是k8s包管理工具,可以方便的把之前打包好的yaml文件部署到k8s上。
    
    2、helm三个重要概念
    (1) heml 是命令行客户端工具,用于chart创建、打包、发布、部署管理
    (2) Chart 把yaml文件进行打包,yaml的集合
    (3) Release 基于chart部署的实体,应用级别的版本管理
    
    三、helm在2019年发布V3版本,有变化
    (1)Tiller被移除
    (2)Release支持在不同命名空间进行重用
    (3)Chart可以推送到Docker镜像仓库中
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    helm是k8s的包管理工具,类似于centos的yum,k8s将管理的资源都抽象成api,并且推荐使用声明方式创建,修改,删除这些对象,每个 API 对象都通过一个 yaml 格式或者 json 格式的文本来声明。这带来的一个问题就是这些 API 对象声明文本的管理成本,每当我需要创建一个应用,都需要去编写一堆这样的声明文件,helm就是管理这些api对象的工具,它把创建一个应用所需的所有 Kubernetes API 对象声明文件组合并打包在一起。并提供了仓库的机制便于分发共享,还支持模版变量替换,同时还有版本的概念,使之能够对一个应用进行版本的管理
    
    • 1

    heml安装

    链接:https://pan.baidu.com/s/1DLKcKreLIHXcpJoVWCFADg?pwd=r3bl 
    提取码:r3bl
    
    • 1
    • 2
    #解压安装包
    tar zxvf helm-v3.4.0-linux-amd64.tar.gz
    #移动到/usr/bin目录下
    mv helm /usr/bin
    #使用heml命令验证
    helm
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    2、配置heml仓库

    (1) 添加仓库

    # 微软heml仓库地址  http://mirror.azure.cn/kubernetes/charts
    # 阿里heml仓库地址 https://apphub.aliyuncs.com
    helm repo add <仓库名称> <仓库地址>
    #更新heml仓库
    helm repo update
    
    • 1
    • 2
    • 3
    • 4
    • 5
    添加elk仓库
    `# helm repo add elastic https://helm.elastic.co` 
    
    • 1
    创建elk名称空间
    `# kubectl create namespace elk`
    
    • 1

    image-20220731164430326

    二、部署Elasticsearch

    将chart包下载本地
    `# helm fetch elastic/elasticsearch` 
    
    • 1

    image-20220731164643749

    修改elasticsearch/values.yaml配置文件(降低配置要求)
    • master节点数改为1

    image-20220731164840473

    • 不使用持久卷

    image-20220731165018447

    helm安装chart包
    helm install elasticsearch -f values.yaml elastic/elasticsearch --namespace elk
    
    • 1

    image-20220731165138365

    验证结果
    • 查看pod状态
    kubectl get pods --namespace=elk -l app=elasticsearch-master
    
    • 1

    image-20220731184000412

    删除pod
    helm uninstall elasticsearch -f values.yaml elastic/elasticsearch --namespace elk 
    
    • 1

    image-20220731190119648

    三、部署Filebeat

    将chart包下载本地
    # helm fetch elastic/filebeat
    
    • 1
    1. 安装chart包

      `# helm install filebeat elastic/filebeat --namespace elk` 
      
      • 1
    2. 验证结果

    • 查看pod状态

    image-20220731190201494

    四、部署Logstash

    将chart包下载本地
    `# helm fetch elastic/logstash` 
    
    • 1
    1. 修改logstash/values.yaml配置文件
    • 不使用持久卷

    image-20220731190247640

    1. helm安装chart包

      `# helm install logstash -f values.yaml elastic/logstash --namespace elk` 
      
      • 1
    2. 验证结果

    • 查看pod状态

    image-20220731190314230

    五、部署 kibana

    将chart包下载至本地
    `# helm fetch elastic/kibana` 
    
    • 1
    1. 编辑kibana/values.yaml配置文件
    • 服务类型改为nodeport

    image-20220731190435593

    1. helm安装chart包

      `# helm install kibana -f values.yaml elastic/kibana --namespace elk` 
      
      • 1
    2. 结果验证

    • 查看pod状态

    image-20220731190501023

    六、web访问测试

    image-20220731190529366

      `# helm install kibana -f values.yaml elastic/kibana --namespace elk` 
    
    • 1
    1. 结果验证
    • 查看pod状态

    [外链图片转存中…(img-GF3RJhQm-1659266110225)]

    六、web访问测试

    [外链图片转存中…(img-77fDRxvl-1659266110225)]

    image-20220731190548853

  • 相关阅读:
    【菜鸡学艺–Vue2–001】模板语法&声明式渲染
    .NET合并程序集(多个dll/exe合并成一个dll)
    C#中的 Attribute 与 Python/TypeScript 中的装饰器是同个东西吗
    托育老师每天只是“看”孩子吗?“托”和“育”哪个更重要?
    淘宝商品详情接口(商品详情页面数据接口)
    Filebeat+Kafka+ELK搭建
    c语言:初识指针
    SpringMVC
    Flutter macOS 教程之 02 手动安装macos_ui 如何添加macos_ui到您的历史项目pubspec.yaml文件 (教程含源码)
    [Halcon&3D] 3D手眼标定理论与示例解析
  • 原文地址:https://blog.csdn.net/tianmingqing0806/article/details/126089297