--- - name: Install k8s become: true hosts: all vars: arch: "amd64" os: "{{ ansible_distribution }}_{{ ansible_distribution_major_version }}" k8s_version: "1.25" tasks: - name: Copy conf copy: src: rootfs/ dest: / - name: Upgrade apt: update_cache: true cache_valid_time: 604800 # 60s * 60m * 24h * 7d upgrade: full autoremove: true purge: true - name: Install deps apt: name: - conntrack - gpg - vim - name: Add libcontainers public key (CRI-O) apt_key: url: "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/{{ os }}/Release.key" keyring: /etc/apt/trusted.gpg.d/libcontainers-archive-keyring.gpg - name: Add libcontainers-crio public key (CRI-O) apt_key: url: "https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/{{ k8s_version }}/{{ os }}/Release.key" keyring: /etc/apt/trusted.gpg.d/libcontainers-crio-archive-keyring.gpg - name: Add k8s public key apt_key: url: https://packages.cloud.google.com/apt/doc/apt-key.gpg keyring: /etc/apt/trusted.gpg.d/kubernetes-archive-keyring.gpg - name: Add libcontainers repo (CRI-O) apt_repository: repo: "deb [signed-by=/etc/apt/trusted.gpg.d/libcontainers-archive-keyring.gpg] https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/{{ os }}/ /" filename: devel:kubic:libcontainers:stable - name: Add libcontainers-crio repo (CRI-O) apt_repository: repo: "deb [signed-by=/etc/apt/trusted.gpg.d/libcontainers-crio-archive-keyring.gpg] https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/{{ k8s_version }}/{{ os }}/ /" filename: "devel:kubic:libcontainers:stable:cri-o:{{ k8s_version }}" - name: Add k8s repo apt_repository: repo: "deb [signed-by=/etc/apt/trusted.gpg.d/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" filename: kubernetes - name: Install k8s apt: name: - cri-o - cri-o-runc - kubeadm={{ k8s_version}}* - kubectl={{ k8s_version}}* - kubelet={{ k8s_version}}* update_cache: true - name: Hold k8s pkg shell: apt-mark hold cri-o cri-o-runc kubeadm kubectl kubelet - name: Install crictl unarchive: remote_src: yes src: "https://github.com/kubernetes-sigs/cri-tools/releases/download/v{{ k8s_version }}.0/crictl-v{{ k8s_version }}.0-linux-{{ arch }}.tar.gz" dest: /usr/local/bin/ mode: 755 - name: Enable crio service service: name: crio.service enabled: true - name: Enable kubelet service service: name: kubelet.service enabled: true - name: Reboot reboot: