目录
概述
k8s离线安装单节点elasticsearch7.x
资源
镜像可以自己准备,懒人速递 elasticsearch离线安装镜像-版本7.17.22
实践
脚本
yaml
# pvc
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: es-nfs
namespace: default
labels:
pvc: es-nfs
spec:
resources:
requests:
storage: 5120Mi
accessModes:
- ReadWriteMany
storageClassName: managed-nfs-storage
---
apiVersion: v1
kind: ConfigMap
metadata:
namespace: default
name: es
data:
elasticsearch.yml: |
cluster.name: my-cluster
node.name: node-1
node.max_local_storage_nodes: 3
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["127.0.0.1", "[::1]"]
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true
http.cors.allow-origin: /.*/
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: default
name: elasticsearch
spec:
selector:
matchLabels:
name: elasticsearch
replicas: 1
template:
metadata:
labels:
name: elasticsearch
spec:
initContainers:
- name: init-sysctl
image: harbor.easzlab.io.local:8443/library/busybox:stable-musl
command:
- sysctl
- -w
- vm.max_map_count=262144
securityContext:
privileged: true
containers:
- name: elasticsearch
image: harbor.easzlab.io.local:8443/library/elasticsearch:7.17.22
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 100m
memory: 1Gi
env:
- name: ES_JAVA_OPTS
value: -Xms512m -Xmx512m
ports:
- containerPort: 9200
- containerPort: 9300
volumeMounts:
- name: elasticsearch-data
mountPath: /usr/share/elasticsearch/data/
- name: es-config
mountPath: /usr/share/elasticsearch/config/elasticsearch.yml
subPath: elasticsearch.yml
volumes:
- name: elasticsearch-data
persistentVolumeClaim:
claimName: es-nfs
# hostPath:
# path: /data/es
- name: es-config
configMap:
name: es
---
apiVersion: v1
kind: Service
metadata:
namespace: default
name: elasticsearch
labels:
name: elasticsearch
spec:
#type: NodePort
ports:
- name: web-9200
port: 9200
targetPort: 9200
protocol: TCP
#nodePort: 30105
- name: web-9300
port: 9300
targetPort: 9300
protocol: TCP
#nodePort: 30106
selector:
name: elasticsearch