[kubernetes]-k8s运行单点elasticsearch7.x
导语:k8s使用nfs启动elasticsearch7.8在nfs服务器上创建存放elasticsearch对应 data的文件夹 /es-datamkdir /es-data# 因为es需要用elasticsearch用户起 最方便就是给这个目录设置777权限或者user设置诶id 1000的账号chmod -R 777 /es-data设置权限cat >> /etc/exports
·
导语:k8s使用nfs启动elasticsearch7.8
在nfs服务器上创建存放elasticsearch对应 data的文件夹 /es-data
mkdir /es-data
# 因为es需要用elasticsearch用户起 最方便就是给这个目录设置777权限 或者user设置诶id 1000的账号
chmod -R 777 /es-data
设置权限
cat >> /etc/exports <<EOF
/es-data 192.168.0.0/16(rw,no_root_squash,sync)
EOF
exportfs -r
exportfs
创建yaml文件
# configmap对应elasticsearch.yaml
cat > es-cm.yaml <<EOF
apiVersion: v1
kind: ConfigMap
metadata:
name: es
namespace: test
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: /.*/
EOF
# 创建pv和pvc
cat > es-pvc.yaml <<EOF
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: elasticsearch-data-pv
namespace: test
spec:
capacity:
storage: 50Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Delete
nfs:
server: 192.168.1.171
path: /es-data
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: elasticsearch-data-pvc
namespace: test
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 50Gi
EOF
# 创建deployment
cat > es-deploy.yaml <<EOF
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
namespace: test
spec:
selector:
matchLabels:
name: elasticsearch
replicas: 1
template:
metadata:
labels:
name: elasticsearch
spec:
initContainers:
- name: init-sysctl
image: busybox
command:
- sysctl
- -w
- vm.max_map_count=262144
securityContext:
privileged: true
containers:
- name: elasticsearch
image: elasticsearch:7.8.0
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: cert-home
persistentVolumeClaim:
claimName: cert-pvc
- name: elasticsearch-data
persistentVolumeClaim:
claimName: elasticsearch-data-pvc
- name: es-config
configMap:
name: es
EOF
# 创建svc 使用nodeport访问
cat > es-svc.yaml <<EOF
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
namespace: test
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
EOF
应用yaml文件
kubectl apply -f ./
查看nfs挂载路径
访问nodeip+nodeport 测试
http://192.168.1.205:30105/
更多推荐
已为社区贡献84条内容
所有评论(0)