• 本页内容

port-forward 代理


port-forward 允许对集群中的资源进行代理。

警告:代理只适用于临时调试,生产环境暴露会有安全风险,调试完应及时关闭。

代理一个 pod。

kubectl port-forward pods/webapp-74f46758bc-9c6v7 3000:80 -n default

允许 pod 被任何地址的任何客户端访问。

kubectl port-forward webapp-74f46758bc-9c6v7 --address='0.0.0.0' --accept-hosts='^*$' 3000:80 -n default

代理 deployment。

kubectl port-forward deployment/webapp 3000:80 -n default

代理 rs。

kubectl port-forward replicaset/webapp-74f46758bc 3000:80 -n default

代理 servcie。

kubectl port-forward service/webapp-svc 3000:80 -n default

注意

代理的权限是借用 kubectl 命令所具有的权限,因此慎重使用。以下是支持代理的一个最小权限举例。

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  namespace: my-namespace
  name: allow-port-forward
rules:
- apiGroups: [""]
  resources: ["pods", "pods/portforward"]
  verbs: ["get", "list", "create"]