首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes NGINX-入口返回404

问Kubernetes NGINX-入口返回404
EN

Stack Overflow用户
提问于 2020-11-05 16:07:32
回答 2查看 365关注 0票数 0

我是一个k8s新手,我正在尝试将集群中的一个端口暴露到本地网络中。我试着用metallb config layer2 +负载均衡器控制器来做这件事,结果运行正常。

我已经设置了一个3节点的环境,使用的是kubespray。((192.168.0.15,6,7))

但是,我正在尝试使用NodePort和NGINX-Ingress公开一个api。nodeport api服务运行正常(我可以通过NODE_IP:NODE_nodeport发出成功的请求)。但是如果我尝试这个入口配置,它会一直告诉我“连接被拒绝”:

代码语言:javascript
复制
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ingress-api
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
  rules:
  - host: "k8s.customhostname.com" # solves to 192.168.0.17 which has a running pod with the api.
    http:
      paths:
      - path: /test
        pathType: Prefix
        backend:
          service:
            name: svc-api
            port:
              number: 8080

然后我检查服务:

代码语言:javascript
复制
Name:              svc-smouapimapes
Namespace:         smouapi
Labels:            app=apimapes
Annotations:       <none>
Selector:          app=apimapes
Type:              ClusterIP
IP:                10.233.26.225
Port:              springboot  8080/TCP
TargetPort:        8080/TCP
Endpoints:         10.233.90.4:8080,10.233.92.8:8080
Session Affinity:  None
Events:            <none>

然后检查入口:

代码语言:javascript
复制
Name:             ingress-smouapimapes
Namespace:        smouapi
Address:          192.168.0.17
Default backend:  default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
  Host                     Path  Backends
  ----                     ----  --------
  k8s.nexusgeografics.com
                           /test   svc-smouapimapes:8080   10.233.90.4:8080,10.233.92.8:8080)
Annotations:               nginx.ingress.kubernetes.io/ssl-redirect: false
Events:                    <none>

每当我打电话的时候:

代码语言:javascript
复制
curl -I http://k8s.nexusgeografics.com/test
# CONNECTION REFUSED

我做错了什么?谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-11-05 20:49:47

尝试在Nginx配置ingress smouapimapes中添加以下内容。添加注释:

代码语言:javascript
复制
nginx.ingress.kubernetes.io/rewrite-target: /$2

添加path: /test(/|$)(.*)而不是这个path: /test

票数 1
EN

Stack Overflow用户

发布于 2020-11-05 16:42:50

在这里,您需要将域名k8s.nexusgeografics.com配置为提供nginx-ingress服务的ip,这样您就可以通过nginx-ingress访问您的服务了。

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

https://stackoverflow.com/questions/64693323

复制
相关文章

相似问题

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