Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Call out the use of Flannel and Service IP subnets/CIDR ranges #1019

Merged
merged 4 commits into from
Feb 22, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 35 additions & 2 deletions src/markdown-pages/install-with-kurl/system-requirements.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#### 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.

#### 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.

#### 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 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: "<your custom subnet>"
flannel:
podCIDR: "<your custom subnet>"
```

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

The following domains need to be accessible from servers performing online kURL installs.
Expand Down
Loading