k8s部署es单机版和kibana
k8s部署es和kibana
·
文章目录
一、安装NFS
二、创建PV和pvc,用于持久化es的data和plugins目录
pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
name: elasticsearch01-data
namespace: elk
spec:
capacity:
storage: 1Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
path: /nfs_data/elasticsearch01/data
server: 192.168.1.2
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: elasticsearch01-plugins
namespace: elk
spec:
capacity:
storage: 500Mi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
path: /nfs_data/elasticsearch01/plugins
server: 192.168.1.2
pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: elasticsearch01-data-pvc
namespace: elk
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: elasticsearch01-plugins-pvc
namespace: elk
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 500Mi
三、部署es
这里部署的是es的单机版,使用Deployment部署
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
namespace: elk
spec:
selector:
matchLabels:
app: elasticsearch
replicas: 1
template:
metadata:
labels:
app: elasticsearch
spec:
nodeSelector:
productLine: elk
area: wuhan
restartPolicy: Always
containers:
- name: elasticsearch
image: elasticsearch:7.9.1
imagePullPolicy: Always
command:
- /bin/bash
- -c
- chown -R 1000 /usr/share/elasticsearch/{data,plugins};/tini -- /usr/local/bin/docker-entrypoint.sh eswrapper
env:
- name: ES_JAVA_OPTS
value: -Xms512m -Xmx512m
- name: discovery.type
value: single-node
ports:
- containerPort: 9200
resources:
requests:
memory: 1024Mi
cpu: 50m
limits:
memory: 1024Mi
cpu: 300m
volumeMounts:
- mountPath: /usr/share/elasticsearch/data
name: data
- mountPath: /usr/share/elasticsearch/plugins
name: plugins
volumes:
- name: data
persistentVolumeClaim:
claimName: elasticsearch01-data-pvc
- name: plugins
persistentVolumeClaim:
claimName: elasticsearch01-plugins-pvc
---
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
namespace: elk
spec:
ports:
- name: elasticsearch
port: 9200
targetPort: 9200
selector:
app: elasticsearch
四、部署kibana
创建kibana-cm的configMap
kibana.yml
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN" #kibana汉化
kubectl create cm kibana-cm --from-file=kibana.yml -n elk
Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana
namespace: elk
spec:
selector:
matchLabels:
app: kibana
replicas: 1
template:
metadata:
labels:
app: kibana
spec:
nodeSelector:
productLine: elk
area: wuhan
restartPolicy: Always
containers:
- name: kibana
image: kibana:7.9.1
imagePullPolicy: Always
ports:
- containerPort: 5601
resources:
requests:
memory: 1024Mi
cpu: 50m
limits:
memory: 1024Mi
cpu: 1000m
volumeMounts:
- name: kibana-config
mountPath: /usr/share/kibana/config/kibana.yml
subPath: kibana.yml
volumes:
- name: kibana-config
configMap:
name: kibana-cm
items:
- key: "kibana.yml"
path: "kibana.yml"
---
apiVersion: v1
kind: Service
metadata:
name: kibana
namespace: elk
spec:
type: NodePort
ports:
- name: kibana
port: 5601
targetPort: 5601
nodePort: 25601
selector:
app: kibana
五、访问服务
六、参考文章
更多推荐
所有评论(0)