Change Harvester HCI Management VIP

Harvester (harvesterhci.io) sets up a VIP for its management interface upon installation.

It is not a supported operation (at time of writing) to update this IP address. However, if you are of the more daring type, you can follow these instructions to update said address.

  1. Log into your Harvester instance
  2. Navigate to the embedded Rancher explorer by changing the URL to /dashboard/c/local/explorer.
    For example, your Harvester instance may be at https://192.168.23.1/dashboard/c/local/harvester. Change that to https://192.168.23.1/dashboard/c/local/explorer.
  3. Once in the explorer, use the namespace dropdown at the top to select the harvester-system namespace.
  4. On the left menu, navigate to Apps & Marketplace -> Installed Apps
  5. Locate harvester in the list of installed apps, and using the triple-dot menu on the right, click on Edit/Upgrade
  6. Click Next on the first page of the upgrade process.
    Do not change the Version dropdown or any other parameter
  7. In the next step, edit YAML and locate your current VIP address. It is at the yaml path of service.vip.ip
  8. Change this address to your desired address and click Update
  9. Allow the app to update and do not proceed until the Helm operation has completed.
  10. On the left menu, navigate to Storage -> Config Maps
  11. Edit the ConfigMap named vip and confirm that the value for the key of ip has been changed to your desired IP. If not, change it and save.
  12. Use the namespace dropdown at the top of the page to change from harvester-system to kube-system. Remember to deselect harvester-system or else you will see resources from both namespaces.
  13. On the left menu, navigate to Service Discovery -> Services
  14. Locate and edit the service titled ingress-expose.
  15. Under the ‘IP Addresses’ section, change the Load Balancer IP from the previous value to your new desired IP. Save this object.
  16. Use the namespace dropdown at the top of the page to change from kube-system to harvester-system. Remember to deselect kube-system or else you will see resources from both namespaces.
  17. On the left menu, navigate to Workload -> Pods
  18. In this list of pods, locate all running kube-vip pods. Check the box next to all these pods (should be one per node in your Harvester cluster) and delete the pods.
    Do not worry about doing this. The pods will re-schedule and start broadcasting your new IP.

Done! Once those pods re-deploy, your Harvester instance will now be available at the new IP.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s