我们利用Ingress创建HTTPS负载均衡器,直接转发到我们的(通常是nodejs)服务.但是,最近我们希望在Google负载均衡器不提供的nodejs前面更多地控制流量.
>标准化的自定义错误页面
>标准重写规则(例如将http重定向到https)
>从负载均衡器运行状况检查中解除pod readyinessProbes(因此,当没有健康的pod时,我们仍然可以提供自定义错误页面).
我们在堆栈的其他部分使用Nginx,所以这似乎是一个不错的选择,我已经看到了几个Nginx用于Kubernetes前端服务的例子,通常是两种配置中的一种.
>每个pod中的Nginx容器直接将流量转发到localhost上的应用程序.
>一个单独的Nginx部署&服务,独立扩展并将流量转发到适当的Kubernetes服务.
解决方法:
继vincent H之后,我建议将Google HTTPS Load Balancer流水线化为Nginx入口控制器.
正如您所提到的,这可以独立扩展;有它自己的健康检查;并且您可以标准化您的错误页面.
我们通过使用单个kubernetes.io/ingress.class:“gce”入口对象来实现这一目标,该对象具有我们的Nginx入口控制器的默认后端.我们所有其他入口对象都使用kubernetes.io/ingress.class注释:“Nginx”.
我们使用此处记录的控制器:https://github.com/kubernetes/ingress/tree/master/controllers/nginx.使用custom /etc/nginx/template/nginx.tmpl
可以完全控制入口.
For complete transparency, we haven’t (yet) setup custom error pages in the Nginx controller, however the 07002 appears straight forward.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。