10分钟用Helm搭建Elasticsearch Kibana的kubernetes集群

关于日志收集部分,没有用到logstash,而是用的瑞士军刀rsyslog,可以支持百万级每秒日志的收集。关于这部分的安装实践请参考日志收集rsyslog+es+kibana

下面介绍下如何用helm搭建ES和kibana的k8s集群

1. 创建ES集群,默认3个master和2个client, monitor是我本地的namespace

helm install --name mdsp-es stable/elasticsearch --namespace monitor

补充官方安装过程:https://github.com/helm/charts/tree/master/stable/elasticsearch
需要注意的是,这里代码仓库里有一个values.yaml,如果你需要修改你的参数,譬如修改master的个数,可以创建的时候应用你的values.yaml

helm install --name mdsp-es stable/elasticsearch --namespace monitor -f values.yaml

2. 通过Ingress把这个ES集群暴露出去

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: elasticsearch
  namespace: monitor
spec:
  rules:
  - host: elasticsearch.mindsphere.cn
    http:
      paths:
      - path:
        backend:
          serviceName: mdsp-es-elasticsearch-client
          servicePort: 9200

3. 创建Kibana集群

同样给出git官方地址: https://github.com/helm/charts/tree/master/stable/kibana
修改values.yaml的配置如下, 配置elasticsearch的地址。

files:
  kibana.yml:
    ## Default Kibana configuration from kibana-docker.
    server.name: kibana
    server.host: "0"
    elasticsearch.hosts: http://elasticsearch.mindsphere.cn
helm install --name mdsp-kibana stable/kibana --namespace monitor -f values.yaml

注意这里的values.yaml不要跟es的yaml搞混淆,都是同样的名字,内容不一样。

4. 给Kibana部署打个Patch,使其ES配置生效

kubectl -n monitor patch  deployments mdsp-kibana --patch '{
    "spec": {
        "template": {
            "spec": {
                "hostAliases": [
                    {
                        "hostnames": [
                            "elasticsearch.mindsphere.cn"
                        ],
                        "ip": "139.24.217.xxx"
                    }
                ]
            }
        }
    }
}'

等待Kibana重新部署以后,会看到kibana能识别到ES的地址了。

5. 通过Ingress让Kibana提供外部访问

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kibana
  namespace: monitor
spec:
  rules:
  - host: kibana.mindsphere.cn
    http:
      paths:
      - path:
        backend:
          serviceName: mdsp-kibana
          servicePort: 5601

6. 完成

在本地hosts文件里配置好

139.24.217.xxx          kibana.mindsphere.cn

访问一下Kibana


10分钟用Helm搭建Elasticsearch Kibana的kubernetes集群_第1张图片
完成.png

这样基于k8s的EK集群就很快搭建好了。

总觉得关于配置ES地址的地方,应该有其他更好的方式,而不需要打patch。

你可能感兴趣的:(10分钟用Helm搭建Elasticsearch Kibana的kubernetes集群)