kubectl port-forward

将本地端口转发到 Pod 或 Service,用于本地调试

语法

kubectl port-forward <resource> <local-port>:<remote-port> [flags]

参数

参数说明示例级别
--address 监听地址(默认 127.0.0.1) kubectl port-forward pod/web --address 0.0.0.0 8080:80 进阶
-n --namespace 指定命名空间 kubectl port-forward svc/web -n production 8080:80 常用

示例

转发 Pod 端口

kubectl port-forward pod/web-app-6f7b8c9d-k2m4n 8080:80
本地 8080 映射到 Pod 的 80 端口

转发 Service 端口

kubectl port-forward svc/my-service 3000:80
通过 Service 转发,自动选择后端 Pod

访问集群内数据库

kubectl port-forward svc/mysql 3306:3306
本地客户端直接连接集群内的 MySQL

监听所有网卡

kubectl port-forward --address 0.0.0.0 svc/web 8080:80
允许局域网其他机器访问(开发环境)

常见错误

unable to forward port: pod is not running 目标 Pod 不在 Running 状态,检查 Pod 状态
address already in use 本地端口被占用,换一个端口或关闭占用进程

技巧

相关命令