diff --git a/kube8s-containerd-playbooks/playbook-kubernetes-vip.yml b/kube8s-containerd-playbooks/playbook-kubernetes-vip.yml new file mode 100644 index 0000000000000000000000000000000000000000..49fe0048988c9ae56dd2bc5d6d450ff55fc76d6b --- /dev/null +++ b/kube8s-containerd-playbooks/playbook-kubernetes-vip.yml @@ -0,0 +1,39 @@ +- hosts: master_nodes + become: true + become_user: root + tasks: + + - name: touch aliases + shell: "touch /root/.bash_aliases" + + - name: Add kube-vip alias for root user + # kube-vip version v0.5.6 (Nov 2022) + lineinfile: + path=/root/.bash_aliases + line="alias kube-vip='ctr image pull ghcr.io/kube-vip/kube-vip:v0.5.6; ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:v0.5.6 vip /kube-vip'" + owner=root + regexp="^alias kube-vip='ctr image pull ghcr.io/kube-vip/kube-vip:v0.5.6; ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:v0.5.6 vip /kube-vip'" + + - name: Pull kube-vip + shell: "ctr image pull ghcr.io/kube-vip/kube-vip:v0.5.6" + + - name: Setup kube-vip + shell: "ctr run --rm --net-host ghcr.io/kube-vip/kube-vip:v0.5.6 vip /kube-vip manifest pod --interface enp0s8 --address 192.168.56.40 --controlplane --services --arp --leaderElection" + register: setup_output + + - name: Write manifest kube-vip + become: true + become_user: root + copy: + content: "{{ setup_output.stdout }}" + dest: "/etc/kubernetes/manifests/kube-vip.yaml" + + - name: Apply kube-vip-cloud-contoller + become: true + become_user: vagrant + command: kubectl apply -f https://raw.githubusercontent.com/kube-vip/kube-vip-cloud-provider/main/manifest/kube-vip-cloud-controller.yaml + + - name: Setup kube-vip-cloud-contoller + become: true + become_user: vagrant + command: kubectl create configmap -n kube-system kubevip --from-literal range-global=192.168.56.220-192.168.56.230