购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.4 为HTTP流量配置外部Ingress

我们已经部署了应用程序的容器,但它目前还无法被任何人访问。默认情况下,集群资源仅在集群内可见。为了开放我们的应用程序,我们需要创建一个服务和一个具备外部IP地址的负载均衡器,用来将流量定向到到我们的容器中。实际上我们需要使用两个Kubernetes资源来让应用程序外部可见。第一个是服务,它为TCP(传输控制协议)或UDP(用户数据报协议)流量提供负载均衡。在本示例中,我们使用的是TCP协议。第二个是Ingress资源,它基于HTTP的路径和主机实现智能路由,为外部HTTP(S)请求提供负载均衡。你可能会疑惑为什么我们要在这样简单的应用程序上使用复杂的Ingress。在后续章节中你会发现,这是因为即便这样一个简单的应用程序,也需要处理针对两个不同服务的HTTP请求。此外,在集群边缘为应用程序创建Ingress将让我们的服务在未来可以更加灵活地扩展。

在定义Ingress资源前,Ingress必须指向对应的服务。我们将使用Label来让服务指向上一节中创建的Pod。服务的定义比Deployment要简单得多,如下所示:

000

定义好服务之后我们就可以定义Ingress资源了。与服务资源不同的是,Ingress需要集群中有一个运行的Ingress控制器容器。Ingress控制器容器有多种不同的实现,它或是由云服务商提供,或是基于开源的服务器实现。如果你想要选择一个开源的Ingress实现, nginx haproxy 都是非常流行的选择,并且最好使用Helm包管理器来进行安装和维护: mDPrXX70es7Crulo5uTSgAeIaYCy7KETMwlhlczsqY9sJDcN3W7KTXrRalce68+e

000
点击中间区域
呼出菜单
上一章
目录
下一章
×