Closed nikhiljindal closed 6 years ago
cc @bowei & @nicksardo
I like URLMap to store the status. We have a single URLMap per ingress.
This is unlike other resources which can be multiple - multiple BackendServices for multiple services in ingress and http and https forwarding rules and target proxies).
It also has an update API :)
Turns our ListUrlMaps is missing from LoadBalancers interface.
We need it for kubemci list
to list all existing MCIs.
Filed https://github.com/kubernetes/ingress-gce/issues/162 for the request. Will need to add it to the interface and then revendor the updated interface.
This is now fixed.
Problem: We cant support
kubemci remove-clusters
without downtime. This is because we need to update LoadBalancerStatus which is stored as description on ForwardingRule. But Forwarding rule does not have an update API. We need to delete and recreate it resulting in user visible downtime. Solution: Store LoadBalancerStatus on some other resource that supports update API :)Longer version: Today we store LoadBalancerStatus on forwarding rule. We store this status to be able to surface useful information when users run
kubemci list
andkubemci get-status
. While implementingkubemci remove-clusters
, I realized that there is no UpdateForwardingRule API. We need to delete and recreate it to be able to update the description field (link to code) This results in downtime for the user. The whole point of adding a remove-clusters command was to let users remove an existing MCI from some clusters without resulting in user facing downtime.cc @csbell @G-Harmon @mdelio