1. 程式人生 > 實用技巧 >k8s endpoints k8s未配置選擇器的service

k8s endpoints k8s未配置選擇器的service

service 其實是一個TCP/UDP 代理
不僅可以代理Pod也可以代理其他的非Pod資源,例如外網的資料庫,或者其他的資源

建立未配置選擇器的service, service 的對外埠是50000,預設型別是ClusterIP

apiVersion: v1
kind: Service
metadata:
  name: mynoselector-service
spec:
  ports:
  - protocol: TCP
    port: 50000

沒有配置選擇器的service ,endpoints為空
可以給這個service 新增或修改 endpoint

apiVersion: v1
kind: Endpoints
metadata:
  name: mynoselector-service
subsets:
  - addresses:
    - ip: 13.75.107.151
    ports:
    - port: 3306

注意: endpoints的metadata.name 和 service 的metadata.name 需要保持一直,否則無法關聯,本事例的是mynoselector-service
通過kubectl get svc 檢視新建service 的IP
例如svc的IP是10.105.69.186,可以通過IP 10.105.69.186 代理到外網的IP 13.75.107.151

docker run -it --rm mysql:5.7 mysql -h10.105.69.186 -uroot -P50000 -p

通過 kubectl get endpoints可以看到剛才新加到service上的endpoints設定