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

  • 先执行kubectl get svc找到mon-grafana映射的端口号

在这里插入图片描述

  • 然后使用在浏览器输入任意nodeIP:上面的端口号即可进到prometheus界面

但是呢,我们现在是不知道用户名和密码的,别急,接着往下看。

在这里插入图片描述

用户名密码查看


  • 用户名和密码都是放在secret里面的一个mon-grafana容器里面的

在这里插入图片描述

  • 所以我们现在可以通过这个容器来反编译密码出来

在这里插入图片描述

  • 然后通过上面查看到的用户名和密码,到网站的登陆界面输入登陆

登陆成功以后呢,就是这个界面

在这里插入图片描述

模版的使用


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

Grafane官网

日志管理【helm3 安装(部署)EFK【elk的升级版】】

=============================================================================================

实际上日志管理就相当于部署EFK的流程,所以下面部署完EFK,就相当于搭建好日志管理的kibana软件了【部署的每个功能看下面架构说明中注释哈】。

架构说明


  • 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

不过不改也没关系。

安装所需包提前下载

  • 可以通过网址自行下载,也可以在下面 下载我上传的

wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/es-statefulset.yaml

wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/es-service.yaml

wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/fluentdes-configmap.yaml

wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/fluentd-es-ds.yaml

wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/kibana-service.yaml

wget https://raw.githubusercontent.com/kubernetes/kubernetes/master/cluster/addons/fluentd-elasticsearch/kibana-deployment.yaml

  • 下面所有用到的包,我都已经打包放在这里面了【压缩后只有不到800M,是正常的,解压出来有下面所有东西】

下载地址:EFK安装所需要的全部包.rar

在这里插入图片描述

在这里插入图片描述

  • 将下面所有下载的包都放到这个路径里面【不下载也要进入到这个路径,后面再次下载的时候也统一下载到这个路径里面】

[root@vms61 ~]# mkdir efk ; cd efk

[root@vms61 efk]#

镜像准备导入

  • 首先将上面文件中的4个镜像拷贝到全部node节点里面

【如果没有下载我上面的文件,需要自己单独去下载这4个镜像,镜像名称是下图中.tar结尾的4个文件。】

在这里插入图片描述

  • 然后全部node节点和master节点都导入这4个镜像

这使用了for语句一次导入4个,也可以分批导入该4个镜像的。

在这里插入图片描述

  • 全部导入完毕以后呢,可以在所有机子上删除这几个镜像,节省空间【也可以不用删除】

删除以后呢,所有主机上还剩4个.tgz的文件

rm -rf *.tar

在这里插入图片描述

  • 最后确认下当前集群pod是不是都是运行的【全是running的为正常】

在这里插入图片描述

安装流程


1、增加efk官方helm源

[root@vms61 efk] helm repo add elastic https://helm.elastic.co

“elastic” has been added to your repositories

[root@vms61 efk]

[root@vms61 efk] helm repo list

NAME URL

azure http://mirror.azure.cn/kubernetes/charts/

ali https://apphub.aliyuncs.com

elastic https://helm.elastic.co

[root@vms61 efk]

2.下载并安装elasticsearch

  • 下载【如果已经下载我上传的文件,跳过执行pull的步骤】

[root@vms61 efk] helm pull elastic/elasticsearch

  • 用命令tar zxvf elasticsearch-7.9.1.tgz 解压下载下来的elasticsearch-7.9.1.tgz,得到一个目录elasticsearch

上面的流程呢,就是下图这样的,所以我们可以直接从tar开始【后面如此,我就不放图了

在这里插入图片描述

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

  • 因为我们环境一台master,2 台worker,所以replicas 修改为2。

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

  • 安装

命令里的elastic 是应用的名字可以随意写,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

  1. Test cluster health using Helm test.

$ helm test elastic --cleanup

[root@vms61 efk]#

  • 这里大概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

  • 下载【如果已经下载我上传的文件,跳过执行pull的步骤】

[root@vms61 efk] helm pull elastic/filebeat

  • 用命令tar zxvf filebeat-7.9.1.tgz解压下载下来的filebeat-7.9.1.tgz,得到一个目录filebeat。

  • vim 编辑filebeat/values.yaml,查看如下部分【镜像如果没有imagePullPolicy=imagePullPolicy就加上】:

在这里插入图片描述

建议提前把所需镜像在所有节点上下载下来,其他不需要编辑什么,保存退出。

  • 开始安装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:【如果已经下载我上传的文件,跳过执行pull的步骤】

[root@vms61 efk] helm pull elastic/metricbeat

  • 用命令tar zxvf metricbeat-7.9.1.tgz 解压下载下来的metricbeat-7.9.1.tgz,得到一个目录metricbeat,这个没啥需要改的【镜像如果没有imagePullPolicy=imagePullPolicy就加上】:,直接安装即可。

  • 类似前面的方法把所有的镜像提前在所有节点下载下来,开始安装:

[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]#

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

写在最后

学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

最后再分享的一些BATJ等大厂20、21年的面试题,把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。

蚂蚁金服三面直击面试官的Redis三连,Redis面试复习大纲在手,不慌

Mybatis面试专题

蚂蚁金服三面直击面试官的Redis三连,Redis面试复习大纲在手,不慌

MySQL面试专题

蚂蚁金服三面直击面试官的Redis三连,Redis面试复习大纲在手,不慌

并发编程面试专题

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
unity.csdnimg.cn/images/e5c14a7895254671a72faed303032d36.jpg" alt=“img” style=“zoom: 33%;” />

写在最后

学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

最后再分享的一些BATJ等大厂20、21年的面试题,把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。

[外链图片转存中…(img-p1RPWLj4-1713398559489)]

Mybatis面试专题

[外链图片转存中…(img-AsinZ278-1713398559489)]

MySQL面试专题

[外链图片转存中…(img-wu0XM2lE-1713398559489)]

并发编程面试专题

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值