mapping-external-services.md --------------------------------------------------------- ``` @version 180807:1 @author zhangxuhong ``` Name ---- mapping-external-services - 映射外部服务. Table of Contents ----------------- * [Name](#name) * [Reference 参考文档](#reference) Reference 参考文档 ------------------ * [https://cloudplatform.googleblog.com/2018/05/Kubernetes-best-practices-mapping-external-services.html](https://cloudplatform.googleblog.com/2018/05/Kubernetes-best-practices-mapping-external-services.html) * [ClusterIP和NodePort的区别](https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0) case ---- 有的时候我们要访问 kubernetes 集群外部的服务. 这些服务可能是没来得及迁移到集群里面的, 或者第三方的, 或者是托管的数据库. 因此便有了映射外部服务的场景. method ------ - 映射外部IP和端口 - service ``` kind: Service apiVersion: v1 metadata: name: mongo labels: name: mongo role: proxy pl: cpp application: mongo version: 16.03 division: infrastructure Spec: type: ClusterIP ports: - port: 27017 targetPort: 27017 ``` - endpoints ``` kind: Endpoints apiVersion: v1 metadata: name: mongo labels: name: mongo role: proxy pl: cpp application: mongo version: 16.03 division: infrastructure subsets: - addresses: - ip: 192.168.0.203 ports: - port: 27017 ``` - 映射外部URI - service ``` kind: Service apiVersion: v1 metadata: name: mongo labels: name: mongo role: proxy pl: cpp application: mongo version: 16.03 division: infrastructure spec: type: ExternalName externalName: mongodb01v.lobj.juejin.id ``` - 映射外部IP并转发端口 - service ``` kind: Service apiVersion: v1 metadata: name: mongo labels: name: mongo role: proxy pl: cpp application: mongo version: 16.03 division: infrastructure Spec: type: ClusterIP ports: - port: 27017 targetPort: 7000 ``` - endpoints ``` kind: Endpoints apiVersion: v1 metadata: name: mongo labels: name: mongo role: proxy pl: cpp application: mongo version: 16.03 division: infrastructure subsets: - addresses: - ip: 192.168.0.203 ports: - port: 7000 ```