5

我在运行 kubernetes 1.10 的 AWS EKS 上运行我的 kubernetes 集群。我正在按照本指南在我的 Cluster elasticsearch Kubernetes中部署 elasticsearch

我第一次部署它时一切正常。现在,当我重新部署时,它给了我以下错误。

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2018-08-24T18:07:28,448][INFO ][o.e.n.Node               ] [es-master-6987757898-5pzz9] stopping ...
[2018-08-24T18:07:28,534][INFO ][o.e.n.Node               ] [es-master-6987757898-5pzz9] stopped
[2018-08-24T18:07:28,534][INFO ][o.e.n.Node               ] [es-master-6987757898-5pzz9] closing ...
[2018-08-24T18:07:28,555][INFO ][o.e.n.Node               ] [es-master-6987757898-5pzz9] closed

这是我的部署文件。

apiVersion: apps/v1beta1
kind: Deployment
metadata:
  name: es-master
  labels:
    component: elasticsearch
    role: master
spec:
  replicas: 3
  template:
    metadata:
      labels:
        component: elasticsearch
        role: master
    spec:
      initContainers:
      - name: init-sysctl
        image: busybox:1.27.2
        command:
        - sysctl
        - -w
        - vm.max_map_count=262144
        securityContext:
          privileged: true
      containers:
      - name: es-master
        image: quay.io/pires/docker-elasticsearch-kubernetes:6.3.2
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: metadata.name
        - name: CLUSTER_NAME
          value: myesdb
        - name: NUMBER_OF_MASTERS
          value: "2"
        - name: NODE_MASTER
          value: "true"
        - name: NODE_INGEST
          value: "false"
        - name: NODE_DATA
          value: "false"
        - name: HTTP_ENABLE
          value: "false"
        - name: ES_JAVA_OPTS
          value: -Xms512m -Xmx512m
        - name: NETWORK_HOST
          value: "0.0.0.0"
        - name: PROCESSORS
          valueFrom:
            resourceFieldRef:
              resource: limits.cpu
        resources:
          requests:
            cpu: 0.25
          limits:
            cpu: 1
        ports:
        - containerPort: 9300
          name: transport
        livenessProbe:
          tcpSocket:
            port: transport
          initialDelaySeconds: 20
          periodSeconds: 10
        volumeMounts:
        - name: storage
          mountPath: /data
      volumes:
          - emptyDir:
              medium: ""
            name: "storage"

我看到很多帖子都在谈论增加价值,但我不知道该怎么做。任何帮助,将不胜感激。

4

3 回答 3

1

只想附加到这个问题

如果您通过eksctl创建 EKS 集群,则可以附加到 NodeGroup 创建 yaml:

 preBootstrapCommand:
      - "sed -i -e 's/1024:4096/65536:65536/g' /etc/sysconfig/docker"
      - "systemctl restart docker"

这将通过修复 docker daemon 配置来解决新创建的集群的问题。

于 2019-04-03T16:19:24.067 回答
0

这是使用 EKS 设置 EFK 堆栈对我有用的唯一方法。将此添加到您的节点组创建 YAML 文件中nodeGroups:。然后创建您的节点组并在其上应用您的 ES pod。

preBootstrapCommands:
  - "sysctl -w  vm.max_map_count=262144"
  - "systemctl restart docker"
于 2020-08-11T17:29:36.170 回答
0

更新文件 '/etc/docker/daemon.json' 中的 default-ulimit 参数

  "default-ulimits": {
    "nofile": {
      "Name": "nofile",
      "Soft": 65536,
      "Hard": 65536
    }
  }

并重新启动 docker 守护进程。

于 2019-03-23T18:51:08.403 回答