1、镜像下载

  所有节点下载镜像

docker pull kibana:5.6.
docker tag kibana:5.6. docker.elastic.co/kibana/kibana:5.6. docker pull dotbalo/fluentd-elasticsearch:v2.0.4
docker pull dotbalo/elasticsearch:v5.6.4 docker tag dotbalo/fluentd-elasticsearch:v2.0.4 k8s.gcr.io/fluentd-elasticsearch:v2.0.4
docker tag dotbalo/elasticsearch:v5.6.4 k8s.gcr.io/elasticsearch:v5.6.4

  master01下载对应的k8s源码包

wget https://github.com/kubernetes/kubernetes/releases/download/v1.11.1/kubernetes.tar.gz

  对节点进行label

[root@k8s-master01 fluentd-elasticsearch]# kubectl label node beta.kubernetes.io/fluentd-ds-ready=true --all
node/k8s-master01 labeled
node/k8s-master02 labeled
node/k8s-master03 labeled
node/k8s-node01 labeled
node/k8s-node02 labeled
[root@k8s-master01 fluentd-elasticsearch]# kubectl get nodes --show-labels | grep beta.kubernetes.io/fluentd-ds-ready
k8s-master01 Ready master 1d v1.11.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/os=linux,kubernetes.io/hostname=k8s-master01,node-role.kubernetes.io/master=
k8s-master02 Ready master 1d v1.11.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/os=linux,kubernetes.io/hostname=k8s-master02,node-role.kubernetes.io/master=
k8s-master03 Ready master 1d v1.11.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/os=linux,kubernetes.io/hostname=k8s-master03,node-role.kubernetes.io/master=
k8s-node01 Ready <none> 7h v1.11.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/os=linux,kubernetes.io/hostname=k8s-node01
k8s-node02 Ready <none> 7h v1.11.1 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/os=linux,kubernetes.io/hostname=k8s-node02

2、持久化卷

  采用NFS作为后端存储,NAS、GFS、CEPH同理

  在NFS服务器上创建es的存储目录(使用动态存储可以自动创建pv,无需此步骤)

[root@nfs es]# pwd
/nfs/es
[root@nfs es]# mkdir es{..}

  三个es实例创建三个目录,以此类推

  挂载测试

# 所有k8s节点
yum install nfs-utils -y
# 挂载
[root@k8s-master01 ~]# mount -t nfs 192.168.2.2:/nfs/es/es0 /mnt/
# 无问题卸载
[root@k8s-master01 ~]# umount /mnt/

3、创建集群

  使用静态pv创建es集群,文件地址:https://github.com/dotbalo/k8s/

[root@k8s-master01 efk-static]# ls
efk-namespaces.yaml es2-pv.yaml fluentd-es-configmap.yaml kibana-svc.yaml
es0-pv.yaml es-service.yaml fluentd-es-ds.yaml README.md
es1-pv.yaml es-ss.yaml kibana-deployment.yaml
[root@k8s-master01 efk-static]# kubectl apply -f .
[root@k8s-master01 efk-static]# kubectl apply -f .
namespace/logging configured
service/elasticsearch-logging created
serviceaccount/elasticsearch-logging created
clusterrole.rbac.authorization.k8s.io/elasticsearch-logging configured
clusterrolebinding.rbac.authorization.k8s.io/elasticsearch-logging configured
statefulset.apps/elasticsearch-logging created
persistentvolume/pv-es- configured
persistentvolume/pv-es- configured
persistentvolume/pv-es- configured
configmap/fluentd-es-config-v0.1.1 created
serviceaccount/fluentd-es created
clusterrole.rbac.authorization.k8s.io/fluentd-es configured
clusterrolebinding.rbac.authorization.k8s.io/fluentd-es configured
daemonset.apps/fluentd-es-v2.0.2 created
deployment.apps/kibana-logging created
service/kibana-logging created

  查看pv、pvc、pods

[root@k8s-master01 efk-static]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
pv-es- 4Gi RWX Recycle Bound logging/elasticsearch-logging-elasticsearch-logging- es-storage-class 59m
pv-es- 4Gi RWX Recycle Available es-storage-class 59m
pv-es- 4Gi RWX Recycle Bound logging/elasticsearch-logging-elasticsearch-logging- es-storage-class 59m
[root@k8s-master01 efk-static]# kubectl get pvc -n logging
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
elasticsearch-logging-elasticsearch-logging- Bound pv-es- 4Gi RWX es-storage-class 1h
elasticsearch-logging-elasticsearch-logging- Bound pv-es- 4Gi RWX es-storage-class 1h
[root@k8s-master01 ~]# kubectl get pods -n logging
NAME READY STATUS RESTARTS AGE
elasticsearch-logging- / Running 3h
elasticsearch-logging- / Running 3h
fluentd-es-v2.0.4-5jqhw / Running 10m
fluentd-es-v2.0.4-fw5gk / Running 10m
fluentd-es-v2.0.4-hm2tc / Running 10m
fluentd-es-v2.0.4-nqqtm / Running 10m
fluentd-es-v2.0.4-r5fgh / Running 10m
kibana-logging--l6pvc / Running 3h

  

4、创建kibana的ingress

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: kibana
namespace: logging
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: kibana.net
http:
paths:
- backend:
serviceName: kibana-logging
servicePort:

  访问kibana,创建index

赞助作者:

  

kubernetes实战(三):k8s v1.11.1 持久化EFK安装的更多相关文章

  1. 在Ubuntu上使用离线方式快速安装K8S v1.11.1

    在Ubuntu上使用离线方式快速安装K8S v1.11.1 0.安装包文件下载 https://pan.baidu.com/s/1nmC94Uh-lIl0slLFeA1-qw v1.11.1 文件大小 ...

  2. Kubernetes实战(一):k8s v1.11.x v1.12.x 高可用安装

    说明:部署的过程中请保证每个命令都有在相应的节点执行,并且执行成功,此文档已经帮助几十人(仅包含和我取得联系的)快速部署k8s高可用集群,文档不足之处也已更改,在部署过程中遇到问题请先检查是否遗忘某个 ...

  3. Kubernetes实战(二):k8s v1.11.1 prometheus traefik组件安装及集群测试

    1.traefik traefik:HTTP层路由,官网:http://traefik.cn/,文档:https://docs.traefik.io/user-guide/kubernetes/ 功能 ...

  4. kubernetes实战(三十):CentOS 8 二进制 高可用 安装 k8s 1.17.x

    1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.17.x,相对于其他版本,二进制安装方式并无太大区别. 2. 基本环境配置 主机信息 192.168.1.19 k8s-ma ...

  5. CentOS 7.4 安装 K8S v1.11.0 集群所遇到的问题

    0.引言 最近打算将现有项目的 Docker 部署到阿里云上面,但是之前是单机部署,现在阿里云上面有 3 台机器,所以想做一个 Docker 集群.之前考虑是用 Docker Swarm 来做这个事情 ...

  6. kubeadm安装kubernetes V1.11.1 集群

    之前测试了离线环境下使用二进制方法安装配置Kubernetes集群的方法,安装的过程中听说 kubeadm 安装配置集群更加方便,因此试着折腾了一下.安装过程中,也有一些坑,相对来说操作上要比二进制方 ...

  7. kubernetes实战(十六):k8s高可用集群平滑升级 v1.11.x 到v1.12.x

    1.基本概念 升级之后所有的containers会重启,因为hash值会变. 不可跨版本升级. 2.升级Master节点 当前版本 [root@k8s-master01 ~]# kubeadm ver ...

  8. kubernetes实战(二十六):kubeadm 安装 高可用 k8s v1.16.x dashboard 2.x

    1.基本配置 基本配置.内核升级.基本服务安装参考https://www.cnblogs.com/dukuan/p/10278637.html,或者参考<再也不踩坑的Kubernetes实战指南 ...

  9. Kubernetes实战指南(三十四): 高可用安装K8s集群1.20.x

    @ 目录 1. 安装说明 2. 节点规划 3. 基本配置 4. 内核配置 5. 基本组件安装 6. 高可用组件安装 7. 集群初始化 8. 高可用Master 9. 添加Node节点 10. Cali ...

随机推荐

  1. 腾讯企业邮箱POP,SMTP分别是什么

    腾讯企业邮箱在做域名解析的时候不用做pop3和 smtp设置,可以使用下列的协议:   POP3/SMTP协议 接收邮件服务器:pop.exmail.qq.com (端口 110),使用SSL,端口号 ...

  2. IOS 命令行编译

    转自:简书 IOS 命令行编译   发表于 IOS2013-08-17 07:07 字数: 583 阅读量: 61 This document will note about the ios comm ...

  3. LR通用的性能分析流程

    Step1:从分析Summary的事务执行情况入手Summary主要是判定事务的响应时间与执行情况是否合理.如果发现问题,则需要做进一步分析.通常情况下,如果事务执行情况失败或响应时间过长等,都需要做 ...

  4. jquery获取点击控件的绝对位置简单实例

    在使用jquery的过程中,想取得当前点击input的绝对位置而去显示一个div,jquery本身提供offset和position这个两个方法,但position官方解释是relative to t ...

  5. swift--使用 is 和 as 操作符来实现类型检查和转换 / AnyObject与Any的区别

    声明几个类: //动物类 class Animal{ } //陆地动物类 class terricole: Animal { } //海洋动物类 class SeaAnimals: Animal { ...

  6. android素材资源

    这里先给大家 推荐两个 找图标的 搜索引擎    http://findicons.com/ 这个我也在用 大家也可以试试 找个图标还是很easy的.   http://www.iconfinder. ...

  7. vue 组件库

    iView https://www.iviewui.com/ Radon UI https://luojilab.github.io/radon-ui/#!/ Element http://eleme ...

  8. 设置jQuery validate插件错误提示位置

    参照上一篇bootstrap布局注册表单 使用校验插件默认位置显示提示信息,发现错误提示信息换行了,由于增加了提示信息,表单显示高度也增加了,如下 默认提示信息位置代码为 将错误提示设置其显示在右边, ...

  9. 第七篇:几个经典的TCP通信函数

    前言 在TCP通信中要使用到几个非常经典的函数,本文将对这几个函数进行一个简短的使用说明. socket()函数 函数作用:创建一个网际字节流套接字 包含头文件:sys/socket.h ( 后面几个 ...

  10. <linux系统c语言生成.so文件,生成64位可执行文件,在64位系统中运行32位的可执行文件>

    1.linux 系统c语言生成.o文件,---->gcc -m64 -c -fPIC test.c -o test.o2.linux 系统c语言生成.so文件,----->gcc -sha ...