需求:需要调试部署的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
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] 举报,一经查实,本站将立刻删除。