k8s-9.部署elk日志收集
https1、helm是k8s包管理工具,可以方便的把之前打包好的yaml文件部署到k8s上。2、helm三个重要概念(1)heml是命令行客户端工具,用于chart创建、打包、发布、部署管理(2)Chart把yaml文件进行打包,yaml的集合(3)Release基于chart部署的实体,应用级别的版本管理三、helm在2019年发布V3版本,有变化(1)Tiller被移除(2)Release支
·
k8s-9.部署elk日志收集
采用文章大佬–为了提高自己的k8s熟练,按照这位大佬的文章做了一遍
https://www.yuque.com/cuiliang-s1qrv/k8s/yyiswl
一、准备工作
什么是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、heml
(1) 传统k8s部署缺点:
只适合部署单一或少数服务应用,比较合适。
当有较多微服务时候,每个服务都需要编写维护大量资源清单,
版本管理特别不方便。
(2) 使用helm可以解决那些问题?
(1)使用helm可以把yaml作为一个整体管理
(2)实现yaml高效复用
(3)实现应用级别的版本管理
二、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镜像仓库中
helm是k8s的包管理工具,类似于centos的yum,k8s将管理的资源都抽象成api,并且推荐使用声明方式创建,修改,删除这些对象,每个 API 对象都通过一个 yaml 格式或者 json 格式的文本来声明。这带来的一个问题就是这些 API 对象声明文本的管理成本,每当我需要创建一个应用,都需要去编写一堆这样的声明文件,helm就是管理这些api对象的工具,它把创建一个应用所需的所有 Kubernetes API 对象声明文件组合并打包在一起。并提供了仓库的机制便于分发共享,还支持模版变量替换,同时还有版本的概念,使之能够对一个应用进行版本的管理
heml安装
链接:https://pan.baidu.com/s/1DLKcKreLIHXcpJoVWCFADg?pwd=r3bl
提取码:r3bl
#解压安装包
tar zxvf helm-v3.4.0-linux-amd64.tar.gz
#移动到/usr/bin目录下
mv helm /usr/bin
#使用heml命令验证
helm
2、配置heml仓库
(1) 添加仓库
# 微软heml仓库地址 http://mirror.azure.cn/kubernetes/charts
# 阿里heml仓库地址 https://apphub.aliyuncs.com
helm repo add <仓库名称> <仓库地址>
#更新heml仓库
helm repo update
添加elk仓库
`# helm repo add elastic https://helm.elastic.co`
创建elk名称空间
`# kubectl create namespace elk`
二、部署Elasticsearch
将chart包下载本地
`# helm fetch elastic/elasticsearch`
修改elasticsearch/values.yaml配置文件(降低配置要求)
- master节点数改为1
- 不使用持久卷
helm安装chart包
helm install elasticsearch -f values.yaml elastic/elasticsearch --namespace elk
验证结果
- 查看pod状态
kubectl get pods --namespace=elk -l app=elasticsearch-master
删除pod
helm uninstall elasticsearch -f values.yaml elastic/elasticsearch --namespace elk
三、部署Filebeat
将chart包下载本地
# helm fetch elastic/filebeat
-
安装chart包
`# helm install filebeat elastic/filebeat --namespace elk`
-
验证结果
- 查看pod状态
四、部署Logstash
将chart包下载本地
`# helm fetch elastic/logstash`
- 修改logstash/values.yaml配置文件
- 不使用持久卷
-
helm安装chart包
`# helm install logstash -f values.yaml elastic/logstash --namespace elk`
-
验证结果
- 查看pod状态
五、部署 kibana
将chart包下载至本地
`# helm fetch elastic/kibana`
- 编辑kibana/values.yaml配置文件
- 服务类型改为nodeport
-
helm安装chart包
`# helm install kibana -f values.yaml elastic/kibana --namespace elk`
-
结果验证
- 查看pod状态
六、web访问测试
`# helm install kibana -f values.yaml elastic/kibana --namespace elk`
- 结果验证
- 查看pod状态
[外链图片转存中…(img-GF3RJhQm-1659266110225)]
六、web访问测试
[外链图片转存中…(img-77fDRxvl-1659266110225)]
更多推荐
已为社区贡献35条内容
所有评论(0)