Port 6443 is the default Kubernetes API server HTTPS port. All kubectl commands, operators, controllers, and admission webhooks communicate through this port. Managed Kubernetes (EKS, GKE, AKS) expose port 6443 to authorized clients. The API server requires mutual TLS authentication – kubeconfig files contain the certificates for access.
Port Number
6443
Protocol
TCP
Service
Kubernetes API Server HTTPS
Range
IANA Registered (1024–49151)
Verify API server endpoint and health
kubectl cluster-infoTest API server authentication from within a pod
curl -sk https://localhost:6443/api/v1 --header 'Authorization: Bearer $(cat /var/run/secrets/kubernetes.io/serviceaccount/token)'Check what anonymous users can do (should be nothing or very limited)
kubectl auth can-i --list --as=system:anonymousFind ClusterRoleBindings granting access to unauthenticated users
kubectl get clusterrolebindings -o json | jq '.items[] | select(.subjects[]?.name=="system:unauthenticated") | .metadata.name'kubectl cluster-info
curl -k https://APISERVER:6443/api/v1/namespaces
kubectl config view --raw | grep serverKubernetes API server has used port 6443 since early Kubernetes versions (2014). The port was chosen as a common HTTPS alternate (many load balancers use 443, leaving 6443 for the actual service). Before RBAC (added in 1.6, stable in 1.8), Kubernetes used ABAC policies which were error-prone. EKS (2018), GKE (2015), and AKS (2018) manage the control plane, eliminating most operator mistakes around API server exposure.
Should my Kubernetes API be publicly accessible?
For production: prefer private endpoint (EKS: endpointPublicAccess=false, endpointPrivateAccess=true) + VPN/bastion for admin access. If public is needed (CI/CD without VPN), restrict to specific CIDR ranges. Never leave 6443 open to 0.0.0.0/0. Even with RBAC, exposed API servers face brute-force token attacks and zero-day exploits.
How do I audit who is accessing my API server?
Enable audit logging: --audit-log-path and --audit-policy-file in kube-apiserver args. Use a policy that logs RequestReceived at Metadata level and ResponseComplete at Request level for sensitive resources (secrets, roles, bindings). Send audit logs to a SIEM. In EKS: enable control plane logging for 'audit' log type in cluster configuration.