10-5 Kubernetes 部署 EFK 平台

一、准备工作

1、添加 Google incubator 仓库

在国内这里的仓库添加可能会失败,可以使用浏览器打开微软的仓库,自己下载相应文件。

  • 微软仓库:https://mirror.azure.cn/kubernetes/charts-incubator
# 添加仓库
helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator

2、在node节点导入镜像

[root@k8s-node01 efk]# docker load -i elasticsearch-oss.tar 
[root@k8s-node01 efk]# docker load -i fluentd-elasticsearch.tar 
[root@k8s-node01 efk]# docker load -i kibana.tar 

3、常用命令记录

# 删除应用
helm delete --purge efk1
# 强制删除pod
kubectl delete pods efk1-elasticsearch-data-0 --grace-period=0 --force -n efk

二、部署 Elasticsearch

1、部署过程

# 切换目录
cd /root/install-k8s/efk
# 创建命名空间
kubectl create namespace efk
# 下载(上面的仓库添加失败,这里直接用浏览器下载)
helm fetch incubator/elasticsearch
# 解压
tar -zxvf elasticsearch-1.10.2.tgz
cd elasticsearch
vim values.yaml

value.yaml

initImage:
  repository: "busybox"
  tag: "latest"
  pullPolicy: "IfNotPresent" # 修改
  
cluster:
  name: "elasticsearch"
  ......
  env:
    ......
    MINIMUM_MASTER_NODES: "1"

client:
  name: client
  replicas: 1 #修改
  serviceType: ClusterIP
  ......

master:
  name: master
  exposeHttp: false
  replicas: 1 #修改
  heapSize: "512m"
  persistence:
    enabled: false #修改
  ......

data:
  name: data
  exposeHttp: false
  replicas: 1 #修改
  heapSize: "1536m"
  persistence:
    enabled: false #修改
# 执行安装
helm install --name els1 --namespace=efk -f values.yaml .

# 查看 pod 是否运行成功。
[root@k8s-master01 elasticsearch_back]# kubectl get pod -n efk -o wide
NAME                                        READY   STATUS    RESTARTS   AGE   IP            NODE         NOMINATED NODE   READINESS GATES
efk1-elasticsearch-client-5fdf79897-gj9xh   1/1     Running   0          78s   10.244.1.25   k8s-node01   <none>           <none>
efk1-elasticsearch-data-0                   1/1     Running   0          78s   10.244.1.26   k8s-node01   <none>           <none>
efk1-elasticsearch-master-0                 1/1     Running   0          78s   10.244.2.22   k8s-node02   <none>           <none>

# 查看svc
[root@k8s-master01 ~]# kubectl get svc -n efk
NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
efk1-elasticsearch-client      ClusterIP   10.110.170.130  <none>        9200/TCP   3m55s
efk1-elasticsearch-discovery   ClusterIP   None            <none>        9300/TCP   3m55s

# 进入 cirros 容器
# kubectl run cirror-$RANDOM --rm -it --image=cirros -- /bin/sh
[root@k8s-master01 elasticsearch_back]# kubectl run cirror-$RANDOM --rm -it --image=cirros -- /bin/sh
kubectl run --generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run --generator=run-pod/v1 or kubectl create instead.
If you don't see a command prompt, try pressing enter.

# 在 cirros 容器中,访问查看
# curl Elasticsearch:Port/_cat/nodes
[root@k8s-master01 ~]# curl 10.104.59.118:9200/_cat/nodes
10.244.1.31 19 97 2 0.06 0.09 0.06 i  - efk1-elasticsearch-client-5fdf79897-gj9xh
10.244.1.30  6 97 2 0.06 0.09 0.06 di - efk1-elasticsearch-data-0
10.244.2.37 19 97 2 0.01 0.16 0.14 mi * efk1-elasticsearch-master-0

三、部署 Fluentd

# 下载。已添加微软的stable仓库,国内下载可以成功。
helm fetch stable/fluentd-elasticsearch

# 更改其中 Elasticsearch 访问地址
vim values.yaml
elasticsearch:
  host: '10.110.170.130' #修改为efk1-elasticsearch-client的service地址
  port: 9200
  scheme: 'http'
  ssl_version: TLSv1_2
  buffer_chunk_limit: 2M
  buffer_queue_limit: 8
  logstash_prefix: 'logstash'
# 安装
helm install --name flu1 --namespace=efk -f values.yaml .

# 查看
[root@k8s-master01 fluentd-elasticsearch]# kubectl get pod -n efk -o wide
NAME                                        READY   STATUS    RESTARTS   AGE   IP            NODE         NOMINATED NODE   READINESS GATES
efk1-elasticsearch-client-5fdf79897-gj9xh   1/1     Running   0          10m   10.244.1.25   k8s-node01   <none>           <none>
efk1-elasticsearch-data-0                   1/1     Running   0          10m   10.244.1.26   k8s-node01   <none>           <none>
efk1-elasticsearch-master-0                 1/1     Running   0          10m   10.244.2.22   k8s-node02   <none>           <none>
flu1-fluentd-elasticsearch-7bsbc            1/1     Running   0          20s   10.244.1.27   k8s-node01   <none>           <none>
flu1-fluentd-elasticsearch-bcmpk            1/1     Running   0          20s   10.244.2.24   k8s-node02   <none>           <none>

四、部署 kibana

# 下载
helm fetch stable/kibana --version 0.14.8
# 解压
tar -zxvf kibana-0.14.8.tgz
# 修改
vim value.yaml
files:
  kibana.yml:
    ## Default Kibana configuration from kibana-docker.
    server.name: kibana
    server.host: "0"
    elasticsearch.url: http://10.110.170.130:9200 #修改为efk1-elasticsearch-client的service地址

# 安装
helm install --name kib1 --namespace=efk -f values.yaml .

# 查看kibana的svc,并修改为NodePort。使用浏览器访问。
kubectl edit svc kib1-kibana -n efk
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值