手动搭建k8s-1.16.6高可用集群之部署集群插件-EFK插件

注意:

  1. 如果没有特殊指明,本文档的所有操作均在 k8s-01 节点上执行
  2. kuberntes 自带插件的 manifests yaml 文件使用 gcr.io 的 docker registry,国内被墙。
  3. 原先的做法是可以从微软中国提供的 gcr.io 免费代理下载被墙的镜像。但是发现貌似从2020年4月份开始就用不了了,网上也是有很多的网友反映,暂时未能找到可以替代的镜像仓库地址。我的办法是在一台能科学上网的服务器上把需要用到的镜像先pull下来,然后推送到阿里云的镜像仓库中,在安装的时候,在三台主机(k8s-01、k8s-02、k8s-03)上将阿里云镜像仓库中的相关镜像pull下来,然后再改一下tag就行了。

一、从阿里云镜像仓库中拉取镜像

将下载的 kubernetes-server-linux-amd64.tar.gz 解压后,再解压其中的 kubernetes-src.tar.gz 文件。

$ cd /opt/k8s/work/kubernetes/

$ tar -xzvf kubernetes-src.tar.gz

# 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/wc181/elasticsearch:v7.2.0
docker pull registry.cn-hangzhou.aliyuncs.com/wc181/fluentd:v2.7.0

# 修改tag
docker tag registry.cn-hangzhou.aliyuncs.com/wc181/elasticsearch:v7.2.0 quay.io/fluentd_elasticsearch/elasticsearch:v7.2.0
docker tag registry.cn-hangzhou.aliyuncs.com/wc181/fluentd:v2.7.0 quay.io/fluentd_elasticsearch/fluentd:v2.7.0

# 删除多余镜像
docker rmi -f registry.cn-hangzhou.aliyuncs.com/wc181/elasticsearch:v7.2.0
docker rmi -f registry.cn-hangzhou.aliyuncs.com/wc181/fluentd:v2.7.0

二、执行定义文件

$ cd /opt/k8s/work/kubernetes/cluster/addons/fluentd-elasticsearch
$ kubectl apply -f .

三、检查执行结果

$ kubectl get all -n kube-system |grep -E 'elasticsearch|fluentd|kibana'
pod/elasticsearch-logging-0           1/1     Running   0          26m
pod/elasticsearch-logging-1           1/1     Running   0          26m
pod/fluentd-es-v2.7.0-9t4pc           1/1     Running   0          26m
pod/fluentd-es-v2.7.0-qhwpm           1/1     Running   0          26m
pod/fluentd-es-v2.7.0-t2jtq           1/1     Running   0          26m
pod/kibana-logging-75888755d6-z8d4b   1/1     Running   0          26m
service/elasticsearch-logging   ClusterIP   10.254.177.231   <none>        9200/TCP                       26m
service/kibana-logging          ClusterIP   10.254.164.51    <none>        5601/TCP                       26m
daemonset.apps/fluentd-es-v2.7.0   3         3         3       3            3           <none>          26m
deployment.apps/kibana-logging   1/1     1            1           26m
replicaset.apps/kibana-logging-75888755d6   1         1         1       26m
statefulset.apps/elasticsearch-logging   2/2     26m

kibana Pod 第一次启动时会用**较长时间(0-20分钟)**来优化和 Cache 状态页面,可以 tailf 该 Pod 的日志观察进度:

$ kubectl logs kibana-logging-75888755d6-nw6bc -n kube-system -f

注意:只有当 Kibana pod 启动完成后,浏览器才能查看 kibana dashboard,否则会被拒绝。

四、通过 kubectl proxy 访问 kibana

创建代理:

$ kubectl proxy --address='192.168.0.71' --port=8086 --accept-hosts='^*$'
Starting to serve on 192.168.0.71:8086

浏览器访问 URL:http://192.168.0.71:8086/api/v1/namespaces/kube-system/services/kibana-logging/proxy

在 Management -> Indices 页面创建一个 index(相当于 mysql 中的一个 database),选中 Index contains time-based events,使用默认的 logstash-* pattern,点击 Create ;
手动搭建k8s-1.16.6高可用集群之部署集群插件-EFK插件_第1张图片
创建 Index 后,稍等几分钟就可以在 Discover 菜单下看到 ElasticSearch logging 中汇聚的日志;
手动搭建k8s-1.16.6高可用集群之部署集群插件-EFK插件_第2张图片

你可能感兴趣的:(#)