使用rancher管理界面在k8s集群搭建ELk

文章讲述了作者在Rancher中部署Elasticsearch、Logstash和Kibana时遇到的镜像错误、GeoIP服务连接超时、配置文件映射和日志输入格式等问题,以及如何通过调整策略如使用NFS、环境变量和ConfigMap来解决这些问题。
摘要由CSDN通过智能技术生成

这次的es的部署是在同一个工作负载中,启动了3个容器。

  • 首先准备一个es的pv和pvc,有需要的可以参考我之前的rancher中pv和pvc的使用

    • 创建pv
      在这里插入图片描述
    • 创建pvc,绑定pv
      在这里插入图片描述
  • 创建一个工作负载
    在这里插入图片描述

  • 给pod配置上面准备的pv。
    在这里插入图片描述

  • 在网络配置中,做一个host的映射,因为logstash和kibana默认都是指向http:elasticsearch:9200,我们将这个elasticsearch的映射到指定的ip就不需要配置了。
    在这里插入图片描述

  • 创建一个es的容器
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 创建一个kibana容器
    在这里插入图片描述

  • 创建一个logstash容器
    在这里插入图片描述
    配置到这里基本上就告一段落了,起来应该是没有问题的,但是可能要等待一些时间,还需要下载镜像。虽然是能够运行起来了,但是结合项目通过logstash将数据写入到es中才是我们最终的目的,这个先不在这一节中写了
    下面是一些部署过程中的一些思路和遇到的问题,各位大佬请随意。

本来是想在实际操作过程中,实时记录下来的每一个想法和步骤。之前直接使用docker-compose来部署过一次elk,想来在rancher中应该也是类似的,不过说实话,事情虽然看上去简单,实际上却是出现了不少问题。

之前docker-compose的方式部署的elk应该是最简单的了, 如果不想折腾的话,就直接cv一下完事了,但是进来应该也是有点想法的。
先说说大概思路:

  1. ELK三个组件中,我们需要优先部署的是es服务,因为logstash和kibana都是基于es的,一个写,一个读。
  2. 部署es的话肯定是需要挂载一下容器中的数据文件的,不然一不小心误操作导致数据丢失就GG了。我这里使用的是nfs来挂载,rancher使用nfs的相关文章有需要的话可以参考一下:http://t.csdnimg.cn/pyPKt
  3. 准备一下,logstash和kibana相关的配置文件,以及挂载需要使用的pv及pvc,pv的话可以使用同一个,也可以分开,我这里直接使用同一个了。但是处于安全性考虑的话,最好是一对一会比较好一点,不会被其他pod误使用,因为我是使用的自动分配端口,所以这个我在部署好了es之后再配置,这样不用自己去管理端口。

下面说一下遇到的一些问题:

  1. 一开始部署es的时候,镜像名称写错了,elasticsearch:7.17.15我直接从docker-compose中复制过来有一些前缀,导致一直卡在那里,删也很慢折腾也挺久的。
  2. 后面镜像使用正确了,服务是能跑了,但是一直报错geoip服务链接超时。后面打算把这个功能关掉,但是实际上刚好7.14.0这个版本就还存在这个关不掉的问题。后面找了不少别人的案例,才在某一个回复中发现7.14.0之后的版本就修复了这个问题,我直接切换成当前7版本的最后一版本7.17.15。这个问题还不是那么好找的。
  3. 本来是打算每个组件部署在不同的工作负载,其实我之前尝试过这种方式,但是时间比较长也忘记了,就想试试把elk三个组件放到同一个工作负载中。然后我也了解到,在同一个pod中的话,logstash和kibana可以直接配置localhost来访问es,虽然可以直接配置localhost,但是实际上也还是需要去修改配置文件的,这个时候我又需要影射2个配置文件,而2个配置文件又需要配置2个pv和pvc,我就想能不能通过环境变量来指定es的地址。后面搜了一些发现也是行不通的。
  4. 接下来我就发现,报错都是提示连接http://elasticsearch:9200连不上,后面我就想到,既然我不能通过环境变量修改这个主机名称,那么我就像修改hosts映射一样去将elasticsearch这个名称映射为127.0.0.1不就行了。果然一试就成功了。这个时候我就只配置了一个es的数据目录就把整个elk在一个工作负载中跑起来了。
  5. 即使到了这一步,最终我将日志发送到logstash的时候还是出了问题,因为我以前是挂载配置文件的方式,这个配置文件还多了一个输入的编码格式的指定,而我现在是没有指定的,所以到了logstash就报错了。
  6. 之前使用docker-compose的时候,logstash等其他的配置文件还是使用挂载配置文件的方式来实现的,现在我又不想用挂载,感觉又显得复杂了,后面决定用configmap的方式来实现,确实也方便了不少。
  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Rancher是一个开源的容器管理平台,可以用来搭建和管理Kubernetes集群。使用Rancher搭建Kubernetes集群的步骤可以分为三个主要部分:虚拟机环境配置、安装Rancher和通过Rancher安装Kubernetes集群。 在虚拟机环境配置部分,你需要配置一台或多台虚拟机作为Kubernetes集群的节点。这包括设置虚拟机的操作系统和资源分配等配置。 接下来,在安装Rancher的部分,你需要在Docker中安装Rancher,这将提供一个可视化的管理界面管理和监控Kubernetes集群。 最后,在通过Rancher安装Kubernetes集群的部分,你需要按照一系列步骤来配置和安装Kubernetes集群。这包括安装RKE和kubectl工具、使用RKE安装Kubernetes、设置环境变量、安装和配置Helm等。 当然,如果你想清理Rancher创建的Kubernetes集群,还可以按照相应的步骤进行清理操作。 综上所述,使用Rancher搭建Kubernetes集群的主要步骤包括虚拟机环境配置、安装Rancher和通过Rancher安装Kubernetes集群。<span class="em">1</span> #### 引用[.reference_title] - *1* [Rancher搭建k8s集群](https://blog.csdn.net/aa18855953229/article/details/112200578)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值