Set System Requirements
Each Kubernetes worker node (host system) must meet the system requirements as specified in the System Requirements and Recommendations documentation. The recommended method for configuring these settings is to do so directly on each Kubernetes node where SingleStoreDB will be scheduled to run.
As manually configuring a multitude of worker nodes to conform to SingleStoreDB’s system requirements can be time-consuming, a DaemonSet can be employed to make this configuration easier.
One key benefit to using a DaemonSet is that, as you scale your cluster with additional worker nodes, the DaemonSet will automatically configure each worker node with the required settings.
The following DaemonSet template must run with elevated privileges in order to perform the required system-level updates to a worker node.
apiVersion: apps/v1 kind: DaemonSet metadata: name: singlestore-sysreq labels: "app.kubernetes.io/name": "singlestore-sysreq" spec: selector: matchLabels: "app.kubernetes.io/name": "singlestore-sysreq" updateStrategy: type: RollingUpdate template: metadata: labels: "app.kubernetes.io/name": "singlestore-sysreq" spec: hostPID: true volumes: - name: sys hostPath: path: /sys initContainers: - name: sysreq image: busybox securityContext: privileged: true volumeMounts: - name: sys mountPath: /rootfs/sys command: - "/bin/sh" - "-c" - | set -euxo pipefail sysctl -w vm.max_map_count=1000000000 sysctl -w vm.min_free_kbytes=658096 echo never > /rootfs/sys/kernel/mm/transparent_hugepage/enabled echo never > /rootfs/sys/kernel/mm/transparent_hugepage/defrag echo 0 > /rootfs/sys/kernel/mm/transparent_hugepage/khugepaged/defrag containers: - name: pause image: gcr.io/google_containers/pause