返回顶部
首页 > 资讯 > 精选 >Kubernetes中EFK怎么用
  • 493
分享到

Kubernetes中EFK怎么用

2023-06-04 11:06:05 493人浏览 安东尼
摘要

这篇文章给大家分享的是有关kubernetes中EFK怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:前言1.在安装Kubernetes集群的时候我们有下载过压缩包https://dl.k8s.io/v1

这篇文章给大家分享的是有关kubernetes中EFK怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一:前言

1.在安装Kubernetes集群的时候我们有下载过压缩包https://dl.k8s.io/v1.8.5/kubernetes-client-linux-amd64.tar.gz
解压缩后 在目录cluster\addons 下有各插件的yaml文件,大部分情况仅需少量改动即可使用。

2.在搭建Kubernetes的集群过程中,涉及到很多镜像的下载,建议可以在阿里云购买一个香港所在地的ECS服务器,镜像下载完成后通过Docker save -o 将镜像导出,在通过docker load 导入镜像或者上传镜像到个人镜像仓库。

3.Kubernetes从1.8版本开始,EFK的安装中,elasticsearch-logging采用StatefulSet类型,但存在bug,会导致elasticsearch-logging-0 POD 一直无法成功创建。 所以建议还是采用1.8之前的版本采用ReplicationController。

4.要成功安装EFK,一定要先安装kube-dns前面的文章已有介绍。

5.EFK安装过程中elasticsearch和kibana版本要兼容。这里采用的镜像如下:
GCr.io/Google_containers/elasticsearch:v2.4.1-2

gcr.io/google_containers/fluentd-elasticsearch:1.22

gcr.io/google_containers/kibana:v4.6.1-1


二:yaml文件
Kubernetes中EFK怎么用

efk-rbac.yaml

点击(此处)折叠或打开

  1. apiVersion: v1

  2. kind: ServiceAccount

  3. metadata:

  4.   name: efk

  5.   namespace: kube-system

  6. ---

  7. kind: ClusterRoleBinding

  8. apiVersion: rbac.authorization.k8s.io/v1beta1

  9. metadata:

  10.   name: efk

  11. subjects:

  12.   - kind: ServiceAccount

  13.     name: efk

  14.     namespace: kube-system

  15. roleRef:

  16.   kind: ClusterRole

  17.   name: cluster-admin

  18.   apiGroup: rbac.authorization.k8s.io

es-controller.yaml

点击(此处)折叠或打开

  1. apiVersion: v1

  2. kind: ReplicationController

  3. metadata:

  4.   name: elasticsearch-logging-v1

  5.   namespace: kube-system

  6.   labels:

  7.     k8s-app: elasticsearch-logging

  8.     version: v1

  9.     kubernetes.io/cluster-service: "true"

  10.     addonmanager.kubernetes.io/mode: Reconcile

  11. spec:

  12.   replicas: 2

  13.   selector:

  14.     k8s-app: elasticsearch-logging

  15.     version: v1

  16.   template:

  17.     metadata:

  18.       labels:

  19.         k8s-app: elasticsearch-logging

  20.         version: v1

  21.         kubernetes.io/cluster-service: "true"

  22.     spec:

  23.       serviceAccountName: efk

  24.       containers:

  25.       - image: gcr.io/google_containers/elasticsearch:v2.4.1-2

  26.         name: elasticsearch-logging

  27.         resources:

  28.           # need more cpu upon initialization, therefore burstable class

  29.           limits:

  30.             cpu: 1000m

  31.           requests:

  32.             cpu: 100m

  33.         ports:

  34.         - containerPort: 9200

  35.           name: db

  36.           protocol: tcp

  37.         - containerPort: 9300

  38.           name: transport

  39.           protocol: TCP

  40.         volumeMounts:

  41.         - name: es-persistent-storage

  42.           mountPath: /data

  43.         env:

  44.         - name: "NAMESPACE"

  45.           valueFrom:

  46.             fieldRef:

  47.               fieldPath: metadata.namespace

  48.       volumes:

  49.       - name: es-persistent-storage

  50.         emptyDir: {}

es-service.yaml

点击(此处)折叠或打开

  1. apiVersion: v1

  2. kind: Service

  3. metadata:

  4.   name: elasticsearch-logging

  5.   namespace: kube-system

  6.   labels:

  7.     k8s-app: elasticsearch-logging

  8.     kubernetes.io/cluster-service: "true"

  9.     addonmanager.kubernetes.io/mode: Reconcile

  10.     kubernetes.io/name: "Elasticsearch"

  11. spec:

  12.   ports:

  13.   - port: 9200

  14.     protocol: TCP

  15.     targetPort: db

  16.   selector:

  17.     k8s-app: elasticsearch-logging

fluentd-es-ds.yaml

点击(此处)折叠或打开

  1. apiVersion: extensions/v1beta1

  2. kind: DaemonSet

  3. metadata:

  4.   name: fluentd-es-v1.22

  5.   namespace: kube-system

  6.   labels:

  7.     k8s-app: fluentd-es

  8.     kubernetes.io/cluster-service: "true"

  9.     addonmanager.kubernetes.io/mode: Reconcile

  10.     version: v1.22

  11. spec:

  12.   template:

  13.     metadata:

  14.       labels:

  15.         k8s-app: fluentd-es

  16.         kubernetes.io/cluster-service: "true"

  17.         version: v1.22

  18.       # This annotation ensures that fluentd does not get evicted if the node

  19.       # supports critical pod annotation based priority scheme.

  20.       # Note that this does not guarantee admission on the nodes (#40573).

  21.       annotations:

  22.         scheduler.alpha.kubernetes.io/critical-pod: ''

  23.     spec:

  24.       serviceAccountName: efk

  25.       containers:

  26.       - name: fluentd-es

  27.         image: gcr.io/google_containers/fluentd-elasticsearch:1.22

  28.         command:

  29.           - '/bin/sh'

  30.           - '-c'

  31.           - '/usr/sbin/td-agent 2>&1 >> /var/log/fluentd.log'

  32.         resources:

  33.           limits:

  34.             memory: 200Mi

  35.           requests:

  36.             cpu: 100m

  37.             memory: 200Mi

  38.         volumeMounts:

  39.         - name: varlog

  40.           mountPath: /var/log

  41.         - name: varlibdockercontainers

  42.           mountPath: /var/lib/docker/containers

  43.           readOnly: true

  44.       nodeSelector:

  45.         beta.kubernetes.io/fluentd-ds-ready: "true"

  46.       tolerations:

  47.       - key : "node.alpha.kubernetes.io/ismaster"

  48.         effect: "NoSchedule"

  49.       terminationGracePeriodSeconds: 30

  50.       volumes:

  51.       - name: varlog

  52.         hostPath:

  53.           path: /var/log

  54.       - name: varlibdockercontainers

  55.         hostPath:

  56.           path: /var/lib/docker/containers

kibana-controller.yaml  此处需要特殊说明,绿色标识的部分KIBANA_BASE_URL 的value要设置为空,默认值会导致Kibana访问出现问题。

点击(此处)折叠或打开

  1. apiVersion: extensions/v1beta1

  2. kind: Deployment

  3. metadata:

  4.   name: kibana-logging

  5.   namespace: kube-system

  6.   labels:

  7.     k8s-app: kibana-logging

  8.     kubernetes.io/cluster-service: "true"

  9.     addonmanager.kubernetes.io/mode: Reconcile

  10. spec:

  11.   replicas: 1

  12.   selector:

  13.     matchLabels:

  14.       k8s-app: kibana-logging

  15.   template:

  16.     metadata:

  17.       labels:

  18.         k8s-app: kibana-logging

  19.     spec:

  20.       serviceAccountName: efk

  21.       containers:

  22.       - name: kibana-logging

  23.         image: gcr.io/google_containers/kibana:v4.6.1-1

  24.         resources:

  25.           # keep request = limit to keep this container in guaranteed class

  26.           limits:

  27.             cpu: 100m

  28.           requests:

  29.             cpu: 100m

  30.         env:

  31.           - name: "ELASTICSEARCH_URL"

  32.             value: "Http://elasticsearch-logging:9200"

  33.           - name: "KIBANA_BASE_URL"

  34.             value: ""

  35.         ports:

  36.         - containerPort: 5601

  37.           name: ui

  38.           protocol: TCP

kibana-service.yaml

点击(此处)折叠或打开

  1. apiVersion: v1

  2. kind: Service

  3. metadata:

  4.   name: kibana-logging

  5.   namespace: kube-system

  6.   labels:

  7.     k8s-app: kibana-logging

  8.     kubernetes.io/cluster-service: "true"

  9.     addonmanager.kubernetes.io/mode: Reconcile

  10.     kubernetes.io/name: "Kibana"

  11. spec:

  12.   ports:

  13.   - port: 5601

  14.     protocol: TCP

  15.     targetPort: ui

  16.   selector:

  17.     k8s-app: kibana-logging


三:启动与验证

1. 创建资源
kubectl create -f .
Kubernetes中EFK怎么用

2.通过 kubectl logs -f  查看相关pod的日志,确认是否正常启动。 其中kibana-logging-* POD 启动需要一定的时间。
Kubernetes中EFK怎么用

3.elasticsearch验证(可以通过kube proxy创建代理)
http://IP:PORT/_cat/nodes?v

点击(此处)折叠或打开

  1. host      ip        heap.percent ram.percent load node.role master name

  2. 1.88.4 10.1.88.4            9          87 0.45 d         m      elasticsearch-logging-v1-hnfv2

  3. 1.67.4 10.1.67.4            6          91 0.03 d         *      elasticsearch-logging-v1-zmtdl

http://IP:PORT/_cat/indices?v

点击(此处)折叠或打开

  1. health status index               pri rep docs.count docs.deleted store.size pri.store.size

  2. green open   logstash-2018.04.07   5   1        515            0      1.1mb        584.4kb

  3. green open .kibana               1   1          2            0     22.2kb          9.7kb

  4. green open   logstash-2018.04.06   5   1      15364            0      7.3mb          3.6mb

kibana验证
http://IP:PORT/app/kibana#/discover?_g
Kubernetes中EFK怎么用

四:备注
要成功搭建EFK,需要注意一下几点:
1.确保已经成功安装了kube-dns
2.当前版本elasticsearch-logging采用ReplicationController
3.elasticsearch和kibana的版本要兼容
4.KIBANA_BASE_URL value设置为“”

感谢各位的阅读!关于“Kubernetes中EFK怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Kubernetes中EFK怎么用

本文链接: https://lsjlt.com/news/237435.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Kubernetes中EFK怎么用
    这篇文章给大家分享的是有关Kubernetes中EFK怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一:前言1.在安装Kubernetes集群的时候我们有下载过压缩包https://dl.k8s.io/v1...
    99+
    2023-06-04
  • docker怎么部署EFK日志系统
    这篇文章主要介绍“docker怎么部署EFK日志系统”,在日常操作中,相信很多人在docker怎么部署EFK日志系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”docker怎么部署EFK日志系统”的疑惑有所...
    99+
    2023-06-04
  • Kubernetes中怎么部署应用
    这期内容当中小编将会给大家带来有关Kubernetes中怎么部署应用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。通过Eclipse构建一个Spring  Bo...
    99+
    2024-04-02
  • GlusterFS在Kubernetes中怎么应用
    这篇文章主要介绍“GlusterFS在Kubernetes中怎么应用”,在日常操作中,相信很多人在GlusterFS在Kubernetes中怎么应用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Gluster...
    99+
    2023-06-04
  • 怎么用Kubernetes监控
    本篇文章为大家展示了怎么用Kubernetes监控,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 什么是KubernetesKubernetes 是一个可...
    99+
    2024-04-02
  • Kubernetes探针怎么用
    小编给大家分享一下Kubernetes探针怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、基本介绍当我们在 K8s 上运行应用时,应用是否运行正常这是我们...
    99+
    2023-06-29
  • Kubernetes Helm怎么使用
    本篇内容主要讲解“Kubernetes Helm怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Kubernetes Helm怎么使用”吧!什么是Helm?这可不是暗黑破坏神里装备的名称:...
    99+
    2023-06-04
  • kubernetes中Harbor有什么用
    这篇文章主要介绍了kubernetes中Harbor有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一:简介Harbor是一个用于存储和分发Docker镜像的企业级Re...
    99+
    2023-06-04
  • kubernetes中NetworkPolicy有什么用
    小编给大家分享一下kubernetes中NetworkPolicy有什么用,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一: 简介 1.Kubernetes的一个重要特性就是要把不同node节点的pod连接起来,...
    99+
    2023-06-04
  • Kubernetes中怎么创建一个Nginx应用
    本篇文章给大家分享的是有关Kubernetes中怎么创建一个Nginx应用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用命令行kubectl run --image=ngi...
    99+
    2023-06-06
  • Kubernetes中怎么创建资源
    这篇文章给大家分享的是有关Kubernetes中怎么创建资源的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在Kubernetes中所有操作的内容,我们都称为“资源对象”,是由AP...
    99+
    2024-04-02
  • 怎么在kubernetes中创建Pod
    本篇文章给大家分享的是有关怎么在kubernetes中创建Pod,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如何创建Pod?kubectl create ...
    99+
    2023-06-14
  • kubernetes中TLS bootstrapping有什么用
    这篇文章主要介绍了kubernetes中TLS bootstrapping有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一: 前言当集群开启了 TLS 认证后,每个节...
    99+
    2023-06-04
  • Kubernetes资源配额怎么用
    这篇文章给大家分享的是有关Kubernetes资源配额怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。当 Kubernetes 集群运行过一段时间或者在被开发者大量使用后,K...
    99+
    2024-04-02
  • CentOS7中怎么安装 Kubernetes集群
    CentOS7中怎么安装 Kubernetes集群,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。CentOS7(mini) 安装 Kubernetes 集群(kubeadm...
    99+
    2023-06-19
  • kubernetes中怎么安装Node节点
    今天就跟大家聊聊有关kubernetes中怎么安装Node节点,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一:前言1.Kubernetes版本1.8.5;node ip 10.11...
    99+
    2023-06-04
  • Kubernetes中怎么选Secrets管理器
    Kubernetes中怎么选Secrets管理器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Secrets是Kubernetes中一种对象类型,用来保存密码、私钥、口令等敏感...
    99+
    2023-06-04
  • kubernetes中怎么部署coredns 插件
    这期内容当中小编将会给大家带来有关kubernetes中怎么部署coredns 插件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一:简介    从Kubernetes 1.10开始,...
    99+
    2023-06-04
  • 怎么安装Kubernetes
    本篇内容主要讲解“怎么安装Kubernetes”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么安装Kubernetes”吧!安装过程安装过程基本包括下载软件,下载镜像,主机配置,启动 Mast...
    99+
    2023-06-19
  • Kubernetes中yaml文件有什么用
    小编给大家分享一下Kubernetes中yaml文件有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!YAML 基础YAML(Yet Another Mark...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作