# 集群外部访问内部Pod

Service的常规用法就是将集群内部的微服务应用暴露给集群外部使用。

要实现该功能，通常有以下三种方法：

* Service的`spec.type`设置为[**NodePort**](https://yangsijie151104.gitbook.io/k8s-note/service/ji-qun-wai-bu-fang-wen-nei-bu-pod/nodeport)：这种方式会在集群的每个Node上打开一个端口，外部客户端可以通过访问Node的IP和该端口的方式与基础服务进行通信；
* Service的`spec.type`设置为[**LoadBalancer**](https://yangsijie151104.gitbook.io/k8s-note/service/ji-qun-wai-bu-fang-wen-nei-bu-pod/loadbalancer)：这种方式为上一种的扩展，会为集群创建一个负载均衡器，请求流量会先打到该负载均衡器上，再由其重定向至某个Node的端口上，实现与基础服务的通信；
* 使用[**Ingress**](https://yangsijie151104.gitbook.io/k8s-note/service/ji-qun-wai-bu-fang-wen-nei-bu-pod/ingress)资源：这种资源类型运行在HTTP层上，通过一个IP地址公开多个基础服务；
