在这个例子中,我们将在Kubernetes中运行Grafana来可视化Elasticsearch的日志。这是一个非常简单的过程,假设你的Elasticsearch与Grafana运行在同一个命名空间monitoring 。
配置
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: monitoring
labels:
app: grafana
spec:
type: ClusterIP
selector:
app: grafana
ports:
- name: http
protocol: TCP
port: 3000
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grafana-data
namespace: monitoring
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: grafana
namespace: monitoring
labels:
app: grafana
spec:
replicas: 1
selector:
matchLabels:
app: grafana
template:
metadata:
labels:
app: grafana
spec:
containers:
- image: grafana/grafana:8.1.1
name: grafana
ports:
- name: http
protocol: TCP
containerPort: 3000
volumeMounts:
- name: grafana-data
mountPath: /var/lib/grafana
volumes:
- name: grafana-data
persistentVolumeClaim:
claimName: grafana-data
设置
$ kubectl apply -f kibana.yaml
端口转发
$ kubectl --namespace=monitoring port-forward service/grafana 3000:3000
访问用户界面
访问http://127.0.0.1:3000/ ,用(admin:admin)凭证登录。使用Elasticsearch进行数据源设置,并使用以下数值:
- URL: http://elasticsearch:9200
- Index: kubernetes-logs
elasticsearch 是Kubernetes服务的名称。