From f7f0acc685ddb3596fc63aaa1a4ef7e6ce8f8f97 Mon Sep 17 00:00:00 2001 From: ada mancini Date: Thu, 22 Feb 2024 12:23:07 -0500 Subject: [PATCH 1/4] Call out the use of Flannel and Service IP subnets/CIDR ranges --- .../install-with-kurl/system-requirements.md | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/markdown-pages/install-with-kurl/system-requirements.md b/src/markdown-pages/install-with-kurl/system-requirements.md index 9f6278f1..9b09c4a4 100644 --- a/src/markdown-pages/install-with-kurl/system-requirements.md +++ b/src/markdown-pages/install-with-kurl/system-requirements.md @@ -73,16 +73,49 @@ This configuration should be established **prior to the installation**. It's imp ### Hostnames, DNS, and IP Address -The fully-qualified domain name (FQDN) of any host used with kURL must be a valid DNS subdomain name, and its name must be resolvable by DNS. +#### 1. All hosts in the cluster must have valid DNS records and hostnames. + +The fully-qualified domain name (FQDN) of any host used with kURL **must** be a valid DNS subdomain name, and its name records **must** be resolvable by DNS. + +A valid DNS name must: +- contain no more than 253 characters +- contain only lowercase alphanumeric characters, '-' or '.' +- start with an alphanumeric character +- end with an alphanumeric character + For more information, see [DNS Subdomain Names](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) in the Kubernetes documentation. -After a host is added to a Kubernetes cluster, Kubernetes assumes that the hostname and IP address of the host will not change. + +#### 2. All hosts in the cluster must have static IP address assignments. + +After a host is added to a Kubernetes cluster, Kubernetes assumes that the hostname and IP address of the host **will not change.** If you need to change the hostname or IP address of a node, you must first remove the node from the cluster. To change the hostname or IP address of a node in clusters that do not have three or more nodes, use snapshots to move the application to a new cluster before you attempt to remove the node. For more information about using snapshots, see [Velero Add-on](/add-ons/velero). For more information about the requirements for naming nodes, see [Node naming uniqueness](https://kubernetes.io/docs/concepts/architecture/nodes/#node-name-uniqueness) in the Kubernetes documentation. +#### 3. All hosts in the cluster must not occupy Kubernetes Pod or Service CIDR ranges + +Kubernetes also requires exclusive use of two IP subnets (also known as CIDR ranges) for Pod-to-Pod traffic within the cluster. These subnets *must not* overlap with the subnets used in your local network or else routing errors will result. + +| Subnet | Description | +|--------------|-------------------------------------| +| 10.96.0.0/16 | Kubernetes Service IPs | +| 10.32.0.0/20 | [Flannel CNI Pod IPs](https://kurl.sh/docs/add-ons/flannel#custom-pod-subnet) | +| 10.10.0.0/16 | [Weave CNI (deprecated) Pod IPs](https://kurl.sh/docs/add-ons/weave#advanced-install-options) | + +These ranges can be customized by setting the appropriate add-on options directly in a kURL spec: +```yaml +spec: + kubernetes: + serviceCIDR: "" + flannel: + podCIDR: "" +``` + +or via a [patch file](https://kurl.sh/docs/install-with-kurl/#select-examples-of-using-a-patch-yaml-file) + ### Firewall Openings for Online Installations The following domains need to be accessible from servers performing online kURL installs. From ec3e6fa2ab5f3baf4d054e31bed887a0daa9e9b4 Mon Sep 17 00:00:00 2001 From: ada mancini Date: Thu, 22 Feb 2024 12:36:54 -0500 Subject: [PATCH 2/4] Update system-requirements.md --- src/markdown-pages/install-with-kurl/system-requirements.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/markdown-pages/install-with-kurl/system-requirements.md b/src/markdown-pages/install-with-kurl/system-requirements.md index 9b09c4a4..cf2a8d67 100644 --- a/src/markdown-pages/install-with-kurl/system-requirements.md +++ b/src/markdown-pages/install-with-kurl/system-requirements.md @@ -73,7 +73,7 @@ This configuration should be established **prior to the installation**. It's imp ### Hostnames, DNS, and IP Address -#### 1. All hosts in the cluster must have valid DNS records and hostnames. +#### All hosts in the cluster must have valid DNS records and hostnames The fully-qualified domain name (FQDN) of any host used with kURL **must** be a valid DNS subdomain name, and its name records **must** be resolvable by DNS. @@ -86,7 +86,7 @@ A valid DNS name must: For more information, see [DNS Subdomain Names](https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-subdomain-names) in the Kubernetes documentation. -#### 2. All hosts in the cluster must have static IP address assignments. +#### All hosts in the cluster must have static IP address assignments After a host is added to a Kubernetes cluster, Kubernetes assumes that the hostname and IP address of the host **will not change.** If you need to change the hostname or IP address of a node, you must first remove the node from the cluster. @@ -95,7 +95,7 @@ To change the hostname or IP address of a node in clusters that do not have thre For more information about the requirements for naming nodes, see [Node naming uniqueness](https://kubernetes.io/docs/concepts/architecture/nodes/#node-name-uniqueness) in the Kubernetes documentation. -#### 3. All hosts in the cluster must not occupy Kubernetes Pod or Service CIDR ranges +#### All hosts in the cluster must not occupy Kubernetes Pod or Service CIDR ranges Kubernetes also requires exclusive use of two IP subnets (also known as CIDR ranges) for Pod-to-Pod traffic within the cluster. These subnets *must not* overlap with the subnets used in your local network or else routing errors will result. From 38d71b21ce02e6c98353b212946e430ac36c0688 Mon Sep 17 00:00:00 2001 From: ada mancini Date: Thu, 22 Feb 2024 12:37:23 -0500 Subject: [PATCH 3/4] Update system-requirements.md --- src/markdown-pages/install-with-kurl/system-requirements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/markdown-pages/install-with-kurl/system-requirements.md b/src/markdown-pages/install-with-kurl/system-requirements.md index cf2a8d67..83ea2374 100644 --- a/src/markdown-pages/install-with-kurl/system-requirements.md +++ b/src/markdown-pages/install-with-kurl/system-requirements.md @@ -97,7 +97,7 @@ For more information about the requirements for naming nodes, see [Node naming u #### All hosts in the cluster must not occupy Kubernetes Pod or Service CIDR ranges -Kubernetes also requires exclusive use of two IP subnets (also known as CIDR ranges) for Pod-to-Pod traffic within the cluster. These subnets *must not* overlap with the subnets used in your local network or else routing errors will result. +Kubernetes also requires exclusive use of two IP subnets (also known as CIDR ranges) for Pod-to-Pod traffic within the cluster. These subnets **must not** overlap with the subnets used in your local network or else routing errors will result. | Subnet | Description | |--------------|-------------------------------------| From c69eaa18632a537545f383ecc5532affb0b0028e Mon Sep 17 00:00:00 2001 From: Paige Calvert Date: Thu, 22 Feb 2024 12:47:11 -0700 Subject: [PATCH 4/4] docs edits --- src/markdown-pages/install-with-kurl/system-requirements.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/markdown-pages/install-with-kurl/system-requirements.md b/src/markdown-pages/install-with-kurl/system-requirements.md index 83ea2374..380b7c88 100644 --- a/src/markdown-pages/install-with-kurl/system-requirements.md +++ b/src/markdown-pages/install-with-kurl/system-requirements.md @@ -97,7 +97,7 @@ For more information about the requirements for naming nodes, see [Node naming u #### All hosts in the cluster must not occupy Kubernetes Pod or Service CIDR ranges -Kubernetes also requires exclusive use of two IP subnets (also known as CIDR ranges) for Pod-to-Pod traffic within the cluster. These subnets **must not** overlap with the subnets used in your local network or else routing errors will result. +Kubernetes also requires exclusive use of two IP subnets (also known as CIDR ranges) for Pod-to-Pod traffic within the cluster. These subnets **must not** overlap with the subnets used in your local network or routing errors will result. | Subnet | Description | |--------------|-------------------------------------| @@ -114,7 +114,7 @@ spec: podCIDR: "" ``` -or via a [patch file](https://kurl.sh/docs/install-with-kurl/#select-examples-of-using-a-patch-yaml-file) +Alternatively, the ranges can be customized with a [patch file](https://kurl.sh/docs/install-with-kurl/#select-examples-of-using-a-patch-yaml-file). ### Firewall Openings for Online Installations