首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在Ubuntu 18.04上使用ingress nginx路由

问无法在Ubuntu 18.04上使用ingress nginx路由
EN

Stack Overflow用户
提问于 2021-02-15 05:09:46
回答 2查看 294关注 0票数 1

我试图使用Kubernetes在本地建立一个服务。我在用入口-nginx进行路由。我正在使用Ubuntu 18.04。这是我的ingress.yaml文件:

代码语言:javascript
复制
apiVersion: extensions/v1beta1
kind: Ingress
metadata: 
  name: ingress-service
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/use-regex: 'true'
spec: 
  rules:
    - host: ecommerce.dev
      http:   
        paths: 
          - path: /api/users/?(.*) 
            backend: 
              serviceName: auth-srv
              servicePort: 3000

此外,我将其映射到我的/etc/hosts/文件中:

代码语言:javascript
复制
127.0.0.1   localhost
127.0.1.1   TALHA

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

127.0.0.1 ecommerce.dev

当我试图从我的浏览器到达'ecommerce.dev‘时,我无法访问它,因为它说’无法到达网站‘。有人能帮我一下吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-16 08:08:30

我看到你说过你用的是迷你饼干加了nginx入口加注。

这些信息非常有用。今后不要跳过这类信息。我假设说“我试图使用Kubernetes在本地设置一个服务”,这意味着您运行的是裸金属k8s。

Minikube很可能在VM中运行,这就是您无法访问它的原因。

运行minikube ip将为您提供VM的IP地址:

代码语言:javascript
复制
$ minikube ip
192.168.39.67

您的ip可能是不同的,所以不要使用我的IP,检查您分配的IP。

现在您已经拥有了小型VM的IP,请在/etc/hosts中使用它。在我的例子中,如下所示:

代码语言:javascript
复制
192.168.39.67 ecommerce.dev
票数 3
EN

Stack Overflow用户

发布于 2021-02-16 00:29:30

如果您使用Helm安装了nginx入口,您可以:

/etc/kubernetes/manifests/kube-apiserver.yaml.上的

  1. 添加--service-node-port-range=80-32767

  1. 将服务类型设置为NodePort,以便您可以通过端口80和443.

公开它。

代码语言:javascript
复制
kubectl patch svc ingress-nginx-controller -p '{"spec": {"type": "NodePort"}}'

  1. 将nginx-ingress-controller服务的默认生成端口更改为80和443.

。

代码语言:javascript
复制
kubectl patch svc ingress-nginx-controller -p '{"spec": {"ports": [{"name": "http", "nodePort": 80, "port": 80, "protocol": "TCP", "targetPort": "http"}, {"name": "https", "nodePort": 443, "port": 443, "protocol": "TCP", "targetPort": "https"}]}}'

此步骤只打开nginx-ingress-controller服务的端口80和443。如果它不能解决您的问题,那么它可能与您的代理有关。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66202988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档