创建registry-service.yaml 使用无Selector的Service + Endpoints模式
bash
vi registry-service.yaml
编辑以下内容
bash
apiVersion: v1
kind: Service
metadata:
name: registry-service
spec:
type: NodePort
ports:
- name: http
protocol: TCP
port: 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 # 外部服务IP
ports:
- name: http
port: 81 # 外部服务端口
protocol: TCP
代理的地址是10.160.10.103:81
bash
kubectl apply -f registry-service.yaml
kubectl get svc registry-service
kubectl get endpoints registry-service
bash
代理后的地址是10.160.10.103:32086,此时浏览器就可以访问了,很多因策略段不同,导致外部或者k8s集群内部无法访问,就先创建一个服务,然后就是可以进行内部互通啦。