Open vlerenc opened 1 year ago
According to @rfranzke: Back then, CCM required this setting in its config: https://github.com/gardener/gardener-extension-provider-gcp/blob/05a7bed06ecf428ea[…]rnal/cloud-provider-config/templates/cloud-provider-config.yaml. Probably they have evolved the CCM to remove such necessities completely in case it runs on a cloud provider different from GCP.
/assign @dimitar-kostadinov
The zone
field in controlPlaneConfig
is used in cloud-provider-config
and csi-driver-controller-config configmaps.
The cloud-provider-config
configmap is mount in cloud-controller-manager
deployment,
gcp-cloud-controller-manager
container and the location is set with the --cloud-config
param.
The csi-driver-controller-config
configmap is mount in csi-driver-controller
deployment,
gcp-csi-driver
container and the location is set with the --cloud-config
param.
The initialization and usage of localZone
in gcp-cloud-controller-manager
is represented with the following flow:
GetZone(ctx context.Context) (Zone, error)
is not usedIn conclusion, the localZone is mainly used to get the region and the region is widely used when dealing with resources. An issue for adding region option is opened.
The initialization and usage of zone
in gcp-csi-driver
is represented with the following flow:
true
and driver supports VOLUME_ACCESSIBILITY_CONSTRAINTS
capability, so it always specify topology.gke.io/zone in the request.This note states when the projectId
and the zone
should be specified.
In conclusion, the zone is mainly used to get the region.
controlPlaneConfig.zone
and to use the first zone from the first worker pool.@vlerenc, @rfranzke WDYT?
What would you like to be added: While testing HA, with new HA clusters, I was wondering which purpose the
zone
field serves and whether we can drop it, because it gives the impression of a dominant zone, which "looks" like a contradiction to HA:Why is this needed: To reach full HA.