侧边栏壁纸
博主头像
云录博主等级

行动起来,活在当下

  • 累计撰写 24 篇文章
  • 累计创建 11 个标签
  • 累计收到 18 条评论

目 录CONTENT

文章目录

k8s部署elasticsearch集群

Dylan
2023-12-21 / 0 评论 / 0 点赞 / 110 阅读 / 4397 字 / 正在检测是否收录...
广告 广告

k8s上搭建elasticsearch集群

🍇 配置storageclass,用于动态创建pvc,并自动绑定pv

这里我用ceph,需要自己准备存储

🥭 Cluster的部署:es-cluster.yaml

apiVersion: v1
kind: Service
metadata:
  name: elasticsearch7
  namespace: elasticsearch
spec:
  selector:
    app: elasticsearch7
  type: NodePort
  ports:
    - port: 9200
      nodePort: 30001
      targetPort: 9200
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: es7-cluster
  namespace: elasticsearch
spec:
  serviceName: elasticsearch7
  replicas: 5
  selector:
    matchLabels:
      app: elasticsearch7
  template:
    metadata:
      labels:
        app: elasticsearch7
    spec:
      containers:
        - name: elasticsearch7
          image: elasticsearch:7.16.2
          resources:
            limits:
              cpu: 1000m
            requests:
              cpu: 100m
          ports:
            - containerPort: 9200
              name: rest
              protocol: TCP
            - containerPort: 9300
              name: inter-node
              protocol: TCP
          volumeMounts:
            - name: es-data
              mountPath: /usr/share/elasticsearch/data
          env:
            - name: cluster.name
              value: k8s-logs
            - name: node.name
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: discovery.zen.minimum_master_nodes
              value: "2"
            - name: discovery.seed_hosts
              value: "es7-cluster-0.elasticsearch7,es7-cluster-1.elasticsearch7,es7-cluster-2.elasticsearch7"
            - name: cluster.initial_master_nodes
              value: "es7-cluster-0,es7-cluster-1,es7-cluster-2"
            - name: ES_JAVA_OPTS
              value: "-Xms4g -Xmx4g"
      initContainers:
        - name: fix-permissions
          image: busybox
          command: ["sh", "-c", "chown -R 1000:1000 /usr/share/elasticsearch/data"]
          securityContext:
            privileged: true
          volumeMounts:
            - name: es-data
              mountPath: /usr/share/elasticsearch/data
        - name: increase-vm-max-map
          image: busybox
          command: ["sysctl", "-w", "vm.max_map_count=262144"]
          securityContext:
            privileged: true
        - name: increase-fd-ulimit
          image: busybox
          command: ["sh", "-c", "ulimit -n 65536"]
  volumeClaimTemplates:
    - metadata:
        name: es-data
      spec:
        accessModes: [ "ReadWriteOnce" ]
        storageClassName: "rook-cephfs"
        resources:
          requests:
            storage: 10Gi

🍋 查看节点是否正常

[root@master1 elk]# curl 192.168.1.3:30002/_cat/nodes?v
ip             heap.percent ram.percent cpu load_1m load_5m load_15m node.role   master name
10.244.136.5             60          39   1    0.19    0.31     0.36 cdfhilmrstw -      es7-cluster-0
10.244.104.1             45          41   1    0.98    0.44     0.25 cdfhilmrstw -      es7-cluster-3
10.244.180.5             40          40   1    0.28    0.32     0.32 cdfhilmrstw -      es7-cluster-2
10.244.166.141           63          41   1    0.06    0.14     0.14 cdfhilmrstw -      es7-cluster-4
10.244.137.68            44          41   1    0.29    0.45     0.59 cdfhilmrstw *      es7-cluster-1

🍎 部署kibana

apiVersion: v1
kind: Service
metadata:
  name: kibana
  namespace: elasticsearch
  labels:
    app: kibana
spec:
  ports:
  - port: 5601
    targetPort: 5601
    nodePort: 30400
  type: NodePort
  selector:
    app: kibana
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
  namespace: elasticsearch
  labels:
    app: kibana
spec:
  selector:
    matchLabels:
      app: 
      kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:
      containers:
      - name: kibana
        image: kibana:7.16.2
        resources:
          limits:
            cpu: 1000m
          requests:
            cpu: 1000m
        env:
        - name: ELASTICSEARCH_HOSTS
          value: http://elasticsearch7:9200
        - name: I18N.LOCALE
          value: zh-CN
        ports: 
        - containerPort: 5601
0

评论区