Bu örnekte, Elasticsearch günlüklerini görselleştirmek için Kubernetes'te Grafana'yı çalıştıracağız. Bu çok basit bir işlemdir ve Elasticsearch'ün Grafana ile aynı monitoring ad alanında çalıştığını varsayıyoruz.


Yapılandırma


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

Kurulum


$ kubectl apply -f kibana.yaml

Port iletimi


$ kubectl --namespace=monitoring port-forward service/grafana 3000:3000

Arayüze erişim


http://127.0.0.1:3000/ adresini ziyaret edin ve (admin:admin) kimlik bilgileriyle giriş yapın. Veri kaynağı kurulumu için Elasticsearch'ü ve aşağıdaki değerleri kullanın.


- URL: http://elasticsearch:9200
- Index: kubernetes-logs

elasticsearch Kubernetes'teki servisin ismidir.


Grafik