k8s 安装 EFK

官方:
https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch
转载:
http://www.amd5.cn/atang_4240.html

1、下载官方yaml配置文件到master服务器

https://github.com/kubernetes/kubernetes/tree/master/cluster/addons/fluentd-elasticsearch

主要是以下几个文件:

es-service.yaml es-statefulset.yaml fluentd-es-configmap.yaml fluentd-es-ds.yaml kibana-deployment.yaml kibana-service.yaml

kubernetes 部署ELK日志

#git clone https://github.com/kubernetes/kubernetes.git #把整个项目克隆到本地

2、注释kibana-deployment.yaml文件下面两行,否则会因为无效的证书颁发机构无法访问 tls: unknown certificate authority

截图 (2).png

     #- name: SERVER_BASEPATH#  value: /api/v1/namespaces/kube-system/services/kibana-logging/proxy

3、封装fluentd-elasticsearch镜像。

#cd kubernetes/cluster/addons/fluentd-elasticsearch/fluentd-es-image

#docker build -t k8s.gcr.io/fluentd-elasticsearch:v2.2.0 -f Dockerfile .

#把镜像导出并发送到node节点,如果有私有仓库,先上传到私有仓库,再修改fluentd-es-ds.yaml文件里面的image为自己私有仓库镜像。

#docker save k8s.gcr.io/fluentd-elasticsearch:v2.2.0 | bzip2 | pv | ssh root@node1 ‘cat | docker load’

#docker save k8s.gcr.io/fluentd-elasticsearch:v2.2.0 | bzip2 | pv | ssh root@node2 ‘cat | docker load’

拉取docker官方对google的容器做的镜像启动会报错如下:这是因为没有安装插件。

[error]: config error file="/etc/fluent/fluent.conf" error_class=Fluent::ConfigError error=“Unknown filter plugin ‘concat’. Run ‘gem search -rd fluent-plugin’ to find plugins”

4、部署yaml

#节点设置标签beta.kubernetes.io/fluentd-ds-ready=true,否则fluentd-es无法部署。

#kubectl label node node1 beta.kubernetes.io/fluentd-ds-ready=true

#kubectl label node node2 beta.kubernetes.io/fluentd-ds-ready=true

#cd …

#kubectl apply -f ./

#kubectl get pod,svc -n kube-system

kubernetes 部署ELK日志

5、配置ingress规则访问kibana-logging

#cat ingress.yml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: elk-ingress
namespace: kube-system
spec:
rules:

  • host: elk.test.com
    http:
    paths:

    • path: /
      backend:
      serviceName: kibana-logging
      servicePort: 5601

#配置ingress控制器(traefik、Nginx-ingress等)以后就可以配置host访问elk.test.com

kubernetes 部署ELK日志

6、日志持久化之NFS动态PV

#kubectl delete -f es-statefulset.yaml

按照 Kubernetes使用StorageClass动态生成NFS类型的PV 部署好NFS动态PV

a.更改NFS共享权限

#cat /etc/exports

/var/data 192.168.15.0/24(rw,sync,insecure,no_subtree_check,no_root_squash)

注意:权限不正确,会导致elasticsearch-logging-无法启动,会报错:

  • chown -R elasticsearch:elasticsearch /data

chown: changing ownership of ‘/data’: Operation not permitted

b.修改es-statefulset.yaml文件,把默认的emptyDir改成NFS动态pv

注释默认的volumes

截图 (5).png

在文件后面添加如下内容,注意格式:

volumeClaimTemplates:

  • metadata:
    name: elasticsearch-logging
    spec:
    accessModes:
    - ReadWriteMany
    resources:
    requests:
    storage: 1Gi
    storageClassName: nfs-elk

c.启动测试

#kubectl apply -f es-statefulset.yaml

kubernetes 部署ELK日志

kubernetes 部署ELK日志

过一段时间后,NFS共享目录下面已经存储了日志内容。

[root@Master data]# du -sh kube-system-elasticsearch-logging-elasticsearch-logging-*

277M kube-system-elasticsearch-logging-elasticsearch-logging-0-pvc-05c74e78-fc65-11e8-b19e-000c29731f53

271M kube-system-elasticsearch-logging-elasticsearch-logging-1-pvc-7cbce610-fce5-11e8-981d-000c29731f53

k8s 安装 EFK相关推荐

  1. 一起来学k8s 38. 二进制k8s集群安装EFK

    二进制k8s集群安装EFK 环境准备 ##/etc/hosts 192.168.48.101 master01 192.168.48.102 master02 192.168.48.103 maste ...

  2. Istio 自动注入 sidecar 不成功及k8s安装istio后pod无法创建解决方案

    环境 Kubernetes v1.15.6 源码安装 Istio v1.2.5 Helm 安装 Istio v1.2.5 Helm 安装 Istio Helm安装 问题 安装完后,做官方 bookin ...

  3. zeppelin k8s安装部署和基本使用教程(在线的分析工具)

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 官网地址: http://zeppelin.apache.org/docs/0.8.2/ k8s安装部署 官网地址:http://cwiki.apac ...

  4. Kubernetes学习-K8S安装篇-Kubeadm安装高可用K8S集群

    Kubernetes学习-K8S安装篇-Kubeadm高可用安装K8S集群 1. Kubernetes 高可用安装 1.1 kubeadm高可用安装k8s集群1.23.1 1.1.1 基本环境配置 1 ...

  5. k8s安装dashboard及账号密码登陆

    1.k8s安装管理后台 (1)获取yaml配置文件wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/depl ...

  6. k8s安装可视化界面dashboard

    k8s安装可视化界面dashboard 1.在master上执行以下步骤: [root@master01 ~]# kubectl get nodes NAME STATUS ROLES AGE VER ...

  7. (2022版)一套教程搞定k8s安装到实战 | Ingress

    视频来源:B站<(2022版)最新.最全.最详细的Kubernetes(K8s)教程,从K8s安装到实战一套搞定> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支 ...

  8. k8s安装和部署详解

    k8s安装和部署详解 文章目录 k8s安装和部署详解 kubernetes官方提供的三种部署方式 minikube kubeadm 二进制包 使用kubeadm方式安装 1.准备环境 2.确认dock ...

  9. k8s==安装仪表盘,用仪表盘部署nginx

    k8s安装仪表盘_ChengQian's blog的博客-CSDN博客_k8s仪表盘 https://zhuanlan.zhihu.com/p/513430375 # 下载所需要的yaml文件 wge ...

最新文章

  1. mybatis mysql Druid_mybatis+Druid连接池的问题
  2. OVS vswitchd启动(三十九)
  3. 【前端攻略】最全面的水平垂直居中方案与flexbox布局
  4. (z) 傅里叶分析之掐死教程(完整版)
  5. MySQL命令之mysqldump -- 数据库备份程序
  6. POJ 2485 Highways(最小生成树 Prim)
  7. 七. 多线程编程11.线程的挂起、恢复和终止
  8. Windows Server 2016存储空间直连技术的探秘
  9. 11.20日个人工作总结
  10. Python中从零开始的简单遗传算法
  11. SRv6技术课堂:SRv6可靠性方案(一)
  12. ASP.NET MVC 5 学习教程:数据迁移之添加字段
  13. mysql truncate耗时_线上MySQL 32G大小的表truncate所消耗的时间为2分钟,快还是慢?...
  14. PDF417数据容量
  15. 远程桌面未知的用户名_远程桌面连接 提示用户名密码错误的解决办法
  16. 毁灭程序员效率的 15 个障碍
  17. 【opencv-ml】支持向量机简介
  18. c语言学生班级通讯录,C语言做学生通讯录
  19. 自学Python第二十天- MongoDB 库
  20. 【数据库】关系数据模型

热门文章

  1. python opencv生成钢琴键与五线谱的对照图
  2. 知识图注意力网络 KGAT
  3. BaseTool的一些理解
  4. 关于分布式拒绝服务(DDoS)的简单梳理和介绍
  5. 蓝桥杯2014C语言A组赛题解析
  6. COG封装工艺的介绍
  7. Centos7下磁盘空间的扩容(超详细)
  8. 在MTK6572当中如何增加一个新按键,而且此按键值在虚拟按键当中可以使用
  9. 精神病人思维广 ——读《天才在左,疯子在右有感》
  10. AHT10温湿度传感器设计