minikube ingress 404 问题

参考一份指南尝试了一下minikube的ingress配置,最后出现404问题:

https://awkwardferny.medium.com/getting-started-with-kubernetes-ingress-nginx-on-minikube-d75e58f52b6c

确认svc可以访问,比如:



D:\minikube>kubectl get svc meow-svc
NAME       TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
meow-svc   ClusterIP   10.101.250.199   <none>        80/TCP    24h

D:\minikube>curl 10.101.250.199


Hostname: meow-5b956f979-rlzqw

Pod Information:
        -no pod information available-

Server values:
        server_version=nginx: 1.12.2 - lua: 10010

Request Information:
        client_address=172.17.0.1
        method=GET
        real path=/
        query=
        request_version=1.1
        request_scheme=http
        request_uri=http://10.101.250.199:8080/

Request Headers:
        accept=*/*
        host=10.101.250.199
        user-agent=curl/7.55.1

Request Body:
        -no body in request-


D:\minikube>

但是访问ingress就是404:

BAT:

for /F %i in ('minikube ip') do ( set minikubeip=%i)

curl %minikubeip%/meow

<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>

 

后来发现是ingress的annotation的问题,纠正后如下:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: meow-ingress
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  defaultBackend:
    service:
      name: meow-svc
      port:
        number: 80
  rules:
  - http:
      paths:
      - path: /meow
        pathType: Prefix
        backend:
          service:
            name: meow-svc
            port:
              number: 80

正确的结果:

D:\minikube>kubectl describe ingress meow-ingress
Name:             meow-ingress
Namespace:        default
Address:
Default backend:  meow-svc:80 (172.17.0.8:8080,172.17.0.9:8080)
Rules:
  Host        Path  Backends
  ----        ----  --------
  *
              /meow   meow-svc:80 (172.17.0.8:8080,172.17.0.9:8080)
Annotations:  kubernetes.io/ingress.class: nginx
Events:
  Type    Reason  Age   From                      Message
  ----    ------  ----  ----                      -------
  Normal  Sync    22m   nginx-ingress-controller  Scheduled for sync

D:\minikube>curl %minikubeip%/meow


Hostname: meow-5b956f979-j2fp9

Pod Information:
        -no pod information available-

Server values:
        server_version=nginx: 1.12.2 - lua: 10010

Request Information:
        client_address=172.17.0.3
        method=GET
        real path=/meow
        query=
        request_version=1.1
        request_scheme=http
        request_uri=http://172.28.14.27:8080/meow

Request Headers:
        accept=*/*
        host=172.28.14.27
        user-agent=curl/7.55.1
        x-forwarded-for=172.28.0.1
        x-forwarded-host=172.28.14.27
        x-forwarded-port=80
        x-forwarded-proto=http
        x-forwarded-scheme=http
        x-real-ip=172.28.0.1
        x-request-id=c0d392e13ff48fe08045c1b2c8c09fba
        x-scheme=http

Request Body:
        -no body in request-


D:\minikube>

如果配置不正确,Events 都是空白的。

以上 minikube version: v1.23.0 通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值