--- - hosts: "{{ hostname | default('controller') }}" vars: kubectl: "minikube kubectl -- " # Kubernetes Version used by Minikube # https://kubernetes.io/releases/version-skew-policy/ kubernetes_version: v1.32 minikube_package: https://github.com/kubernetes/minikube/releases/download/v1.36.0/minikube-linux-amd64 etcd_ramdisk_path: /dev/shm/etcd do_create_ramdisk: "{{ create_ramdisk is defined and create_ramdisk == True }}" ramdisk_command: | {% if do_create_ramdisk %}--mount --mount-string="{{ etcd_ramdisk_path }}:/var/lib/minikube/etcd" {% endif %} tasks: # This task is for slow machine, e.g. in SF CI, it is recommened to setup etcd data in RAM - name: Create ramdisk folder when: do_create_ramdisk become: true ansible.builtin.file: path: "{{ etcd_ramdisk_path }}" state: directory mode: 0700 owner: root group: root - name: Installing packages become: true ansible.builtin.dnf: state: present name: - podman - bind-utils # Workaround for https://github.com/kubernetes/minikube/issues/19820 - name: Set pids_limit in containers.conf become: true ansible.builtin.copy: dest: /etc/containers/containers.conf content: | [containers] pids_limit = 0 backup: yes - name: Installing Minikube become: true ansible.builtin.uri: url: "{{ minikube_package }}" dest: /usr/bin/minikube mode: "0755" status_code: [200, 304] - name: Start minikube command: >- minikube start --kubernetes-version={{ kubernetes_version }} --embed-certs --container-runtime=cri-o --addons ingress,ingress-dns --cpus no-limit --memory no-limit --delete-on-failure=true --disable-metrics=true {{ ramdisk_command }} - name: Get minikube deployment ip command: minikube ip register: deployment_ip - name: Get default interface shell: ip route show default | awk '{print $5}' register: default_itf - name: Test minikube ansible.builtin.command: cmd: "{{ kubectl }} get pod -A"