使用k8s服务进行端口代理
创建registry-service.yaml 使用无Selector的Service + Endpoints模式
vi registry-service.yaml
编辑以下内容
apiVersion: v1
kind: Service
metadata:name: registry-service
spec:type: NodePortports:- name: httpprotocol: TCPport: 81 # Service内部端口targetPort: 81 # 必须与Endpoints端口一致nodePort: 32086 # 外部访问端口(30000-32767)
---
apiVersion: v1
kind: Endpoints
metadata:name: registry-service # 必须与Service同名
subsets:- addresses:- ip: 10.160.10.103 # 外部服务IPports:- name: httpport: 81 # 外部服务端口protocol: TCP
代理的地址是10.160.10.103:81
kubectl apply -f registry-service.yaml
kubectl get svc registry-service
kubectl get endpoints registry-service
代理后的地址是10.160.10.103:32086,此时浏览器就可以访问了,很多因策略段不同,导致外部或者k8s集群内部无法访问,就先创建一个服务,然后就是可以进行内部互通啦。