kubernetes-sigs / kubernetes-sigs/cluster-api

Add strict validation for CIDR ranges in the Cluster webhook

Open
#7,538 11 comments 0 reactions 1 assignee Claimed by @viveksyngh View on GitHub
area/api help wanted kind/api-change kind/feature priority/backlog triage/accepted
Dominant language
Go
Stars
4.3k
Forks
1.6k
Avg merge
1d 3h
Merged PRs (30d)
113

Description

Add a check in the Cluster webhook to ensure each CIDR block only contains valid CIDR blocks with the following rules:

1. No more than two CIDR blocks are specified under Pods or Services
2. If two are specified the blocks need to be from different IP families i.e. one IPv4 and one IPv6
3. The IPFamily for pods and services must be compatible
4. The CIDR ranges are valid CIDR ranges

This change ensures Clusters can not be created or updated with invalid CIDR blocks. This is the value that the Kubernetes control plane components take - e.g. the kube-apiserver flag `--service-cluster-ip-range` is documented:

> A CIDR notation IP range from which to assign service cluster IPs. This must not overlap with any IP ranges assigned to nodes or pods. Max of two dual-stack CIDRs is allowed.

Related to: https://github.com/kubernetes-sigs/cluster-api/pull/7420

/kind feature
/area api
/kind api-change

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.