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

 

相關文章
相關標籤/搜索