feat: add crictl.yaml config (#330)
Co-authored-by: Tadas Sutkaitis <t.sutkaitis@syseleven.de>
diff --git a/roles/kubernetes/defaults/main.yml b/roles/kubernetes/defaults/main.yml
index 84818bb..c834aae 100644
--- a/roles/kubernetes/defaults/main.yml
+++ b/roles/kubernetes/defaults/main.yml
@@ -24,6 +24,12 @@
kubernetes_cri_tools_version: 1.25.0
# ]]]
+# .. envvar:: kubernetes_cri_socket [[[
+#
+# CRI socket path
+kubernetes_cri_socket: /run/containerd/containerd.sock
+
+ # ]]]
# .. envvar:: kubernetes_kernel_modules [[[
#
# List of kernel modules to be automatically loaded
diff --git a/roles/kubernetes/tasks/main.yml b/roles/kubernetes/tasks/main.yml
index cd806b8..583829f 100644
--- a/roles/kubernetes/tasks/main.yml
+++ b/roles/kubernetes/tasks/main.yml
@@ -41,13 +41,19 @@
- name: Install packages
ansible.builtin.apt:
name:
- - "containerd"
- "cri-tools={{ kubernetes_cri_tools_version }}-00"
- "kubeadm={{ kubernetes_version }}-00"
- "kubectl={{ kubernetes_version }}-00"
- "kubelet={{ kubernetes_version }}-00"
state: present
+- name: Create crictl config
+ ansible.builtin.template:
+ src: crictl.yaml.j2
+ dest: /etc/crictl.yaml
+ owner: root
+ mode: 0644
+
- name: Enable kernel modules on-boot
ansible.builtin.template:
src: modules-load.conf.j2
diff --git a/roles/kubernetes/templates/crictl.yaml.j2 b/roles/kubernetes/templates/crictl.yaml.j2
new file mode 100644
index 0000000..a5e8dc2
--- /dev/null
+++ b/roles/kubernetes/templates/crictl.yaml.j2
@@ -0,0 +1,4 @@
+runtime-endpoint: unix://{{ kubernetes_cri_socket }}
+image-endpoint: unix://{{ kubernetes_cri_socket }}
+timeout: 30
+debug: false
diff --git a/roles/kubernetes/templates/kubeadm.yaml.j2 b/roles/kubernetes/templates/kubeadm.yaml.j2
index f4689a0..4179141 100644
--- a/roles/kubernetes/templates/kubeadm.yaml.j2
+++ b/roles/kubernetes/templates/kubeadm.yaml.j2
@@ -9,7 +9,7 @@
enforce-node-allocatable: ""
node-ip: "{{ ansible_default_ipv4.address }}"
container-runtime: "remote"
- container-runtime-endpoint: "/run/containerd/containerd.sock"
+ container-runtime-endpoint: "{{ kubernetes_cri_socket }}"
---
apiVersion: kubeadm.k8s.io/v1beta2
kind: JoinConfiguration
@@ -19,7 +19,7 @@
enforce-node-allocatable: ""
node-ip: "{{ ansible_default_ipv4.address }}"
container-runtime: "remote"
- container-runtime-endpoint: "/run/containerd/containerd.sock"
+ container-runtime-endpoint: "{{ kubernetes_cri_socket }}"
{% if (_kubernetes_bootstrap_node is not defined) or (_kubernetes_bootstrap_node is defined and inventory_hostname != _kubernetes_bootstrap_node) %}
discovery:
bootstrapToken: