diff --git a/tasks/prepare.yml b/tasks/prepare.yml index aa52c1a..f42768a 100644 --- a/tasks/prepare.yml +++ b/tasks/prepare.yml @@ -48,6 +48,15 @@ mode: 0600 notify: __k3s_restart + - name: Copy K3s kubelet config file + template: + src: "etc/rancher/k3s/kubelet.yaml.j2" + dest: "{{ __k3s_config_dir }}/kubelet.yaml" + owner: root + group: root + mode: 0600 + notify: __k3s_restart + - name: Copy K3s server config files template: src: "etc/rancher/k3s/server/{{ item }}.j2" diff --git a/templates/_internal/kubelet-arg.yaml.j2 b/templates/_internal/kubelet-arg.yaml.j2 new file mode 100644 index 0000000..d758896 --- /dev/null +++ b/templates/_internal/kubelet-arg.yaml.j2 @@ -0,0 +1,2 @@ +#jinja2: lstrip_blocks: True +- config={{ __k3s_config_dir }}/kubelet.yaml diff --git a/templates/etc/rancher/k3s/config.yaml.j2 b/templates/etc/rancher/k3s/config.yaml.j2 index 52406cf..c99ef03 100644 --- a/templates/etc/rancher/k3s/config.yaml.j2 +++ b/templates/etc/rancher/k3s/config.yaml.j2 @@ -1,8 +1,13 @@ #jinja2: lstrip_blocks: True --- {% set __k3s_kube_apiserver_arg = lookup('template', '_internal/apiserver-arg.yaml.j2') | from_yaml %} +{% set __k3s_kubelet_arg = lookup('template', '_internal/kubelet-arg.yaml.j2') | from_yaml %} token: "{{ k3s_token }}" node-ip: "{{ k3s_node_ip }}" +{% if __k3s_kubelet_arg is iterable %} +kubelet-arg: + {{ __k3s_kubelet_arg | to_nice_yaml(indent=2) | indent(2, False) }} +{% endif %} {% if k3s_server | bool %} bind-address: "{{ k3s_server_bind_ip }}" @@ -13,7 +18,7 @@ disable: - traefik {% if __k3s_kube_apiserver_arg is iterable %} kube-apiserver-arg: - {{ __k3s_kube_apiserver_arg | to_nice_yaml(indent=2) | indent(2, False) }} + {{ __k3s_kube_apiserver_arg | to_nice_yaml(indent=2) | indent(2, False) }} {% endif %} {% if not k3s_server_flannel_backend_enabled | bool %} flannel-backend: "none" diff --git a/templates/etc/rancher/k3s/kubelet.yaml.j2 b/templates/etc/rancher/k3s/kubelet.yaml.j2 new file mode 100644 index 0000000..c2b85ee --- /dev/null +++ b/templates/etc/rancher/k3s/kubelet.yaml.j2 @@ -0,0 +1,6 @@ +#jinja2: lstrip_blocks: True +--- +apiVersion: kubelet.config.k8s.io/v1beta1 +kind: KubeletConfiguration +shutdownGracePeriod: 30s +shutdownGracePeriodCriticalPods: 10s