ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【Kubernetes】k8s的helm扩展之监控管理、日志管理、部署efk【elk的升级版】详细说明

2021-11-02 12:58:19  阅读:622  来源: 互联网

标签:elk Kubernetes vms61 efk elasticsearch helm root 下载


文章目录

说明

之前有一篇博客对k8s的helm包做了详细说明,如下:
【Kubernetes】k8s的helm包管理与应用详细说明与操作【helm安装、heml仓库管理和搭建私有仓库】

镜像等文件

监控管理【prometheus】

框架说明

在这里插入图片描述
在这里插入图片描述

部署prometheus【mon节点】

  • 镜像查看【需要先配置好helm源,这里是配置的ali源】【集群必须通外网才能部署啊
    helm search repo prometheus-operator
    在这里插入图片描述
  • 安装prometheus
    helm install mon ali/prometheus-operator【后面就是上面查询到的helm信息】
    下载完毕以后呢就会有一个helm信息了
    在这里插入图片描述
  • 同时会自动生成很多pod,等待,让这些pod状态全部为running
    在这里插入图片描述
  • 编辑mon-grafana的这个pod,修改里面的TYPE类型为Nodeport
    kubectl edit svc mon-grafana【下面第二张图的TYPE是修改后的效果】
    在这里插入图片描述
    在这里插入图片描述
  • 删除上面的helm内容
    helm del mon

登陆prometheus

  • 先执行kubectl get svc找到mon-grafana映射的端口号
    在这里插入图片描述

  • 然后使用在浏览器输入任意nodeIP:上面的端口号即可进到prometheus界面
    但是呢,我们现在是不知道用户名和密码的,别急,接着往下看。
    在这里插入图片描述

用户名密码查看

  • 用户名和密码都是放在secret里面的一个mon-grafana容器里面的
    在这里插入图片描述

  • 所以我们现在可以通过这个容器来反编译密码出来
    在这里插入图片描述

  • 然后通过上面查看到的用户名和密码,到网站的登陆界面输入登陆
    登陆成功以后呢,就是这个界面
    在这里插入图片描述

模版的使用

上面界面只是自带的,更多显示模版可以去官网上下载的,因为我集群没有外网,这个实验没法做,可以自行网上搜索prometheus的模版使用,教程有很多。
Grafane官网

helm3 安装(部署)EFK【elk的升级版】

架构说明

  • ELK
    • Elasticsearch #是个开源分布式搜索引擎,存储日志及提供查询接口。
    • Logstash #是一个完全开源的工具,他可以对日志进行收集 发送给Elasticsearch.
    • Kibana #是一个开源和免费的,web界面的工具,可以让用户浏览Elasticsearch里的日志.
  • logstash性能低,消耗资源,且存在不支持消息队列缓存及存在数据丢失的问题
    所以logstash一般可以用fluentd或者filebeat替代
    如果使用上面2种替代以后呢,就叫做EFK框架

在这里插入图片描述

运行环境说明【必看】

在这里插入图片描述

  • 其中vms61 是master,vms62 和vms62 位worker。
  • 在所有节点上修改/var/lib/kubelet/config.yaml,在最后一行添加:
featureGates:
CSIMigration: false
  • 否则查看pod 状态时会报如下错误:
MountVolume.SetUp failed for volume "default-token-bd9jk" : failed to sync secret cache: timed
out waiting for the condition

不过不改也没关系。

  • 下面所有用到的包,我都已经打包放在这里面了,如果不嫌下载慢,可以直接下载我上传的包

1、增加efk官方helm源

[root@vms61 ~]# helm repo add elastic https://helm.elastic.co
"elastic" has been added to your repositories
[root@vms61 ~]#
[root@vms61 ~]# helm repo list
NAME URL
azure http://mirror.azure.cn/kubernetes/charts/
ali https://apphub.aliyuncs.com
elastic https://helm.elastic.co
[root@vms61 ~]#

2.下载并安装elasticsearch

  • 下载
[root@vms61 ~]# mkdir efk ; cd efk
[root@vms61 efk]#
[root@vms61 efk] helm pull elastic/elasticsearch
  • 用命令tar zxvf elasticsearch-7.9.1.tgz 解压下载下来的elasticsearch-7.9.1.tgz,得到一个目录elasticsearch

  • 用vim 编辑elasticsearch/values.yaml,修改如下部分:

  • 因为我们环境一台master,2 台worker,所以replicas 修改为2。
    在这里插入图片描述

  • 因为不准备使用持久性存储,所以这里把persistence 下面的enabled 值有true 改为false。
    在这里插入图片描述

  • 这里用的指定了elasticsearch 用的镜像为本地的【如果不指定可能会因为网络等问题导致失败,所以最好是提前在所有节点上提前下载下来】,之后保存退出。
    在这里插入图片描述

  • 安装

[root@vms61 efk]# helm install elastic elasticsearch
NAME: elastic
LAST DEPLOYED: Sat Sep 12 18:38:08 2020
NAMESPACE: ns6
STATUS: deployed
REVISION: 1
NOTES:
1. Watch all cluster members come up.
$ kubectl get pods --namespace=ns6 -l app=elasticsearch-master -w
2. Test cluster health using Helm test.
$ helm test elastic --cleanup
[root@vms61 efk]#
  • 命令里的elastic 是应用的名字可以随意写,elasticsearch 是解压出来的文件夹。
    这里大概1 分钟左右,对应的pod 会运行起来:
[root@vms61 efk]# kubectl get pods
NAME READY STATUS RESTARTS AGE
elasticsearch-master-0 1/1 Running 0 80s
elasticsearch-master-1 1/1 Running 0 79s
[root@vms61 efk]#

3.下载并安装filebeat

  • 下载
[root@vms61 efk] helm pull elastic/filebeat
  • 用命令tar zxvf filebeat-7.9.1.tgz解压下载下来的filebeat-7.9.1.tgz,得到一个目录filebeat。
  • vim 编辑filebeat/values.yaml,查看如下部分:
    建议提前把所需镜像在所有节点上下载下来,其他不需要编辑什么,保存退出。
  • 开始安装filebeat:
[root@vms61 efk]# helm install fb filebeat
NAME: fb
LAST DEPLOYED: Sat Sep 12 18:47:20 2020
NAMESPACE: ns6
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Watch all containers come up.
$ kubectl get pods --namespace=ns6 -l app=fb-filebeat -w
[root@vms61 efk]#
  • 命令里的fb 是应用的名字可以随意写,filebeat 是解压出来的文件夹。
    大概20 秒就好:
[root@vms61 efk]# kubectl get pods
NAME READY STATUS RESTARTS AGE
elasticsearch-master-0 1/1 Running 0 9m33s
elasticsearch-master-1 1/1 Running 0 9m32s
fb-filebeat-lgm76 1/1 Running 0 21s
fb-filebeat-trz5m 1/1 Running 0 21s
[root@vms61 efk]#

4.下载并安装metricbeat

  • 下载metricbeat:
[root@vms61 efk] helm pull elastic/metricbeat
  • 用命令tar zxvf metricbeat-7.9.1.tgz 解压下载下来的metricbeat-7.9.1.tgz,得到一个目录metricbeat。
  • 类似前面的方法把所有的镜像提前在所有节点下载下来,开始安装:
[root@vms61 efk]# helm install metric metricbeat
NAME: metric
LAST DEPLOYED: Sat Sep 12 18:53:55 2020
NAMESPACE: ns6
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
1. Watch all containers come up.
$ kubectl get pods --namespace=ns6 -l app=metric-metricbeat -w
[root@vms61 efk]#
  • 命令里的metric 是应用的名字可以随意写,metricbeat 是解压出来的文件夹。
    这里大概40 秒钟左右,对应的pod 会运行起来:
[root@vms61 efk]# kubectl get pods
NAME READY STATUS RESTARTS AGE
...输出...
metric-kube-state-metrics-76c5b9fdbf-4jmnr 1/1 Running 0 46s
metric-metricbeat-bbbxx 1/1 Running 0 46s
metric-metricbeat-metrics-696b596c6f-lwp74 1/1 Running 0 46s
metric-metricbeat-z7x7v 1/1 Running 0 46s
[root@vms61 efk]#

5.下载安装kibana

  • 下载
 [root@vms61 efk]# helm pull elastic/kibana
  • 用命令tar zxvf kibana-7.9.1.tgzz 解压下载下来的kibana-7.9.1.tgz,得到一个目录kibana。
  • 类似前面的方法把所有的镜像提前在所有节点下载下来,并把服务类型改为NodePort:
    保存退出之后,开始安装:
[root@vms61 efk]# helm install kb kibana
NAME: kb
LAST DEPLOYED: Sat Sep 12 18:58:36 2020
NAMESPACE: ns6
STATUS: deployed
REVISION: 1
TEST SUITE: None
[root@vms61 efk]#
  • 命令里的kb 是应用的名字可以随意写,kibana 是解压出来的文件夹。
    这里大概2 分钟左右,对应的pod 会运行起来:
[root@vms61 efk]# kubectl get pods
NAME READY STATUS RESTARTS AGE
...输出...
kb-kibana-d97c78c6-nqt5p 1/1 Running 0 2m1s
...输出...
[root@vms61 efk]#
  • 注意两台worker 的配置是:分别8G 内存,4 核CPU【这是最低配置】

6.访问kibana

通过kubectl get svc 查看当前kibana 对应的NodePort 端口为30729 ,在浏览器里输入
192.168.26.61:30729回车

在这里插入图片描述
在这里插入图片描述

标签:elk,Kubernetes,vms61,efk,elasticsearch,helm,root,下载
来源: https://blog.csdn.net/cuichongxin/article/details/121095743

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有