拉取镜像

docker pull mcp/elasticsearch

需要翻墙

编写资源清单

 cat   elasticsearch.yaml
apiVersion: v1
kind: Pod
metadata:
  name: elasticsearch
  labels:
    apps: es
spec:
  containers:
  - name: es
    image:  emcp/elasticsearch
    ports:
    - containerPort: 9200
      # 为端口其名称,注意端口名称必须唯一。
      name: http
    - containerPort: 9300
      name: tcp
    env:
    - name: discovery.type
      value: "single-node"
    - name: node.name
      value: "elk91"
    - name: cluster.name
      value: "single"
    - name: ES_JAVA_OPTS
      value: "-Xms512m -Xmx512m"


[root@master231 ~ ]# kubectl apply -f elasticsearch.yaml
pod/elasticsearch created

[root@master231 ~ ]# kubectl get pods -o wide -l apps=es
NAME            READY   STATUS    RESTARTS   AGE   IP            NODE        NOMINATED NODE   READINESS GATES
elasticsearch   1/1     Running   0          7s    10.100.2.13   worker233   <none>           <none>



[root@master231 ~ ]# curl http://10.100.2.13:9200
{
  "name" : "elk91",
  "cluster_name" : "single",
  "cluster_uuid" : "VFd4ygajTtiMMi8Lc80yjw",
  "version" : {
    "number" : "7.17.25",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "f9b6b57d1d0f76e2d14291c04fb50abeb642cfbf",
    "build_date" : "2024-10-16T22:06:36.904732810Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.3",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

对外暴露端口

 kubectl port-forward po/elasticsearch --address=0.0.0.0 9200:9200

windows访问测试

http://ip:9200/_cat/nodes