shellcheck was unhappy with some things, so added lots of double quotes, updated seds to not use unnecessary cats, etc.
Remove Step 7 where the kube-vip cloud provider manifest was applied; this is not needed when using MetalLB, creating extra pods and log noise
Update users' kubectl config to point to their HA VIP instead of the first master node's IP
Copy the kube-vip HA manifest to all master nodes (see below), and configure their permissions
Remove redundant namespace definition for MetalLB
kube-vip's docs state the manifest should be placed on all control plane nodes. I assume that the "static Pod manifest" bit is a copy/paste error from the Static Pod documentation to the DaemonSet documentation (https://kube-vip.io/docs/installation/daemonset/#creating-the-manifest):
Once the static Pod manifest is generated for your desired method (ARP or BGP), if running multiple control plane nodes, ensure it is placed in each control plane's static manifest directory
A handful of tweaks:
sed
s to not use unnecessarycat
s, etc.kube-vip's docs state the manifest should be placed on all control plane nodes. I assume that the "static Pod manifest" bit is a copy/paste error from the Static Pod documentation to the DaemonSet documentation (https://kube-vip.io/docs/installation/daemonset/#creating-the-manifest):