Skip to content

Commit 0e02167

Browse files
committed
define number of controllers required
There is no need to handle the IPAddresses with finalizers since the apiserver only deallocates the IP after the Services has been deleted. The repair loop on the apiserver will guarantee the relaton between ServiceCIDR, Services and ClusterIP, there is no need to add a new controller on the controller manager.
1 parent 8af5e86 commit 0e02167

File tree

1 file changed

+5
-7
lines changed
  • keps/sig-network/1880-multiple-service-cidrs

1 file changed

+5
-7
lines changed

keps/sig-network/1880-multiple-service-cidrs/README.md

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -252,13 +252,11 @@ multiple apiservers.
252252

253253
The new allocation mode requires:
254254

255-
- 2 new API objects ServiceCIDR and IPAddress in networking.k8s.io/v1alpha1, see <https://groups.google.com/g/kubernetes-sig-api-machinery/c/S0KuN_PJYXY/m/573BLOo4EAAJ>. Both will be protected with finalizers.
256-
- 1 new allocator implementing current `allocator.Interface`, that runs in each apiserver, and uses the new objects to allocate IPs for Services.
257-
- 1 new controller that participates on the ServiceCIDR deletion, the guarantee that each IPAddresses has
258-
a ServiceCIDR associated. It also handles the special case for the `default` ServiceCIDR.
259-
- 1 new controller that participates in the IPAddress deletion, that guarantees that each Service IP
260-
allocated has its corresponding IPAddress object, recreating it if necessary.
261-
- 1 new controller that handles the bootstrap process and the default ServiceCIDR.
255+
- 2 new API objects ServiceCIDR and IPAddress in networking.k8s.io/v1alpha1, see <https://groups.google.com/g/kubernetes-sig-api-machinery/c/S0KuN_PJYXY/m/573BLOo4EAAJ>. The ServiceCIDR will be protected with a finalizer, the IPAddress object doesn't need a finalizer because the APIserver always release and delete the IPAddress after the Service has been deleted.
256+
- 1 new allocator implementing current `allocator.Interface`, that runs in each apiserver, and uses the new ServiceCIDRs objects to allocate IPs for Services.
257+
- 1 new repair loop that runs in the apiserver that reconciles the Services with the IPAddresses, repairing
258+
Services, garbage collecting orphan IPAddresses and handling the upgrade from the old allocators.
259+
- 1 new controller that handles the bootstrap process and the ServiceCIDR object, it participates on the ServiceCIDR deletion, the guarantee that each IPAddresses has a ServiceCIDR associated.
262260

263261
[![](https://mermaid.ink/img/pako:eNp9UstqwzAQ_BWxx5IcCqUHUwrFacGXYJLeqh620tpV0SNIcsAk_vfKjpNiJ3QvYmdGs7NIBxBOEmQgNIawUlh7NNyyVAPCtuT3StDhhPWV6yZE8kXJQvTK1jeYwD4-52RRvqFRWlFPjk17Rbel00q07G7av7c7Omm7G-HyYrXJna1UfYm5RkOzfEW5f7iGHifQxL0oX6T0FMJ_rhuqmPv6ScfE4VynbszJONxzYE_H5fL4PDaXIVkCUGsnMFLgMLn4t-DcYj23EM5GVHZwgAUY8gaVTA88LMEhfpMhDr1UUoWNjr2yS9JmJ9PoV6mi85BVqAMtAJvotq0VkEXf0Fk0_pNR1f0CyVS2dw)](https://mermaid.live/edit#pako:eNp9UstqwzAQ_BWxx5IcCqUHUwrFacGXYJLeqh620tpV0SNIcsAk_vfKjpNiJ3QvYmdGs7NIBxBOEmQgNIawUlh7NNyyVAPCtuT3StDhhPWV6yZE8kXJQvTK1jeYwD4-52RRvqFRWlFPjk17Rbel00q07G7av7c7Omm7G-HyYrXJna1UfYm5RkOzfEW5f7iGHifQxL0oX6T0FMJ_rhuqmPv6ScfE4VynbszJONxzYE_H5fL4PDaXIVkCUGsnMFLgMLn4t-DcYj23EM5GVHZwgAUY8gaVTA88LMEhfpMhDr1UUoWNjr2yS9JmJ9PoV6mi85BVqAMtAJvotq0VkEXf0Fk0_pNR1f0CyVS2dw)
264262

0 commit comments

Comments
 (0)