1. 程式人生 > >[k8s]elk架構設計-k8s集群裏搭建

[k8s]elk架構設計-k8s集群裏搭建

all mob 依次 廣州 restore publish rest 存儲 star

elk設計架構

參考
技術分享圖片

Elasticsearch最佳實踐建議將這些節點分成三個角色:

Master 節點 - 僅用於集群管理,沒有數據,沒有HTTP API
Client 節點 - 用於客戶端使用,無數據,  使用HTTP API
Data   節點 - 旨在存儲和索引數據,      沒有HTTP API

分為 管理區 存儲區 讀寫區
技術分享圖片

定制鏡像

- es
0. 我把鏡像推到了dockerhub: lanny/quay.io_pires_docker-elasticsearch-kubernetes:5.6.0
1. 鏡像裏用到的yaml: https://github.com/lannyMa/docker-elasticsearch-kubernetes
2. 可以安裝自定義插件後重新build

- kibana
0. 用到這個人的這個鏡像 cfontes/kibana-xpack-less:5.5.0 https://hub.docker.com/r/cfontes/kibana-xpack-less/
   這個人的git(包含了elk的k8s yaml): https://github.com/cfontes/kubernetes-elasticsearch-cluster


- k8s的elk集群的yaml
https://github.com/pires/kubernetes-elasticsearch-cluster
鏡像到這個地址: https://github.com/lannyMa/kubernetes-elasticsearch-cluster

內含elk 普羅 harbor的yaml,比較實用
https://github.com/cnych/k8s-repo

集群yaml裏搜HTTP_ENABLE,統一打開head訪問權限

es-master.yaml

        - name: HTTP_ENABLE
          value: "true"
        - name: HTTP_CORS_ALLOW_ORIGIN
          value: "*"

創建集群

創建pv

$ cat es-data_claim.yaml 
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: opspvc
  namespace: kube-ops
  annotations:
    volume.beta.kubernetes.io/storage-class: "managed-nfs-storage"
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi

技術分享圖片
先創建svc類型

後依次創建 data master client kibana
技術分享圖片

訪問es api
技術分享圖片

技術分享圖片

訪問kibana
技術分享圖片

打開kibana,插入示例數據

PUT _bulk
{"index":{"_index":"lagou","_type":"job","_id":"1"}}
{"title":"python分布式爬蟲開發","salary_min":15000,"city":"深圳","company":{"name":"騰訊","company_addr":"深圳市軟件園"},"publish_date":"2017-11-11","comments":15}
{"index":{"_index":"lagou","_type":"job","_id":"2"}}
{"title":"django開發","salary_min":15000,"city":"上海","company":{"name":"阿裏","company_addr":"廣州市軟件園"},"publish_date":"2017-11-12","comments":20}

打開head查看數據

 docker run -d -v /etc/localtime:/etc/localtime --restart=always -p 9100:9100 mobz/elasticsearch-head:5

查看數據
技術分享圖片

todo:Curator(館長) 管理索引的工具

Curator的主要用途:

  • 獲取索引列表
  • 過濾索引,刪除/快照

  • 可以對索引做這些操作

name 用途
Alias 別號
Allocation 分配
Close
Cluster Routing 群集路由
Create Index 創建索引
Delete Indices 刪除索引
Delete Snapshots 刪除快照
forceMerge forceMerge
Index Settings 索引設置
Open 打開
Reindex 重新編制
Replicas 副本
Restore 恢復
Rollover 滾下
Shrink 收縮
Snapshot 快照

[k8s]elk架構設計-k8s集群裏搭建