kubernetes日志系统,装efk

k8s日志组件安装

经过一段时间的赶工项目终于上线了,但是连日志系统都没有,终于今天抽空安装了下,过程非常简单。

1.日志组件的选择

看来看去还是选了官方推荐的fluentd+kibana+elasticsearch,因为项目中用到了es,是现成的,怎么简单怎么来。

2.安装

非常简单,抄github即可。这是git地址:https://github.com/kubernetes/kubernetes/tree/v1.16.4/cluster/addons/fluentd-elasticsearch,注意版本的选择,因为我的es版本是1.16.4,所以这里的配置文件版本也选择1.16.4。如果你没有es,那么这几个文件直接运行即可,唯一需要注意的点就是es服务的数据卷挂载问题。因为我用的是外部es,所以贴下需要修改的地方:

  • fluentd-es-configmap.yaml

kubernetes日志系统,装efk_第1张图片

红框处换成es地址。

  • kibana-deployment.yaml 

env需要添加配置,如图

kubernetes日志系统,装efk_第2张图片

红框处换成es地址,另外这是配置文档:https://www.elastic.co/guide/cn/kibana/current/settings.html。

3.配置路由

上面四个文件改完直接执行就可以了,如果想直接看那就把kibana的service用nodePort的方式暴露出去即可,此处我加了层路由,所以要加点配置。首先要加个ingress,如下:

vim ingress-kibana.yaml

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress-kibana
  namespace: kube-system
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
    nginx.ingress.kubernetes.io/use-regex: "true"
    nginx.ingress.kubernetes.io/enable-cors: "true"
    #nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
   - http:
      paths:
      - path: /atkibana(/|$)(.*)
        backend:
          serviceName: kibana-logging
          servicePort: 5601

ingress的转发规则我就不多说了,此处匹配的前缀是atkibana,匹配到的时候将会转发到集群内部的kibana上,注意kibana也要配置一个参数,就是上图的SERVER_BASEPATH参数,一致即可。

4.登录

kibana本身没有安全验证,X-Pack收费(貌似现在安全模块已经免费了),这里用的nginx,搞简单点:

yum -y install httpd-tools

mkdir -p /etc/nginx/passwd

htpasswd -c -b /etc/nginx/passwd/kibana.passwd kibanaUser 123456

vim nginx.conf

location /atkibana/ {
            //提示
            auth_basic 'please enter username and password';
            //密码文件
            auth_basic_user_file /etc/nginx/passwd/kibana.passwd;
            proxy_pass http://127.0.0.1:6666;
        }

重启nginx即可。

 

你可能感兴趣的:(kubernetes,elasticsearch)