--- - name: install container runtime include_tasks: "cri_{{ kubernetes_container_runtime }}.yml" - name: prepare storage volume for /var/lib/kubelet when: kubelet_storage is defined vars: storage_volume: "{{ kubelet_storage | combine({'dest': '/var/lib/kubelet'})}}" include_role: name: "storage/{{ kubelet_storage.type }}/volume" - name: add apt repository include_role: name: apt-repo/kubernetes - name: install kubelet and common packages apt: name: - bridge-utils - cri-tools - "kubelet={{ kubernetes_version }}-00" state: present force: yes - name: disable automatic upgrades for kubelet dpkg_selections: name: kubelet selection: hold - name: add crictl config for shells loop: - zsh - bash blockinfile: path: "/root/.{{ item }}rc" create: yes marker: "### {mark} ANSIBLE MANAGED BLOCK for crictl ###" content: | {% if kubernetes_cri_socket %} alias crictl="crictl --runtime-endpoint {{ kubernetes_cri_socket }}" {% endif %} {% if item == 'zsh' %} ## TODO: see https://github.com/kubernetes-sigs/cri-tools/issues/435 autoload -U +X bashcompinit && bashcompinit {% endif %} source <(crictl completion) - name: add dummy group with gid 990 group: name: app gid: 990 - name: add dummy user with uid 990 user: name: app uid: 990 group: app password: "!"