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)一般部署的Kubernetes,会生成 $HOME/.kube/config,把该目录下的config文件,存放在Windows本地对应家目录C:\Users\admin\.kube下

 

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

 

 

3)然后cmd中查看集群

kubectl get node

说明配置kubectl成功。

 

3、创建测试pod

先创建一个nginx,指定端口为80

cat > my-nginx.yaml <<EOF

apiVersion: apps/v1

kind: Deployment

metadata:

  name: my-nginx

spec:

  replicas: 1

  selector:

    matchLabels:

      k8s-app: my-nginx

  template:

    metadata:

      labels:

        k8s-app: my-nginx

    spec:

      containers:

      - name: my-nginx

        image: nginx:1.9

        ports:

        - containerPort: 80

EOF

#创建pod

kubectl create -f my-nginx.yaml

 

#查看pod名字信息

kubectl get svc,pod -o wide

 

4、设置转发端口

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

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/weavepub/p/10945189.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值