微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

 

 

 

 

 

 

 

 

 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐