Ver Fonte

init project

yangxg há 4 anos atrás
pai
commit
00e4229cc4
2 ficheiros alterados com 158 adições e 0 exclusões
  1. 109 0
      k8s-es.yaml
  2. 49 0
      k8s-kibana.yaml

+ 109 - 0
k8s-es.yaml

@@ -0,0 +1,109 @@
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: es
+  namespace: qa
+spec:
+  serviceName: elasticsearch
+  replicas: 3
+  selector:
+    matchLabels:
+      app: elasticsearch
+  template:
+    metadata:
+      labels:
+        app: elasticsearch
+    spec:
+      terminationGracePeriodSeconds: 180
+      initContainers:
+        - name: init
+          image: hub.evbj.easou.com/dev/busybox
+          command: ["/bin/sh", "-c"]
+          args:
+            - chmod 777 -R /data;
+              sysctl -w vm.max_map_count=262144;
+              ulimit -n 65536
+          imagePullPolicy: Always
+          volumeMounts:
+            - name: volume
+              mountPath: /data
+          securityContext:
+            privileged: true
+      containers:
+        - name: elasticsearch
+          image: docker.elastic.co/elasticsearch/elasticsearch:7.6.2
+          resources:
+            limits:
+              cpu: 1000m
+            requests:
+              cpu: 100m
+          ports:
+            - containerPort: 9200
+              name: rest
+              protocol: TCP
+            - containerPort: 9300
+              name: inter-node
+              protocol: TCP
+          volumeMounts:
+            - name: volume
+              mountPath: /data/elasticsearch
+          env:
+            - name: cluster.name
+              value: k8s-es-logs
+            - name: node.name
+              valueFrom:
+                fieldRef:
+                  fieldPath: metadata.name
+            - name: cluster.initial_master_nodes
+              value: "es-0,es-1,es-2"
+            - name: discovery.zen.minimum_master_nodes
+              value: "2"
+            - name: discovery.seed_hosts
+              value: "elasticsearch"
+            - name: ES_JAVA_OPTS
+              value: "-Xms2048m -Xmx2048m"
+            - name: network.host
+              value: "0.0.0.0"
+  volumeClaimTemplates:
+    - metadata:
+        name: volume
+      spec:
+        accessModes: [ "ReadWriteOnce" ]
+        storageClassName: rbd
+        resources:
+          requests:
+            storage: 100Gi
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: elasticsearch
+  namespace: qa
+  labels:
+    app: elasticsearch
+spec:
+  selector:
+    app: elasticsearch
+  clusterIP: None
+  ports:
+    - port: 9200
+      name: rest
+    - port: 9300
+      name: inter-node
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: elasticsearch-cs
+  namespace: qa
+  labels:
+    app: elasticsearch
+spec:
+  type: NodePort
+  ports:
+    - port: 9200
+      name: client
+      nodePort: 30029
+  selector:
+    app: elasticsearch

+ 49 - 0
k8s-kibana.yaml

@@ -0,0 +1,49 @@
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: kibana
+  namespace: qa
+  labels:
+    app: kibana
+spec:
+  ports:
+    - port: 5601
+      name: client
+      nodePort: 31065
+  type: NodePort
+  selector:
+    app: kibana
+
+---
+apiVersion: apps/v1
+kind: StatefulSet
+metadata:
+  name: kibana
+  namespace: qa
+  labels:
+    app: kibana
+spec:
+  serviceName: kibana
+  selector:
+    matchLabels:
+      app: kibana
+  template:
+    metadata:
+      labels:
+        app: kibana
+    spec:
+      terminationGracePeriodSeconds: 180
+      containers:
+        - name: kibana
+          image: docker.elastic.co/kibana/kibana:7.6.2
+          resources:
+            limits:
+              cpu: 1000m
+            requests:
+              cpu: 1000m
+          env:
+            - name: ELASTICSEARCH_HOSTS
+              value: http://elasticsearch:9200
+          ports:
+            - containerPort: 5601