本系列文章:
第七章:九析带你轻松完爆 helm3 nginx-ingress
第十一章:九析带你轻松完爆 helm3 kubernetes-dashboard
第十三章:九析带你轻松完爆 helm3 prometheus
第十五章:九析带你轻松完爆 grafana 关联 prometheus
目录
1 前言
本文采用 helm3 v3.0.0;k8s v1.16.3。helm 仓库配置如下。此外,安装 kibana 前必须先安装好 elasticsearch,有关 es 安装,可以参考本人的上篇文章。
2 下载 kibana
helm 搜索 kibana:
helm search repo kibana
helm 下载并解压 kibana:
helm fetch google/kibana
tar -zxvf kibana-3.2.5.tgz
3 创建 kibana 命名空间
kubectl create ns efk
4 安装 kibana
4.1 修改配置
编辑 values.yaml 文件,修改 ingress 相关配置,截图如下:
因为开启了 ingress,所以需要安装好 nginx-ingress,安装方式参考本人的《helm3 安装 nginx-ingress》,不必担心,安装过程容易到让你尖叫。
4.2 安装 kibana
第一个 kibana 是 helm release 名,第二个 kibana 是解压缩目录:
helm install kibana -n efk kibana
使用 helm 进行查看:
自此,kibana release 安装成功。但是先不要快乐尖叫,因为安装成功不代表运行成功,不信你可以查看一下 kibana 的运行日志:
kubectl logs -f -n efk kibana-557d4dc6b9-sgr4t (kibana pod 以你自己的为准,不要照抄哥的)
从日志可知,kibana 根本就连接不上 elasticsearch service。
5 确定 elasticsearch service
kubectl get endpoints -n efk
根据命令执行结果可知,运行在端口 9200 的服务名称叫做 elasticsearch-client,如下图所示:
但是 kibana 要访问的服务名称却是 elasticsearch,编写 elasticsearch.yaml 文件:
apiVersion: v1
kind: Service
metadata:
labels:
app: elasticsearch
name: elasticsearch
namespace: efk
spec:
ports:
- name: http
port: 9200
protocol: TCP
targetPort: http
selector:
app: elasticsearch
component: client
release: elasticsearch
type: ClusterIP
创建 elasticsearch 服务:
kubectl apply -f elasticsearch.yaml
6 创建 secret
6.1 创建自签名证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./tls.key -out ./tls.crt -subj "jiuxi.kibana.org"
6.2 根据证书生成 secret
kubectl -n efk create secret tls kibana-tls --key ./tls.key --cert ./tls.crt
7 验证 kibana
打开浏览器,访问 https://jiuxi.kibana.org(需要修改 /etc/hosts 文件,添加域名解析记录,注意 IP 是 nginx-ingress-controller pod 所在宿主机 IP,切记)。
自此,轻松完爆 helm3 安装 kibana。