kibana 설정
2025. 3. 1. 23:30ㆍk8s/Kafka
kiban_system 비밀번호 생성
# elastic pod 접속
kubectl exec -it pod/elastic-0 -n elastic -- sh
# 비밀번호 생성
elasticsearch-reset-password -u kibana_system
ConfigMap
apiVersion: v1
kind: ConfigMap
metadata:
name: kibana-config
namespace: elastic # Ensure it matches the Elasticsearch namespace
data:
kibana.yml: |
server.name: kibana
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://elastic-headless:9200"]
elasticsearch.username: kibana_system
elasticsearch.password: {비밀번호}
server.publicBaseUrl: "http://kibana:5601"
Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana
namespace: elastic
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:{tag}
ports:
- containerPort: 5601
volumeMounts:
- name: config
mountPath: /usr/share/kibana/config/kibana.yml
subPath: kibana.yml
env:
- name: NODE_OPTIONS
value: "--no-openssl-legacy-provider"
volumes:
- name: config
configMap:
name: kibana-config
Service
apiVersion: v1
kind: Service
metadata:
name: kibana
namespace: elastic
labels:
app: kibana
spec:
selector:
app: kibana
ports:
- protocol: TCP
port: 5601
targetPort: 5601
type: ClusterIP
Ingress
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kibana-ingress
namespace: elastic
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/proxy-body-size: "2G"
cert-manager.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
ingressClassName: nginx
tls:
- hosts:
- {도메인}
secretName: {인증서}
rules:
- host: {도메인}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: kibana
port:
number: 5601