Kubernetes - - k8s - v1.12.3 持久化EFK安装

一世执手 提交于 2020-02-22 17:59:45

1,镜像下载

1.1 所有节点下载镜像

docker pull kibana:5.6.4
docker tag kibana:5.6.4 docker.elastic.co/kibana/kibana:5.6.4

docker pull xiaoqshuo/fluentd-elasticsearch:v2.0.4
docker pull xiaoqshuo/elasticsearch:v5.6.4

docker tag xiaoqshuo/fluentd-elasticsearch:v2.0.4 k8s.gcr.io/fluentd-elasticsearch:v2.0.4
docker tag xiaoqshuo/elasticsearch:v5.6.4 k8s.gcr.io/elasticsearch:v5.6.4
  • master01下载对应的k8s源码包
wget https://github.com/kubernetes/kubernetes/releases/download/v1.12.3/kubernetes.tar.gz
  • 对节点进行label
[root@k8s-master01 fluentd-elasticsearch]# pwd
/opt/k8-ha-install/kubernetes/cluster/addons/fluentd-elasticsearch

[root@k8s-master01 fluentd-elasticsearch]# kubectl label node beta.kubernetes.io/fluentd-ds-ready=true --all
node/k8s-master01 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   27h   v1.12.3   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-node01     Ready    master   27h   v1.12.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/os=linux,kubernetes.io/hostname=k8s-node01,node-role.kubernetes.io/master=
k8s-node02     Ready    master   27h   v1.12.3   beta.kubernetes.io/arch=amd64,beta.kubernetes.io/fluentd-ds-ready=true,beta.kubernetes.io/os=linux,kubernetes.io/hostname=k8s-node02,node-role.kubernetes.io/master=

2,持久化卷

  • 采用NFS作为后端存储,NAS、GFS、CEPH同理
  • 所有节点
yum install nfs-utils -y

2.1 NFS -- > 服务器:k8s-node01

  • 在NFS服务器上创建es的存储目录(使用动态存储可以自动创建pv,无需此步骤)
[root@k8s-node01 es]# pwd
/nfs/es

[root@k8s-node01 es]# mkdir es{0..2}

[root@k8s-node01 es]# ls
es0  es1  es2
  • 启动 nfs
systemctl start rpcbind && systemctl enable rpcbind
systemctl start nfs && systemctl enable nfs
  • 配置NFS
[root@k8s-node01 ~]# more /etc/exports
/nfs/es/ 192.168.2.0/24(rw,sync,no_subtree_check,no_root_squash)
  • 配置生效
[root@k8s-node01 es]# exportfs -rv
exporting 192.168.2.0/24:/nfs/es
  • 查看nfs挂载点
[root@k8s-node01 es]# showmount -e localhost
Export list for localhost:
/nfs/es 192.168.2.0/24
  • 测试挂载
[root@k8s-node02 ~]#mkdir -p /nfs/es
[root@k8s-node02 ~]# mount -t nfs k8s-node01:/nfs/es /nfs/es

3,创建集群

  • 使用静态pv创建es集群
  • 文件地址:https://github.com/xiaoqshuo/k8s-cluster/tree/master/k8s-efk
  • :配置了3个pv,只启了2个实例
[root@k8s-master01 k8s-cluster]# kubectl apply -f k8s-efk/
namespace/logging created
service/elasticsearch-logging created
serviceaccount/elasticsearch-logging created
clusterrole.rbac.authorization.k8s.io/elasticsearch-logging created
clusterrolebinding.rbac.authorization.k8s.io/elasticsearch-logging created
statefulset.apps/elasticsearch-logging created
persistentvolume/pv-es-0 created
persistentvolume/pv-es-1 created
persistentvolume/pv-es-2 created
configmap/fluentd-es-config-v0.1.4 created
serviceaccount/fluentd-es created
clusterrole.rbac.authorization.k8s.io/fluentd-es created
clusterrolebinding.rbac.authorization.k8s.io/fluentd-es created
daemonset.apps/fluentd-es-v2.0.4 created
deployment.apps/kibana-logging created
service/kibana-logging created
  • 查看pv、pvc、pods
[root@k8s-master01 k8s-efk]# kubectl get pv
NAME      CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS      CLAIM                                                   STORAGECLASS       REASON   AGE
pv-es-0   4Gi        RWX            Recycle          Bound       logging/elasticsearch-logging-elasticsearch-logging-0   es-storage-class            8s
pv-es-1   4Gi        RWX            Recycle          Available                                                           es-storage-class            8s
pv-es-2   4Gi        RWX            Recycle          Bound       logging/elasticsearch-logging-elasticsearch-logging-1   es-storage-class            8s


[root@k8s-master01 k8s-efk]# kubectl get pod -n logging
NAME                              READY   STATUS    RESTARTS   AGE
elasticsearch-logging-0           1/1     Running   0          35s
elasticsearch-logging-1           1/1     Running   0          32s
fluentd-es-v2.0.4-595tq           1/1     Running   0          34s
fluentd-es-v2.0.4-8x8bj           1/1     Running   0          34s
fluentd-es-v2.0.4-fxjp4           1/1     Running   0          34s
kibana-logging-8458f5d886-vfkzc   1/1     Running   0          34s
  • 访问kibana,创建index
  • http://kibana.net 解析到 k8s-master-lb

  • 参考
    • https://www.cnblogs.com/dukuan/p/9891198.html
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!