From 5a353cb04f2c708d9e3f822da0d314f6170b0c44 Mon Sep 17 00:00:00 2001 From: ChengHao Yang <17496418+tico88612@users.noreply.github.com> Date: Mon, 13 Jan 2025 16:12:34 +0800 Subject: [PATCH] Add `manual` option to the `external_cloud_provider` variable (#11883) * Add `manual` option in the `external_cloud_provider` value Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com> * Update external cloud provider description in roles & sample inventory Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com> --------- Signed-off-by: ChengHao Yang <17496418+tico88612@users.noreply.github.com> --- inventory/sample/group_vars/all/all.yml | 8 +++++--- .../kubernetes/preinstall/tasks/0040-verify-settings.yml | 2 +- roles/kubespray-defaults/defaults/main/main.yml | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/inventory/sample/group_vars/all/all.yml b/inventory/sample/group_vars/all/all.yml index 1a34ff7a6..afaf861cc 100644 --- a/inventory/sample/group_vars/all/all.yml +++ b/inventory/sample/group_vars/all/all.yml @@ -45,9 +45,11 @@ loadbalancer_apiserver_healthcheck_port: 8081 ## If set the possible values only 'external' after K8s v1.31. # cloud_provider: -## When cloud_provider is set to 'external', you can set the cloud controller to deploy -## Supported cloud controllers are: 'openstack', 'vsphere', 'huaweicloud' and 'hcloud' -## When openstack or vsphere are used make sure to source in the required fields +# External Cloud Controller Manager (Formerly known as cloud provider) +# cloud_provider must be "external", otherwise this setting is invalid. +# Supported external cloud controllers are: 'openstack', 'vsphere', 'oci', 'huaweicloud', 'hcloud' and 'manual' +# 'manual' does not install the cloud controller manager used by Kubespray. +# If you fill in a value other than the above, the check will fail. # external_cloud_provider: ## Set these proxy values in order to update package manager and docker daemon to use proxies and custom CA for https_proxy if needed diff --git a/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml b/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml index 24d1340d4..1913b8715 100644 --- a/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml +++ b/roles/kubernetes/preinstall/tasks/0040-verify-settings.yml @@ -185,7 +185,7 @@ - name: Check external_cloud_provider value assert: - that: external_cloud_provider in ['hcloud', 'huaweicloud', 'oci', 'openstack', 'vsphere'] + that: external_cloud_provider in ['hcloud', 'huaweicloud', 'oci', 'openstack', 'vsphere', 'manual'] when: - cloud_provider == 'external' - not ignore_assert_errors diff --git a/roles/kubespray-defaults/defaults/main/main.yml b/roles/kubespray-defaults/defaults/main/main.yml index 36e3ce60b..7c9d41380 100644 --- a/roles/kubespray-defaults/defaults/main/main.yml +++ b/roles/kubespray-defaults/defaults/main/main.yml @@ -285,7 +285,8 @@ kubelet_shutdown_grace_period_critical_pods: 20s cloud_provider: "" # External Cloud Controller Manager (Formerly known as cloud provider) # cloud_provider must be "external", otherwise this setting is invalid. -# Supported external cloud controllers are: 'openstack', 'vsphere', 'oci', 'huaweicloud' and 'hcloud' +# Supported external cloud controllers are: 'openstack', 'vsphere', 'oci', 'huaweicloud', 'hcloud' and 'manual' +# 'manual' does not install the cloud controller manager used by Kubespray. # If you fill in a value other than the above, the check will fail. external_cloud_provider: ""