基于Kubernetes构建日志收集系统-部署Kibana(二)
简介
现在,我们开始部署Kibana,这是ElasticSearch的数据可视化插件,它提供了管理ElasticSearch集群和可视化数据。
正文
第一步:创建kibana-configmap.yaml,主要配置Elasticsearch相关信息,yaml文件内容如下:
apiVersion: v1
kind: ConfigMap
metadata:
namespace: kube-logging
name: kibana-config
labels:
app: kibana
data:
kibana.yml: |-
server.host: 0.0.0.0
elasticsearch:
hosts: ${ELASTICSEARCH_HOSTS}
username: ${ELASTICSEARCH_USER}
password: ${ELASTICSEARCH_PASSWORD}
第二步:部署Kibana服务 ,新建kibana-service.yaml 文件,内容如下:
apiVersion: v1
kind: Service
metadata:
name: kibana-api
namespace: kube-logging
spec:
type: NodePort
ports:
- name: http
port: 5601
targetPort: 5601
nodePort: 30287
selector:
app: kibana
第三步:Deployment部署, 配置env变量,使用secretKeyRef从secret读取密码。新建 kibana-deployment.yaml,内容如下:
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: kube-logging
name: kibana
labels:
app: kibana
spec:
replicas: 1
selector:
matchLabels:
app: kibana
template:
metadata:
labels:
app: kibana
spec:
containers:
- name: kibana
image: docker.elastic.co/kibana/kibana:7.3.0
ports:
- containerPort: 5601
name: webinterface
env:
- name: ELASTICSEARCH_HOSTS
value: "http://elasticsearch-client.kube-logging.svc.cluster.local:9200"
- name: ELASTICSEARCH_USER
value: "elastic"
- name: ELASTICSEARCH_PASSWORD
valueFrom:
secretKeyRef:
name: elasticsearch-pw-elastic
key: password
volumeMounts:
- name: config
mountPath: /usr/share/kibana/config/kibana.yml
readOnly: true
subPath: kibana.yml
volumes:
- name: config
configMap:
name: kibana-config
---
现在使用如下命令,执行文件。
kubectl apply -f kibana-configmap.yaml -f kibana-service.yaml -f kibana-deployment.yaml
等待几分钟,安装完成之后,访问你部署位置的宿主机ip:30268。你会看到如下界面:
username:elastic password: 搭建es集群时,生成的client 密码。详情请看第一篇文章,kubernetes搭建Elasticsearch集群。 欢迎点赞,评论。
分享是一种美德