Kubernetes Port Forward 机制访问 pod

 

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

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

 

一、安装kubectl

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

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

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

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

  

二、配置kubectl

须要获取配置文件:ide

1)通常部署的Kubernetes,会生成 $HOME/.kube/config,把该目录下的config文件,存放在Windows本地对应家目录C:\Users\admin\.kube下测试

 

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

 

 

3)而后cmd中查看集群spa

kubectl get node

说明配置kubectl成功。

 

三、建立测试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

 

四、设置转发端口

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

 

相关文章
相关标签/搜索