我在docker-compose中本地开发,并且有一个Nginx容器做一个简单的proxy_pass,如下所示:
location /app/ {
proxy_pass http://webapp:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
resolver 127.0.0.11;
}
我现在想转到GKE的kubernetes,最后一行给我带来麻烦.
我试图将解析器切换为:
resolver kube-dns;
Nginx: [emerg] host not found in resolver "kube-dns"
我的kubernetes设置是我有一个容器,有2个容器:’webapp’和’Nginx’.我只想要一个指向Nginx的外部服务,可以将proxy_pass指向webapp.
有任何想法吗?
最佳答案
如果Nginx位于kubernetes内,则无需设置解析器,因为它将解析为正确的位置.如果Nginx和webapp存在于同一名称空间中,您可以简单地进行操作
proxy_pass http://webapp
只要您的webapp的服务名称称为webapp并使用端口80.
如果Nginx位于外部,那么您应该使用入口控件或将webapp的服务设置为nodeport.节点端口将在所有节点上打开相同的端口,因此您可以在Nginx端在它们之间进行负载平衡.
原文地址:https://www.jb51.cc/nginx/435609.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。