k8s 部署 elasticsearch 单节点

  • 创建 /data/es-data路径,更改/data/es-data 777

  • 下载es镜像 docker pull elasticsearch:7.6.2

  • 将下面的yaml复制到file.yaml,执行 kubectl apply -f file.yaml

  • 查看 pods kubectl get pods

  • 执行请求查看 curl http://${你的IP}:30105

    pv和pvc

    apiVersion: v1
    kind: PersistentVolume
    metadata:
    name: es-pv
    spec:
    capacity:
    storage: 5Gi
    accessModes:

    • ReadWriteMany
      persistentVolumeReclaimPolicy: Retain
      storageClassName: es-host
      hostPath:
      path: /data/es-data

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
    name: es-pvc
    spec:
    accessModes:

    • ReadWriteMany
      resources:
      requests:
      storage: 5Gi
      storageClassName: es-host

    apiVersion: v1
    kind: ConfigMap
    metadata:
    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:
    name: elasticsearch
    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.6.2
    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-pvc
    # hostPath:
    # path: /data/es
    - name: es-config
    configMap:
    name: es


    apiVersion: v1
    kind: Service
    metadata:
    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

你可能感兴趣的:(java,elasticsearch,kubernetes,大数据,java,jar)