使用eck-operator 快速部署 es 开发环境

前提

  • 需要一个 kubernetes 集群
  • 需要提供 csi(数据持久化)

部署步骤

  1. 部署 crd
kubectl create -f https://download.elastic.co/downloads/eck/2.12.1/crds.yaml
  1. 部署elastic-operator
# 默认在 elastic-system命名空间下
kubectl apply -f https://download.elastic.co/downloads/eck/2.12.1/operator.yaml
  1. 查看部署日志
kubectl -n elastic-system logs -f statefulset.apps/elastic-operator
  1. 部署一个 elasticsearch 集群实例
cat <<EOF | kubectl apply -f -
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: elastic01
spec:
  version: 8.13.1
  volumeClaimDeletePolicy: DeleteOnScaledownOnly
  http:
    tls:
      selfSignedCertificate:
        disabled: true
  nodeSets:
  - name: default
    count: 1
    volumeClaimTemplates:
    - metadata:
        name: elasticsearch-data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 5Gi
        storageClassName: nfs-storage-class
    config:
      node.store.allow_mmap: false
EOF
  1. 查看集群状态
# 查看 es 资源
k get es
NAME        HEALTH   NODES   VERSION   PHASE   AGE
elastic01   green    1       8.13.1    Ready   38m
# 查看 pod 资源
k get po |grep elastic01
elastic01-es-default-0                             1/1     Running   0          38m
# 查看 svc 资源
k get svc |grep elastic01
elastic01-es-default         ClusterIP   None             <none>        9200/TCP                     39m
elastic01-es-http            NodePort    10.98.160.4      <none>        9200:31977/TCP               39m
elastic01-es-internal-http   ClusterIP   10.100.120.30    <none>        9200/TCP                     39m
elastic01-es-transport       ClusterIP   None             <none>        9300/TCP                     39m
  1. 查看认证信息
kubectl get secret elastic01-es-elastic-user -o=jsonpath='{.data.elastic}' | base64 --decode; echo
  1. 本地连接测试
    curl -u "elastic:xxxxxxxxx" -k "http://10.98.160.4:9200"
{
  "name" : "elastic01-es-default-0",
  "cluster_name" : "elastic01",
  "cluster_uuid" : "_T5mzPPwRMqGSjnTYnMVWA",
  "version" : {
    "number" : "8.13.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "9287f29bba5e270bd51d557b8daccb7d118ba247",
    "build_date" : "2024-03-29T10:05:29.787251984Z",
    "build_snapshot" : false,
    "lucene_version" : "9.10.0",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}
  1. 部署 kibana
cat <<EOF | kubectl apply -f -
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: kibana01
spec:
  version: 8.13.1
  count: 1
  elasticsearchRef:
    name: elastic01
  http:
    tls:
      selfSignedCertificate:
        disabled: true
    service:
      spec:
        type: NodePort
        ports:
        - port: 5601
          targetPort: 5601
EOF
  1. 登录验证
    密码同第 6 步


    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容