{"id":13795567,"url":"https://github.com/mumoshu/kube-node-init","last_synced_at":"2026-01-03T23:04:40.988Z","repository":{"id":45937246,"uuid":"171797151","full_name":"mumoshu/kube-node-init","owner":"mumoshu","description":"Kubernetes daemonset for node initial configuration. Currently for modifying files and systemd services on eksctl nodes without changing userdata","archived":false,"fork":false,"pushed_at":"2021-11-26T11:21:04.000Z","size":36,"stargazers_count":15,"open_issues_count":1,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-14T13:04:30.383Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Smarty","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mumoshu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-02-21T03:59:02.000Z","updated_at":"2024-03-03T22:38:19.000Z","dependencies_parsed_at":"2022-08-12T12:40:20.904Z","dependency_job_id":null,"html_url":"https://github.com/mumoshu/kube-node-init","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mumoshu%2Fkube-node-init","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mumoshu%2Fkube-node-init/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mumoshu%2Fkube-node-init/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mumoshu%2Fkube-node-init/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mumoshu","download_url":"https://codeload.github.com/mumoshu/kube-node-init/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244173553,"owners_count":20410300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T23:00:58.732Z","updated_at":"2026-01-03T23:04:40.922Z","avatar_url":"https://github.com/mumoshu.png","language":"Smarty","funding_links":[],"categories":["Kubernetes"],"sub_categories":[],"readme":"# kube-node-init\n\n[kube-node-init](https://github.com/mumoshu/kube-node-init) is a Kubernetes daemonset for node initial configuration including:\n\n- Write files\n- Restart systemd services\n- Customize kernel parameters\n- Add Kubernetes node labels\n- Add Kubernetes node taints\n\n## Getting Started\n\n```console\n$ helm repo add kube-node-init-charts https://raw.githubusercontent.com/mumoshu/kube-node-init/master/docs\n$ helm install --name kube-node-init kube-node-init-charts/kube-node-init\n```\n\nThis installs the followings to your nodes:\n\n- The init `script`\n- Kernel parameters\n\nYou can customze every aspect of kube-node-init via `values.yaml`. Please read the [chart's README](https://github.com/mumoshu/kube-node-init/tree/master/charts/kube-node-init#configuration) for more configuration options.\n\n### The init `script`\n\nThe default `script` does the following to improve your EKS nodes runnin Amazon Linux 2:\n\n- Installs a tweaked `/etc/chrony.conf` and then restarts `chrony` systemd service.\n   The conf includes `allow 127.0.0.1/32`, so that Prometheus `node-exporter`'s `ntp-collector` is able to connect the `chronyd` running on the node.\n\n#### Customizing the init script\n\nYou can create your own `values.yaml` as follows to let kube-node-init use your own script:\n\n`values.yaml`:\n\n```yaml\nscript: |\n  echo your alternative, bespoke node init script here!\n```\n\nRun `helm upgrade` to let kube-node-init rerun with your script:\n\n```console\n$ helm upgrade --name kube-node-init stable/kube-node-init --values values.yaml\n```\n\n### Kernel parameters\n\nkube-node-init also tweaks several kernel parameters [listed under the `sysctl.params` key in the default `values.yaml`](https://github.com/mumoshu/kube-node-init/blob/c4a465522118bc7537d2b90e0bddca057a67b04b/charts/kube-node-init/values.yaml#L26-L50):\n\n\u003e ```\n\u003e # default: 128\n\u003e net.core.somaxconn: 65535\n\u003e # default: 256\n\u003e net.ipv4.tcp_max_syn_backlog: 65535\n\u003e # dfault: 1000\n\u003e net.core.netdev_max_backlog: 16384\n\u003e # default: 32768 60999\n\u003e net.ipv4.ip_local_port_range: 1024 65535\n\u003e # default: 0\n\u003e # enable(1) to optimize against short-lived sessions\n\u003e net.ipv4.tcp_tw_reuse: 1\n\u003e # default: 7200\n\u003e net.ipv4.tcp_keepalive_time: 200\n\u003e # default: 75\n\u003e net.ipv4.tcp_keepalive_intvl: 60\n\u003e # default: 9\n\u003e net.ipv4.tcp_keepalive_probes: 3\n\u003e # default: 6\n\u003e net.ipv4.tcp_syn_retries: 5\n\u003e ```\n\nIn case you want to disable this feature, set `--set sysctl.enabled=true` while installing the chart.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmumoshu%2Fkube-node-init","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmumoshu%2Fkube-node-init","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmumoshu%2Fkube-node-init/lists"}