To operate properly, Kubespray requires some ports to be opened. If the network is configured with firewall rules, it is needed to ensure infrastructure components can communicate with each other through specific ports.
Ensure the following ports required by Kubespray are open on the network and configured to allow access between hosts. Some ports are optional depending on the configuration and usage.
## Kubernetes
### Control plane
| Protocol | Port | Description |
|----------|--------| ------------ |
| TCP | 22 | ssh for ansible |
| TCP | 2379 | etcd client port|
| TCP | 2380 | etcd peer port |
| TCP | 6443 | kubernetes api |
| TCP | 10250 | kubelet api |
| TCP | 10257 | kube-scheduler |
| TCP | 10259 | kube-controller-manager |
### Worker node(s)
| Protocol | Port | Description |
|----------|-------- | ------------ |
| TCP | 22 | ssh for ansible |
| TCP | 10250 | kubelet api |
| TCP | 30000-32767| kube nodePort range |
refers to: [Kubernetes Docs](https://kubernetes.io/docs/reference/networking/ports-and-protocols/)