diff --git a/ansible/roles/minikube/defaults/main.yml b/ansible/roles/minikube/defaults/main.yml index f42a416..e753f38 100644 --- a/ansible/roles/minikube/defaults/main.yml +++ b/ansible/roles/minikube/defaults/main.yml @@ -4,6 +4,7 @@ minikube_cpus: 6 minikube_memory: 12288 minikube_disk_size: "200g" minikube_driver: qemu2 +minikube_network: socket_vmnet minikube_container_runtime: containerd # Remote access configuration diff --git a/ansible/roles/minikube/tasks/main.yml b/ansible/roles/minikube/tasks/main.yml index 36965a7..aca060f 100644 --- a/ansible/roles/minikube/tasks/main.yml +++ b/ansible/roles/minikube/tasks/main.yml @@ -1,10 +1,11 @@ --- # Minikube installation and cluster setup for indri # Uses qemu2 driver for full VM with kernel mount capabilities (NFS, SMB, etc.) +# Requires socket_vmnet for proper networking (minikube service/tunnel commands) # # NOTE: minikube start may have issues when run via SSH. # If cluster fails to start, manually run on indri: -# minikube start --driver=qemu2 --container-runtime=containerd \ +# minikube start --driver=qemu2 --network=socket_vmnet --container-runtime=containerd \ # --cpus=6 --memory=12288 --disk-size=200g \ # --apiserver-names=k8s.tail8d86e.ts.net --apiserver-names=indri \ # --apiserver-port=6443 --listen-address=0.0.0.0 @@ -14,6 +15,19 @@ name: qemu state: present +- name: Install socket_vmnet via homebrew (required for qemu2 networking) + community.general.homebrew: + name: socket_vmnet + state: present + +- name: Start socket_vmnet service + ansible.builtin.command: + cmd: brew services start socket_vmnet + become: true + register: minikube_socket_vmnet_start + changed_when: "'Successfully started' in minikube_socket_vmnet_start.stdout" + failed_when: false + - name: Install minikube via homebrew community.general.homebrew: name: minikube @@ -36,6 +50,7 @@ cmd: > minikube start --driver={{ minikube_driver }} + --network={{ minikube_network }} --container-runtime={{ minikube_container_runtime }} --cpus={{ minikube_cpus }} --memory={{ minikube_memory }}