I am trying to run an Elastic Cluster on Kubernetes (Minikube). It basically works, but only with one server per node. As soon as I try to set up > 1 node per node set, the cpu usage of
kube-apiserver
kube-controller
kube-scheduler
kubelet
cri-dockerd
etcd
increases and the cluster is not reachable via kubectl anymore.
This is my ECK-configuration:
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
name: reporting
spec:
version: 7.16.1
volumeClaimDeletePolicy: DeleteOnScaledownOnly
nodeSets:
- name: master
count: 1
volumeClaimTemplates:
- metadata:
name: elasticsearch-data # Do not change this name unless you set up a volume mount for the data path.
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: standard
config:
node.roles: ["master"]
podTemplate:
spec:
initContainers:
- name: sysctl
securityContext:
privileged: true
runAsUser: 0
command: ['sh', '-c', 'sysctl -w vm.max_map_count=262144']
- name: data
count: 1
volumeClaimTemplates:
- metadata:
name: elasticsearch-data # Do not change this name unless you set up a volume mount for the data path.
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: standard
config:
node.roles: ["data"]
podTemplate:
spec:
initContainers:
- name: sysctl
securityContext:
privileged: true
runAsUser: 0
command: ['sh', '-c', 'sysctl -w vm.max_map_count=262144']
With count = 1 on the nodeset, everything works fine. As soon as I increase it on one of the node sets the described problem arises.
EDIT: Since I don't have access to kubectl, I have no access to the logs, but maybe someone has an idea regarding that.
EDIT: I asked that question on stack overflow before , but got the recommendation to post it at serverfault. I deleted the question on stack overflow so no double posting.