1、以下为 elasticsearc_deploy yaml 文件
cat api_deploy.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
namespace: uos
spec:
replicas: 1 #指定Pod副本数
selector: #指定Pod的选择器
matchLabels:
app: elasticsearch
template:
metadata:
labels: #给Pod打label
app: elasticsearch
spec:
imagePullSecrets:
- name: harborsecret
volumes:
- name: elasticsearch-data
hostPath:
path: /var/lib/container/elasticsearch/data
- name: localtime
hostPath:
path: /usr/share/zoneinfo/Asia/Shanghai
nodeSelector: # 使用节点选择器将Pod调度到指定label的节点
es: es
containers:
- name: elasticsearch
image: hub.deepin.com/library/elasticsearch/elasticsearch:7.8.0
imagePullPolicy: Always
ports:
- containerPort: 9200
- containerPort: 9300
resources:
requests:
memory: 1000Mi
cpu: 200m
limits:
memory: 1000Mi
cpu: 500m
env:
- name: discovery.type
value: single-node
- name: ES_JAVA_OPTS
value: "-Xms512m -Xmx512m"
volumeMounts:
- name: elasticsearch-data
mountPath: /usr/share/elasticsearch/data
- name: localtime
mountPath: /etc/localtime
2、以下为 elasticsearch_svc yaml文件
cat api_svc.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app: elasticsearch
name: elasticsearch
namespace: uos
spec:
ports:
- port: 9200
protocol: TCP
targetPort: 9200
selector:
app: elasticsearch
3、部署elasticsearch服务
kubectl apply -f elasticsearch_deploy.yaml
kubectl apply -f elasticsearch_svc.yaml
4、查看是否部署成功
[root@localhost ~]# kubectl get pod,svc -n es |grep elasticsearch
pod/elasticsearch-566c657645-8bfnm 1/1 Running 0 1d
service/elasticsearch ClusterIP 172.21.10.236 <none> 9200/TCP 1d