apiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch-0 namespace: efk spec: serviceName: elasticsearch-service replicas: 1 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: initContainers: - name: init-sysctl image: busybox command: ["sysctl", "-w", "vm.max_map_count=262144"] securityContext: privileged: true containers: - name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0 ports: - containerPort: 9200 name: http - containerPort: 9300 name: transport env: - name: TZ value: Asia/Shanghai - name: cluster.name value: "my-es-cluster" - name: node.name value: "elasticsearch-0" - name: discovery.seed_hosts value: "elasticsearch-0.efk.svc.cluster.local,elasticsearch-1.efk.svc.cluster.local,elasticsearch-2.efk.svc.cluster.local,elasticsearch-3.efk.svc.cluster.local" - name: cluster.routing.allocation.awareness.attributes value: "zone" - name: node.attr.zone value: "zone-0" - name: cluster.routing.allocation.node_concurrent_recoveries value: "8" - name: cluster.routing.allocation.node_initial_primaries_recoveries value: "8" - name: indices.recovery.max_bytes_per_sec value: "100mb" - name: cluster.initial_master_nodes value: "[elasticsearch-0, elasticsearch-1, elasticsearch-2, elasticsearch-3]" - name: xpack.security.enabled value: "false" - name: ES_JAVA_OPTS value: "-Xms6g -Xmx6g" - name: node.roles value: "[master, data_hot, data_content, remote_cluster_client]" resources: requests: memory: "6Gi" cpu: "3" limits: memory: "8Gi" cpu: "4" volumeMounts: - name: tz-db mountPath: /usr/share/zoneinfo - name: tz-config mountPath: /etc/localtime subPath: timezone - name: data mountPath: /usr/share/elasticsearch/data - name: config-volume mountPath: /usr/share/elasticsearch/config - name: snapshot-volume mountPath: /usr/share/elasticsearch/snapshot affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: ["elasticsearch"] topologyKey: "kubernetes.io/hostname" nodeSelector: kubernetes.io/hostname: miracle volumes: - name: tz-db hostPath: path: /usr/share/zoneinfo type: Directory - name: tz-config configMap: name: timezone-config items: - key: timezone path: timezone - name: data persistentVolumeClaim: claimName: "elasticsearch-data-pvc-elasticsearch-0" - name: config-volume persistentVolumeClaim: claimName: "elasticsearch-config-pvc-elasticsearch-0" - name: snapshot-volume persistentVolumeClaim: claimName: "elasticsearch-snapshot-pvc-elasticsearch-2" --- apiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch-1 namespace: efk spec: serviceName: elasticsearch-service replicas: 1 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: initContainers: - name: init-sysctl image: busybox command: ["sysctl", "-w", "vm.max_map_count=262144"] securityContext: privileged: true containers: - name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0 ports: - containerPort: 9200 name: http - containerPort: 9300 name: transport env: - name: TZ value: Asia/Shanghai - name: cluster.name value: "my-es-cluster" - name: node.name value: "elasticsearch-1" - name: discovery.seed_hosts value: "elasticsearch-0.efk.svc.cluster.local,elasticsearch-1.efk.svc.cluster.local,elasticsearch-2.efk.svc.cluster.local,elasticsearch-3.efk.svc.cluster.local" - name: cluster.initial_master_nodes value: "[elasticsearch-0, elasticsearch-1, elasticsearch-2, elasticsearch-3]" - name: cluster.routing.allocation.awareness.attributes value: "zone" - name: node.attr.zone value: "zone-0" - name: cluster.routing.allocation.node_concurrent_recoveries value: "8" - name: cluster.routing.allocation.node_initial_primaries_recoveries value: "8" - name: indices.recovery.max_bytes_per_sec value: "100mb" - name: xpack.security.enabled value: "false" - name: ES_JAVA_OPTS value: "-Xms4g -Xmx4g" - name: node.roles value: "[data_warm, data_hot, master, data_content,remote_cluster_client]" resources: requests: memory: "4Gi" cpu: "2" limits: memory: "6Gi" cpu: "3" volumeMounts: - name: tz-db mountPath: /usr/share/zoneinfo - name: tz-config mountPath: /etc/localtime subPath: timezone - name: data mountPath: /usr/share/elasticsearch/data - name: config-volume mountPath: /usr/share/elasticsearch/config - name: snapshot-volume mountPath: /usr/share/elasticsearch/snapshot affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: ["elasticsearch"] topologyKey: "kubernetes.io/hostname" nodeSelector: kubernetes.io/hostname: lydia volumes: - name: tz-db hostPath: path: /usr/share/zoneinfo type: Directory - name: tz-config configMap: name: timezone-config items: - key: timezone path: timezone - name: data persistentVolumeClaim: claimName: "elasticsearch-data-pvc-elasticsearch-1" - name: config-volume persistentVolumeClaim: claimName: "elasticsearch-config-pvc-elasticsearch-1" - name: snapshot-volume persistentVolumeClaim: claimName: "elasticsearch-snapshot-pvc-elasticsearch-2" --- apiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch-2 namespace: efk spec: serviceName: elasticsearch-service replicas: 1 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: initContainers: - name: init-sysctl image: busybox command: ["sysctl", "-w", "vm.max_map_count=262144"] securityContext: privileged: true containers: - name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0 ports: - containerPort: 9200 name: http - containerPort: 9300 name: transport env: - name: TZ value: Asia/Shanghai - name: cluster.name value: "my-es-cluster" - name: node.name value: "elasticsearch-2" - name: discovery.seed_hosts value: "elasticsearch-0.efk.svc.cluster.local,elasticsearch-1.efk.svc.cluster.local,elasticsearch-2.efk.svc.cluster.local,elasticsearch-3.efk.svc.cluster.local" - name: cluster.initial_master_nodes value: "[elasticsearch-0, elasticsearch-1, elasticsearch-2, elasticsearch-3]" - name: cluster.routing.allocation.awareness.attributes value: "zone" - name: node.attr.zone value: "zone-0" - name: cluster.routing.allocation.node_concurrent_recoveries value: "8" - name: cluster.routing.allocation.node_initial_primaries_recoveries value: "8" - name: indices.recovery.max_bytes_per_sec value: "100mb" - name: xpack.security.enabled value: "false" - name: ES_JAVA_OPTS value: "-Xms4g -Xmx4g" - name: node.roles value: "[data_cold, master, data_content, remote_cluster_client]" resources: requests: memory: "4Gi" cpu: "1" limits: memory: "6Gi" cpu: "3" volumeMounts: - name: tz-db mountPath: /usr/share/zoneinfo - name: tz-config mountPath: /etc/localtime subPath: timezone - name: data mountPath: /usr/share/elasticsearch/data - name: config-volume mountPath: /usr/share/elasticsearch/config - name: snapshot-volume mountPath: /usr/share/elasticsearch/snapshot affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: ["elasticsearch"] topologyKey: "kubernetes.io/hostname" nodeSelector: kubernetes.io/hostname: emma volumes: - name: tz-db hostPath: path: /usr/share/zoneinfo type: Directory - name: tz-config configMap: name: timezone-config items: - key: timezone path: timezone - name: data persistentVolumeClaim: claimName: "elasticsearch-data-pvc-elasticsearch-2" - name: config-volume persistentVolumeClaim: claimName: "elasticsearch-config-pvc-elasticsearch-2" - name: snapshot-volume persistentVolumeClaim: claimName: "elasticsearch-snapshot-pvc-elasticsearch-2" --- apiVersion: apps/v1 kind: StatefulSet metadata: name: elasticsearch-3 namespace: efk spec: serviceName: elasticsearch-service replicas: 1 selector: matchLabels: app: elasticsearch template: metadata: labels: app: elasticsearch spec: initContainers: - name: init-sysctl image: busybox command: ["sysctl", "-w", "vm.max_map_count=262144"] securityContext: privileged: true containers: - name: elasticsearch image: docker.elastic.co/elasticsearch/elasticsearch:8.8.0 ports: - containerPort: 9200 name: http - containerPort: 9300 name: transport env: - name: TZ value: Asia/Shanghai - name: cluster.name value: "my-es-cluster" - name: node.name value: "elasticsearch-3" - name: discovery.seed_hosts value: "elasticsearch-0.efk.svc.cluster.local,elasticsearch-1.efk.svc.cluster.local,elasticsearch-2.efk.svc.cluster.local,elasticsearch-3.efk.svc.cluster.local" - name: cluster.initial_master_nodes value: "[elasticsearch-0, elasticsearch-1, elasticsearch-2, elasticsearch-3]" - name: cluster.routing.allocation.awareness.attributes value: "zone" - name: node.attr.zone value: "zone-0" - name: cluster.routing.allocation.node_concurrent_recoveries value: "8" - name: cluster.routing.allocation.node_initial_primaries_recoveries value: "8" - name: indices.recovery.max_bytes_per_sec value: "100mb" - name: xpack.security.enabled value: "false" - name: ES_JAVA_OPTS value: "-Xms4g -Xmx4g" - name: node.roles value: "[data_warm, master, data_content, remote_cluster_client]" resources: requests: memory: "5Gi" cpu: "2" limits: memory: "6Gi" cpu: "3" volumeMounts: - name: tz-db mountPath: /usr/share/zoneinfo - name: tz-config mountPath: /etc/localtime - name: data mountPath: /usr/share/elasticsearch/data - name: config-volume mountPath: /usr/share/elasticsearch/config - name: snapshot-volume mountPath: /usr/share/elasticsearch/snapshot affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchExpressions: - key: app operator: In values: ["elasticsearch"] topologyKey: "kubernetes.io/hostname" nodeSelector: kubernetes.io/hostname: niyon volumes: - name: tz-db hostPath: path: /usr/share/zoneinfo type: Directory - name: tz-config configMap: name: timezone-config items: - key: timezone path: timezone - name: data persistentVolumeClaim: claimName: "elasticsearch-data-pvc-elasticsearch-3" - name: config-volume persistentVolumeClaim: claimName: "elasticsearch-config-pvc-elasticsearch-3" - name: snapshot-volume persistentVolumeClaim: claimName: "elasticsearch-snapshot-pvc-elasticsearch-2"