Port 10250 (TCP) is the standard for Kubernetes kubelet API. kubelet — agent on every K8s node. Port 10250 — secure API for controller-manager and kube-apiserver. 10255 — deprecated read-only port (removed in K8s 1.20+). Access to kube
Below: what uses this port, security considerations, online check, FAQ.
Free online tool — ping & port checker: instant results, no signup.
Kubernetes kubelet API
kubelet — agent on every K8s node. Port 10250 — secure API for controller-manager and kube-apiserver. 10255 — deprecated read-only port (removed in K8s 1.20+). Access to kubelet = pod exec = node takeover.
kubelet 10250 exposed without auth = critical vuln (Tesla hack 2018). Cilium/Calico network policies mandatory. Firewall inside cluster.
Enterno.io Ping + Port checker tests TCP reachability of any port from 3 regions (Moscow / Frankfurt / Virginia).
The Kubernetes Kubelet API, accessible via port 10250, serves as a crucial interface for communication between the kubelet and other Kubernetes components, such as the controller-manager and the kube-apiserver. This TCP port enables secure access to various management and operational functionalities of the kubelet, which is the primary agent that runs on each node in a Kubernetes cluster.
When a pod is created, the kubelet is responsible for ensuring that the containers are running and healthy. It reports the status of these containers back to the control plane, utilizing the Kubelet API over port 10250. This API allows for operations such as retrieving metrics, managing pod lifecycle, and executing commands within the containers.
Security is a critical aspect when dealing with the Kubelet API. It is recommended to restrict access to port 10250 to trusted sources only, as it can expose sensitive information about the cluster and its workloads.
Interacting with the Kubernetes Kubelet API over port 10250 can be accomplished using various command-line tools, such as curl or kubectl. Below are practical examples that demonstrate how to query the Kubelet API and manage pods:
To retrieve the status of the kubelet and its nodes, you can execute the following command:
curl -k https://:10250/pods To get detailed information about a specific pod, use:
curl -k https://:10250/pods// To execute a command inside a running container, leverage the API like this:
curl -k -X POST https://:10250/pods///exec?command=&stdout=true&stderr=true Make sure to replace <NODE_IP>, <NAMESPACE>, <POD_NAME>, and <COMMAND> with your specific values. Note that authentication and proper certificates will be required to successfully communicate with the kubelet API.
Securing access to port 10250 is paramount to protect your Kubernetes cluster from unauthorized access and potential vulnerabilities. Below are essential considerations and best practices to enhance the security of the Kubelet API:
By adhering to these security measures, you can significantly reduce the risk of exposing critical components of your Kubernetes cluster and maintain a secure operational environment.
No, modern cloud providers (AWS, Google Cloud, Yandex) close all incoming ports by default. You must explicitly allow port 10250 in a Security Group or firewall.
Use Enterno Ping + Port Checker. Or in shell: nc -vz example.com 10250.
Depends on the service. Kubernetes kubelet API should never be exposed publicly without authentication + TLS. See our 2026 exposure research.
Free plan — 10 monitors, checks every 5 min, no card required. Upgrade for 1-minute interval and multi-region monitoring.