kubectl port-forward

一:简介
kubectl port-forward 通过端口转发映射本地端口到指定的应用端口,从而访问集群中的应用程序(Pod).

二:举例

1.创建一个 Pod 来运行 Redis 服务器

a.创建一个 Pod:

点击(此处)折叠或打开

  1. kubectl create -f https://k8s.io/docs/tasks/access-application-cluster/redis-master.yaml
命令运行成功后将有以下输出验证该 Pod 是否已经创建:

点击(此处)折叠或打开

  1. pod "redis-master" created
b.检查 Pod 是否正在运行且处于就绪状态:

点击(此处)折叠或打开

  1. kubectl get pods
当 Pod 就绪,输出显示 Running 的状态:

点击(此处)折叠或打开

  1. NAME READY STATUS RESTARTS AGE
  2.  redis-master 2/2 Running 0 41s
c.验证 Redis 服务器是否已在 Pod 中运行,并监听 6379 端口:

点击(此处)折叠或打开

  1. kubectl get pods redis-master --template='{{(index (index .spec.containers 0).ports 0).containerPort}}{{" "}}'
端口输出:6379

2.将本地端口转发到 Pod 中的端口

a.将本地工作站上的 6379 端口转发到 redis-master pod 的 6379 端口:

点击(此处)折叠或打开

  1. kubectl port-forward redis-master 6379:6379
输出类似于:

点击(此处)折叠或打开

  1. I0710 14:43:38.274550 3655 portforward.go:225] Forwarding from 127.0.0.1:6379 -> 6379
  2.  I0710 14:43:38.274797 3655 portforward.go:225] Forwarding from [::1]:6379 -> 6379
b.启动 Redis 命令行界面
redis-cli
c.在 Redis 命令行提示符下,输入 ping 命令:
127.0.0.1:6379>ping
Ping 请求成功返回 PONG。

三:总结
创建连接,将本地的 6379 端口转发到运行在 Pod 中的 Redis 服务器的 6379 端口。有了这个连接您就可以在本地工作站中调试运行在 Pod 中的数据库。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28624388/viewspace-2156435/,如需转载,请注明出处,否则将追究法律责任。

原文地址:https://www.cnblogs.com/cheyunhua/p/14216735.html