From 5406a808f2be9e10143368bbda2bd926e7b8d80a Mon Sep 17 00:00:00 2001 From: Ivan Sim Date: Mon, 13 Jan 2025 11:46:36 -0800 Subject: [PATCH 1/4] doc: update iso installation page with new cluster cidr and dhcp settings Signed-off-by: Ivan Sim --- docs/install/harvester-configuration.md | 46 ++++++++++++++++++ docs/install/iso-install.md | 18 ++++++- .../img/v1.5/install/config-cluster-cidrs.png | Bin 0 -> 5196 bytes static/img/v1.5/install/config-virtual-ip.png | Bin 0 -> 4277 bytes 4 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 static/img/v1.5/install/config-cluster-cidrs.png create mode 100644 static/img/v1.5/install/config-virtual-ip.png diff --git a/docs/install/harvester-configuration.md b/docs/install/harvester-configuration.md index 5e1c5f61e5..2cc35dc7a5 100644 --- a/docs/install/harvester-configuration.md +++ b/docs/install/harvester-configuration.md @@ -73,6 +73,9 @@ install: vip: 10.10.0.19 vip_hw_addr: 52:54:00:ec:0e:0b vip_mode: dhcp + cluster_pod_cidr: 172.16.0.0/16 + cluster_service_cidr: 172.22.0.0/16 + cluster_dns_ip: 172.22.0.10 force_mbr: false addons: harvester_vm_import_controller: @@ -728,6 +731,49 @@ install: vip_hw_addr: 52:54:00:ec:0e:0b ``` +### `install.cluster_pod_cidr` + +**Definition**: CIDR of the Harvester pods. + +Use this field to override the default pod CIDR of 10.52.0.0/16. + +**Example**: + +```yaml +install: + cluster_pod_cidr: 172.16.0.0/16 +``` + +### `install.cluster_service_cidr` + +**Definition**: CIDR of the Harvester services. + +Use this field to override the default service CIDR of 10.53.0.0/16. + +If this CIDR is changed, the cluster DNS IP must be within this range. See the `install.cluster_dns` field. + +**Example**: + +```yaml +install: + cluster_service_cidr: 172.22.0.0/16 +``` + +### `install.cluster_dns` + +**Definition**: IP of the Harvester DNS service. + +Use this field to override the default DNS service IP of 10.53.0.10. + +This IP must be within the range defined by the `cluster_service_cidr` field. + +**Example**: + +```yaml +install: + cluster_dns: 172.16.0.10 +``` + ### `install.webhooks` **Definition**: Webhooks that allow you to receive notifications for certain installer-related events. diff --git a/docs/install/iso-install.md b/docs/install/iso-install.md index 3f64d1cebb..211631f75a 100644 --- a/docs/install/iso-install.md +++ b/docs/install/iso-install.md @@ -87,6 +87,20 @@ The following [video](https://youtu.be/X0VIGZ_lExQ) shows a quick overview of an For more information, see [DHCP Server Configuration](./pxe-boot-install.md#dhcp-server-configuration). ::: +1. (Optional) Configure the CIDRs for the cluster pods and services. Leave these fields blank to use the default CIDRs. + + ![config-cluster-cidrs.png](/img/v1.5/install/config-cluster-cidrs.png) + + The following is an example of a valid CIDR configuration: + + * Pod CIDR: 172.16.0.0/16 + * Service CIDR: 172.22.0.0/16 + * Cluster DNS IP: 172.22.0.10 + + :::note + The pod CIDR and service CIDR must not overlap. The DNS service IP must be within the service CIDR. + ::: + 1. (Optional) Configure the `DNS Servers`. Use commas as a delimiter to add more DNS servers. Leave it blank to use the default DNS server. ![config-dns-server.png](/img/v1.2/install/config-dns-server.png) @@ -94,10 +108,10 @@ The following [video](https://youtu.be/X0VIGZ_lExQ) shows a quick overview of an 1. Configure the virtual IP (VIP) by selecting a `VIP Mode`. This VIP is used to access the cluster or for other nodes to join the cluster. :::note - If using DHCP to configure the IP address, you need to configure a static MAC-to-IP address mapping on your DHCP server to have a persistent virtual IP (VIP), and the VIP must be unique. + For DHCP setup with static MAC-to-IP address mappings configured, enter the MAC address in the provided field to fetch the unique persistent virtual IP (VIP). Otherwise, leave it blank. ::: - ![config-virtual-ip.png](/img/v1.2/install/config-virtual-ip.png) + ![config-virtual-ip.png](/img/v1.5/install/config-virtual-ip.png) 1. Configure the `Cluster token`. This token is used for adding other nodes to the cluster. diff --git a/static/img/v1.5/install/config-cluster-cidrs.png b/static/img/v1.5/install/config-cluster-cidrs.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed485b750603e32c2d9ce6a283af0502a0a2e6c GIT binary patch literal 5196 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 HrSJX$u|TT| literal 0 HcmV?d00001 diff --git a/static/img/v1.5/install/config-virtual-ip.png b/static/img/v1.5/install/config-virtual-ip.png new file mode 100644 index 0000000000000000000000000000000000000000..fdfe26a8523a802a5e50ed39761a30138b2409ff GIT binary patch literal 4277 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 literal 0 HcmV?d00001 From 4de0e065dc663d1a9aae01930fb16e4c39deacb5 Mon Sep 17 00:00:00 2001 From: Ivan Sim Date: Tue, 14 Jan 2025 11:53:59 -0800 Subject: [PATCH 2/4] Use default CIDRs in example config Signed-off-by: Ivan Sim --- docs/install/harvester-configuration.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/install/harvester-configuration.md b/docs/install/harvester-configuration.md index 2cc35dc7a5..9e89730d1e 100644 --- a/docs/install/harvester-configuration.md +++ b/docs/install/harvester-configuration.md @@ -73,9 +73,9 @@ install: vip: 10.10.0.19 vip_hw_addr: 52:54:00:ec:0e:0b vip_mode: dhcp - cluster_pod_cidr: 172.16.0.0/16 - cluster_service_cidr: 172.22.0.0/16 - cluster_dns_ip: 172.22.0.10 + cluster_pod_cidr: 10.52.0.0/16 + cluster_service_cidr: 10.53.0.0/16 + cluster_dns_ip: 10.53.0.10 force_mbr: false addons: harvester_vm_import_controller: From 99a2455f32ad0b21de0e09788fa12529a3551fc1 Mon Sep 17 00:00:00 2001 From: Ivan Sim Date: Tue, 14 Jan 2025 12:46:40 -0800 Subject: [PATCH 3/4] Include permitted private ranges for the pod and service CIDRs Signed-off-by: Ivan Sim --- docs/install/iso-install.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/install/iso-install.md b/docs/install/iso-install.md index 211631f75a..73a24e78f5 100644 --- a/docs/install/iso-install.md +++ b/docs/install/iso-install.md @@ -98,7 +98,11 @@ The following [video](https://youtu.be/X0VIGZ_lExQ) shows a quick overview of an * Cluster DNS IP: 172.22.0.10 :::note - The pod CIDR and service CIDR must not overlap. The DNS service IP must be within the service CIDR. + The pod CIDR and service CIDR must not overlap. + + The CIDRs must be within the private IP address range of either 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16. + + The DNS service IP must be within the service CIDR. ::: 1. (Optional) Configure the `DNS Servers`. Use commas as a delimiter to add more DNS servers. Leave it blank to use the default DNS server. From 4339e8e7bc1a61337ca526082b8476ab631131ff Mon Sep 17 00:00:00 2001 From: Ivan Sim <1330522+ihcsim@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:32:52 -0800 Subject: [PATCH 4/4] Address review feedback Co-authored-by: Jillian <67180770+jillian-maroket@users.noreply.github.com> --- docs/install/harvester-configuration.md | 10 +++++++++- docs/install/iso-install.md | 26 +++++++++++++------------ 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/docs/install/harvester-configuration.md b/docs/install/harvester-configuration.md index 9e89730d1e..3c4375ad68 100644 --- a/docs/install/harvester-configuration.md +++ b/docs/install/harvester-configuration.md @@ -750,7 +750,11 @@ install: Use this field to override the default service CIDR of 10.53.0.0/16. -If this CIDR is changed, the cluster DNS IP must be within this range. See the `install.cluster_dns` field. +:::info important + +If you change this CIDR, you must ensure that the cluster DNS IP (`install.cluster_dns`) is within this range. + +::: **Example**: @@ -765,8 +769,12 @@ install: Use this field to override the default DNS service IP of 10.53.0.10. +:::info important + This IP must be within the range defined by the `cluster_service_cidr` field. +::: + **Example**: ```yaml diff --git a/docs/install/iso-install.md b/docs/install/iso-install.md index 73a24e78f5..7c55ba2a60 100644 --- a/docs/install/iso-install.md +++ b/docs/install/iso-install.md @@ -87,23 +87,25 @@ The following [video](https://youtu.be/X0VIGZ_lExQ) shows a quick overview of an For more information, see [DHCP Server Configuration](./pxe-boot-install.md#dhcp-server-configuration). ::: -1. (Optional) Configure the CIDRs for the cluster pods and services. Leave these fields blank to use the default CIDRs. +1. (Optional) Configure the CIDRs for the cluster pods and services. - ![config-cluster-cidrs.png](/img/v1.5/install/config-cluster-cidrs.png) + If you want to use the default values, leave the fields blank. - The following is an example of a valid CIDR configuration: + ![config-cluster-cidrs.png](/img/v1.5/install/config-cluster-cidrs.png) - * Pod CIDR: 172.16.0.0/16 - * Service CIDR: 172.22.0.0/16 - * Cluster DNS IP: 172.22.0.10 + :::info important + + The CIDR values must not overlap and must be within the private IP address range of 10.0.0.0/8, 172.16.0.0/12, or 192.168.0.0/16. - :::note - The pod CIDR and service CIDR must not overlap. - - The CIDRs must be within the private IP address range of either 10.0.0.0/8, 172.16.0.0/12 or 192.168.0.0/16. + The DNS service IP must be within the range defined by the **Service CIDR** field. + + ::: + + Example of a valid CIDR configuration: - The DNS service IP must be within the service CIDR. - ::: + - **Pod CIDR**: 172.16.0.0/16 + - **Service CIDR**: 172.22.0.0/16 + - **Cluster DNS IP**: 172.22.0.10 1. (Optional) Configure the `DNS Servers`. Use commas as a delimiter to add more DNS servers. Leave it blank to use the default DNS server.