应用场景
只要 pod 在 kubernetes 里面拉起来,就可以在本地终端快速调试应用,注意此方法只适合开发调试,长久使用在生产环境不推荐
使用命令
kubectl port-forward 资源名 本地端口:容器端口
转发原理
本地端口建立的连接将被转发到运行应用 Pod 的容器端口。 通过此连接,你可以在本地终端来快速调试在 Pod 中运行的应用
应用配置
apiVersion: apps/v1
kind: Deployment
metadata:name: my-demo-app
spec:replicas: 1selector:matchLabels:app: my-demo-apptemplate:metadata:labels:app: my-demo-appspec:containers:- name: my-demo-appimage: demo_app:v1imagePullPolicy: IfNotPresentports:- containerPort: 9999
apiVersion: v1
kind: Service
metadata:name: my-demo-app
spec:selector:app: my-demo-appports:- protocol: TCPport: 9999targetPort: 9999type: ClusterIP
使用命令
# Pod 层面
kubectl port-forward my-demo-app-5d7d96c594-57pzw 8888:9999
kubectl port-forward pods/my-demo-app-5d7d96c594-57pzw 8888:9999
kubectl port-forward deployment/my-demo-app 8888:9999
kubectl port-forward replicaset/my-demo-app 8888:9999# Service 层面
kubectl port-forward service/my-demo-app 8888:9999# 让 kubectl 帮你选择随机端口,避免端口冲突
kubectl port-forward my-demo-app-5d7d96c594-57pzw :9999