K8S通过helm 部署 ELK 7.3

前提:

在kubernetes集群中部署elk组件,es集群部署3个节点,kibana部署一个,容器数据持久化需要storageclass

依赖:

 

1.准备配置

git clone https://github.com/elastic/helm-charts.git

 

2. 部署 ES

2.1创建elk命名空间

# cat elk-ns.yml
apiVersion: v1
kind: Namespace
metadata:
  name: elk

 2.2部署elasticsearch

cd helm-charts/elasticsearch

helm install --namespace=elk  --name=elasticsearch .

3. 部署 Kibana

cd helm-charts/kibana

helm install --namespace=elk --name=kibana .

通过 kubectl get deploy 和 pod 了解部署状态;

 

小知识

Kibana 直接通过 K8S 内部 DNS 域名 访问 ES。

查看容器内的配置

# kubectl  exec kibana-kibana-7cbc5db55c-6qct7 -c kibana -- cat /usr/share/kibana/config/kibana.yml

# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true

 

3. 访问测试

3.1 给 Kibana 添加 Ingress

通过 Ingress 添加访问入口

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kibana
  namespace: default
spec:
  rules:
  - host: <YourDomain>  ## 访问 Kibana 的域名 
    http:
      paths:
      - backend:
          serviceName: kibana-kibana
          servicePort: 5601
        path: /
 status:
  loadBalancer:
    ingress:
    - ip: <YourLoadBalancerIP>  ## LB 的 IP

 

3.2 访问测试

访问域名,即可打开 Kibana 7.3 版本;

-w1677

查看集群的运行状态

-w1678

也可以通过命令行查看

~$ curl  -s <YourESHost>/_cluster/health | jq .
{
  "cluster_name": "elasticsearch",
  "status": "yellow",
  "timed_out": false,
  "number_of_nodes": 3,
  "number_of_data_nodes": 3,
  "active_primary_shards": 19,
  "active_shards": 35,
  "relocating_shards": 0,
  "initializing_shards": 0,
  "unassigned_shards": 3,
  "delayed_unassigned_shards": 0,
  "number_of_pending_tasks": 0,
  "number_of_in_flight_fetch": 0,
  "task_max_waiting_in_queue_millis": 0,
  "active_shards_percent_as_number": 92.10526315789474
}

 

posted @ 2020-04-29 10:50  lvelvis  阅读(2802)  评论(0编辑  收藏  举报
#####