diff --git a/cluster/addons/cloud-controller-manager/cloud-node-controller-role.yaml b/cluster/addons/cloud-controller-manager/cloud-node-controller-role.yaml index 23e032d92e3..95ee4a4a9de 100644 --- a/cluster/addons/cloud-controller-manager/cloud-node-controller-role.yaml +++ b/cluster/addons/cloud-controller-manager/cloud-node-controller-role.yaml @@ -45,6 +45,7 @@ rules: verbs: - get - update + - patch - apiGroups: - "" resources: diff --git a/cluster/gce/config-default.sh b/cluster/gce/config-default.sh index cf4bd382bc4..fc247c30f5e 100755 --- a/cluster/gce/config-default.sh +++ b/cluster/gce/config-default.sh @@ -255,6 +255,9 @@ if [[ (( "${KUBE_FEATURE_GATES:-}" == *"AllAlpha=true"* ) || ( "${KUBE_FEATURE_G RUN_CONTROLLERS="${RUN_CONTROLLERS:-*,endpointslice}" fi +# By default disable gkenetworkparamset controller in CCM +RUN_CCM_CONTROLLERS="${RUN_CCM_CONTROLLERS:-*,-gkenetworkparamset}" + # List of the set of feature gates recognized by the GCP CCM export CCM_FEATURE_GATES="APIListChunking,APIPriorityAndFairness,APIResponseCompression,APIServerIdentity,APIServerTracing,AllAlpha,AllBeta,CustomResourceValidationExpressions,KMSv2,OpenAPIEnums,OpenAPIV3,RemainingItemCount,ServerSideFieldValidation,StorageVersionAPI,StorageVersionHash" diff --git a/cluster/gce/config-test.sh b/cluster/gce/config-test.sh index 98762fe9901..d2f0a9f10ed 100755 --- a/cluster/gce/config-test.sh +++ b/cluster/gce/config-test.sh @@ -156,6 +156,9 @@ if [[ (( "${KUBE_FEATURE_GATES:-}" = *"AllAlpha=true"* ) || ( "${KUBE_FEATURE_GA RUN_CONTROLLERS=${RUN_CONTROLLERS:-*,endpointslice} fi +# By default disable gkenetworkparamset controller in CCM +RUN_CCM_CONTROLLERS="${RUN_CCM_CONTROLLERS:-*,-gkenetworkparamset}" + # Optional: set feature gates # shellcheck disable=SC2034 # Variables sourced in other scripts. FEATURE_GATES=${KUBE_FEATURE_GATES:-} diff --git a/cluster/gce/gci/configure-helper.sh b/cluster/gce/gci/configure-helper.sh index 9ea8c0ad760..31163fc4d6a 100644 --- a/cluster/gce/gci/configure-helper.sh +++ b/cluster/gce/gci/configure-helper.sh @@ -2246,7 +2246,6 @@ function start-kube-controller-manager { cp "${src_file}" /etc/kubernetes/manifests } -# (TODO/cloud-provider-gcp): Figure out how to inject # Starts cloud controller manager. # It prepares the log file, loads the docker image, calculates variables, sets them # in the manifest file, and then copies the manifest file to /etc/kubernetes/manifests. @@ -2309,8 +2308,8 @@ function start-cloud-controller-manager { echo "None of the given feature gates (${FEATURE_GATES}) were found to be safe to pass to the CCM" fi fi - if [[ -n "${RUN_CONTROLLERS:-}" ]]; then - params+=("--controllers=${RUN_CONTROLLERS}") + if [[ -n "${RUN_CCM_CONTROLLERS:-}" ]]; then + params+=("--controllers=${RUN_CCM_CONTROLLERS}") fi echo "Converting manifest for cloud provider controller-manager" @@ -3572,7 +3571,6 @@ function main() { log-wrap 'StartKonnectivityServer' start-konnectivity-server fi log-wrap 'StartKubeControllerManager' start-kube-controller-manager - # (TODO/cloud-provider-gcp): Figure out how to inject if [[ "${CLOUD_PROVIDER_FLAG:-gce}" == "external" ]]; then log-wrap 'StartCloudControllerManager' start-cloud-controller-manager fi diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index 7df28267e03..50f1c5c5105 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -1278,6 +1278,11 @@ EOF if [ -n "${RUN_CONTROLLERS:-}" ]; then cat >>"$file" <>"$file" <