From d8f54b5f02d92e394bc63a653a0c3692d391665b Mon Sep 17 00:00:00 2001 From: Alex Seymour Date: Fri, 23 Jan 2026 11:20:23 +0100 Subject: [PATCH 1/2] Clarify note on disabling built-in CCM Nodes are only tainted when the kubelet-arg cloud-provider=external is configured Signed-off-by: Alex Seymour --- docs/networking/networking-services.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/networking/networking-services.md b/docs/networking/networking-services.md index 37207912e..00638dd38 100644 --- a/docs/networking/networking-services.md +++ b/docs/networking/networking-services.md @@ -108,7 +108,7 @@ K3s provides an embedded Cloud Controller Manager (CCM) that does the following: Before deploying an external CCM, you must start all K3s servers with the `--disable-cloud-controller` flag to disable the embedded CCM. When using an external CCM, node addresses will be provided by cloud provider instance metadata APIs, instead of the K3s flag values. :::note -If you disable the built-in CCM and do not deploy and properly configure an external substitute, nodes will remain tainted and unschedulable. +If you disable the built-in CCM and add the `kubelet-arg` `cloud-provider=external`, without deploying and properly configuring an external substitute, nodes will remain tainted and unschedulable. ::: From b0f44c696b87a68a65c49d0130c3f0e0061aa5fa Mon Sep 17 00:00:00 2001 From: Alex Seymour Date: Wed, 28 Jan 2026 09:47:54 +0100 Subject: [PATCH 2/2] Clarify note on disabling built-in CCM Co-authored-by: Brad Davidson Signed-off-by: Alex Seymour --- docs/networking/networking-services.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/networking/networking-services.md b/docs/networking/networking-services.md index 00638dd38..24c6644ab 100644 --- a/docs/networking/networking-services.md +++ b/docs/networking/networking-services.md @@ -108,7 +108,7 @@ K3s provides an embedded Cloud Controller Manager (CCM) that does the following: Before deploying an external CCM, you must start all K3s servers with the `--disable-cloud-controller` flag to disable the embedded CCM. When using an external CCM, node addresses will be provided by cloud provider instance metadata APIs, instead of the K3s flag values. :::note -If you disable the built-in CCM and add the `kubelet-arg` `cloud-provider=external`, without deploying and properly configuring an external substitute, nodes will remain tainted and unschedulable. +If you disable the built-in CCM and set `--kubelet-arg=cloud-provider=external` without deploying and properly configuring an external substitute, nodes will remain tainted and unschedulable. By default, disabling the built-in CCM prevents K3s from setting the kubelet `cloud-provider` arg, which indicates that no cloud provider is in use. Without any cloud-provider, Node Provider-IDs and External Addresses will not be set. :::