Kubernetes Port Forward 机制访问 pod


 

需求:研发需要调试部署的pod是否能正常提供访问,但又不对pod进行暴露到集群外。

实现:通过Kubernetes的Port Forward机制对本机端口映射到pod端口来实现

 

一、单集群配置

1、安装kubectl

官网下载页面:https://kubernetes.io/docs/tasks/tools/install-kubectl/

下载对应Kubernetes 相同版本的kubectl:

https://storage.googleapis.com/kubernetes-release/release/v1.14.1/bin/windows/amd64/kubectl.exe

 把下载的kubectl.exe文件存放在C:\k8s\bin目录下,并把该目录添加到PATH中(步骤略)

  

2、配置kubectl

1)需要获取配置文件:

a、一般部署的Kubernetes,会生成 $HOME/.kube/config,把该目录下的config文件,存放在Windows本地对应家目录C:\Users\admin\.kube下

 

 b、如果rancher部署的,可在集群首页查看配置文件,复制下来也存放在账号的家目录

 

 

2)然后cmd中查看集群

kubectl get node

说明配置kubectl成功。

 

3、设置转发端口

1)把本地3080端口转发到容器的80端口

kubectl port-forward my-nginx-6d7ddd766f-4fxxc 3080:80

Forwarding from 127.0.0.1:3080 -> 80
Forwarding from [::1]:3080 -> 80

输出如上,说明转发成功。如果是部署在其他namespace上,需要用 -n 指定namespace。该窗口不能关闭。

 

2)本地浏览器访问

127.0.0.1:3080

 

二、多集群配置

如果是多个集群(测试、正式、CI/CD等环境),有两种方式进行配置。

1、指定kubeconfig文件

将多个集群的 config 文件都存放在 .kube 文件夹中,命令指定文件绝对路径。

kubectl --kubeconfig="C:\Users\admin\.kube\dev-config" get pod --all-namespaces

 

2、指定 context

把所有的集群文件合并为一个文件config。

apiVersion: v1
kind: Config
clusters:
- name: "production"
  cluster:
    server: "https://rancher.wmq.com/k8s/clusters/c-xaw"
- name: "develop"
  cluster:
    server: "https://rancher.wmq.com/k8s/clusters/c-xaq"

users:
- name: "u-42lyr7ytst"
  user:
    token: "kubeconfig-u-42lyr7ytst.c-x497w:756z5v8s84cch4444kx33333395zg4klxwtaaabqrg"
- name: "u-42lyr7ytst_dev"
  user:
    token: "kubeconfig-u-42lyr7ytst.c-xg99q:6sm7hhdlfx44449c4rs3333333333g3vzcjdjcaaazzq"

contexts:
- name: "prod"
  context:
    user: "u-42lyr7ytst"
    cluster: "production"
- name: "dev"
  context:
    user: "u-42lyr7ytst_dev"
    cluster: "develop"

current-context: "dev"

执行下面命令即可

kubectl --context dev get pod --all-namespaces

 

 三、gui软件

如果觉得上面步骤很麻烦,这里推荐一个开源的gui软件:Kube Forwarder;支持多集群,只需要简单的导入各个集群的 kubeconfig 文件即可,很方便使用。

如下图:

 

 

 

 

 

 

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM