kubernetes实战(三):k8s v1.11.1 持久化EFK安装
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安装的更多相关文章
- 在Ubuntu上使用离线方式快速安装K8S v1.11.1
在Ubuntu上使用离线方式快速安装K8S v1.11.1 0.安装包文件下载 https://pan.baidu.com/s/1nmC94Uh-lIl0slLFeA1-qw v1.11.1 文件大小 ...
- Kubernetes实战(一):k8s v1.11.x v1.12.x 高可用安装
说明:部署的过程中请保证每个命令都有在相应的节点执行,并且执行成功,此文档已经帮助几十人(仅包含和我取得联系的)快速部署k8s高可用集群,文档不足之处也已更改,在部署过程中遇到问题请先检查是否遗忘某个 ...
- Kubernetes实战(二):k8s v1.11.1 prometheus traefik组件安装及集群测试
1.traefik traefik:HTTP层路由,官网:http://traefik.cn/,文档:https://docs.traefik.io/user-guide/kubernetes/ 功能 ...
- kubernetes实战(三十):CentOS 8 二进制 高可用 安装 k8s 1.17.x
1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.17.x,相对于其他版本,二进制安装方式并无太大区别. 2. 基本环境配置 主机信息 192.168.1.19 k8s-ma ...
- CentOS 7.4 安装 K8S v1.11.0 集群所遇到的问题
0.引言 最近打算将现有项目的 Docker 部署到阿里云上面,但是之前是单机部署,现在阿里云上面有 3 台机器,所以想做一个 Docker 集群.之前考虑是用 Docker Swarm 来做这个事情 ...
- kubeadm安装kubernetes V1.11.1 集群
之前测试了离线环境下使用二进制方法安装配置Kubernetes集群的方法,安装的过程中听说 kubeadm 安装配置集群更加方便,因此试着折腾了一下.安装过程中,也有一些坑,相对来说操作上要比二进制方 ...
- kubernetes实战(十六):k8s高可用集群平滑升级 v1.11.x 到v1.12.x
1.基本概念 升级之后所有的containers会重启,因为hash值会变. 不可跨版本升级. 2.升级Master节点 当前版本 [root@k8s-master01 ~]# kubeadm ver ...
- kubernetes实战(二十六):kubeadm 安装 高可用 k8s v1.16.x dashboard 2.x
1.基本配置 基本配置.内核升级.基本服务安装参考https://www.cnblogs.com/dukuan/p/10278637.html,或者参考<再也不踩坑的Kubernetes实战指南 ...
- Kubernetes实战指南(三十四): 高可用安装K8s集群1.20.x
@ 目录 1. 安装说明 2. 节点规划 3. 基本配置 4. 内核配置 5. 基本组件安装 6. 高可用组件安装 7. 集群初始化 8. 高可用Master 9. 添加Node节点 10. Cali ...
随机推荐
- NPOI帮助类(Excel转DataTable、DataTable转Excel)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using NPOI.SS. ...
- 深入浅出Redis-redis哨兵集群[转]
1.Sentinel 哨兵 Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所 ...
- MathTyp使用过程的几个问题
最近毕业季,人们又开始了一波论文恐惧症了.每天都在不断地改来改去,格式还是不符合要求,头疼得要死.不仅如此,还发现公式是越改越乱,牵一发而全身,其它地方动一点,整个版面全都乱了,人都要抓狂了.知道你的 ...
- html5--移动端视频video的android兼容,去除播放控件、全屏等
html5 中的video 在手机浏览器中的总结所有页面播放时, 如果选择全屏播放, 播放画面将浮动到屏幕的最上层 IOS 手机 自动播放 播放界面浮动文字 播放时是否自动全屏 能否嵌入在页面中播 ...
- git for c#, commit本地,pushserver
//ok private static void push() { string wkDir = @"E:\DotNet2010\单位project\Git.Client\lib2Test\ ...
- 工作流JBPM_day01:6-执行流程实例
工作流JBPM_day01:6-执行流程实例 执行流程 启动流程实例 查询任务列表 办理任务 向后执行一步 先部署流程定义在启动流程实例 Jbpm4_execution表表示正在执行的流程实例的的信息 ...
- /etc/logrotate.conf
/etc/logrotate.conf 是 Logrotate 工具的一个配置文件,这个工具用来自动切割系统日志,Logrotate 是基于 cron 来运行的,如下: [root@localhost ...
- fgetc read缓冲机制区别
read属于系统调用,它的缓存是基于内核的缓冲,是记在内核空间的. 而fgetc是标准函数, 是在用户空间I/O缓冲区的 比如用fgetc读一个字节,fgetc有可能从内核中预读1024个字节到I/O ...
- 关于微信的jsdk的若干亲身实践之小结
前言: 业务来源:自主研发的手机app软件有分享文章到微信或者QQ以及微博的功能,而在微信中再次点击分享按钮的时候,情况就出现的不可把控了: 文章显示的缩略图不能正常显示:文章的简介不能显示……而我们 ...
- ajax 跨域访问 :Access-Control-Allow-Origin
一说到ajax跨域.首先想到的就是jsonp . JSONP方法是一种非官方方法,而且这种方法只支持GET方式,不如POST方式安全. 即使使用jQuery的jsonp方法,type设为POST,也 ...