Просто для выяснения проблемы с OP.
Существуют различные контроллеры входа
Примечание:
При создании входа,Вы должны аннотировать каждый вход соответствующим классом ingress.class, чтобы указать, какой контроллер входа следует использовать, если в вашем кластере существует более одного.
Если вы не определите класс, ваш облачный провайдер может использовать вход по умолчаниюконтроллер.
В идеале все входные контроллеры должны соответствовать этой спецификации, но различные входные контроллеры работают немного по-разному.
Использование этой аннотации:
nginx.org/rewrites: >
serviceName=zipkin rewrite=/;
Itпохоже, что вы используете NGINX Ingress Controller, предоставленный nginxinc.
Вы можете найти больше информации о Поддержка перезаписи для NGINX Ingress Controller, предоставленной nginxinc здесь .
пример:
nginx.org/rewrites: "serviceName=service1 rewrite=rewrite1[;serviceName=service2 rewrite=rewrite2;...]"
Он отличается от сообщества kubernetes в kubernetes / ingress-nginx repo . Разные входные контроллеры имеют разные конфиги и аннотации.
Итак, для этого примера:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
nginx.org/rewrites: "serviceName=my-nginx rewrite=/"
name: test-ingress
namespace: default
spec:
rules:
- host: hostname.com
http:
paths:
- backend:
serviceName: my-nginx
servicePort: 80
path: /zipkin
status:
loadBalancer:
ingress:
- ip: xx.xxx.xxx.xx
Проверьте это:
curl -vH 'Host:hostname.com' xx.xxx.xxx.xx/zipkin
* Connected to xx.xxx.xxx.xx (xx.xxx.xxx.xx) port 80 (#0)
> GET /zipkin HTTP/1.1
> Host:hostname.com
> User-Agent: curl/7.52.1
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx/1.17.5
< Date: Mon, 28 Oct 2019 12:21:48 GMT
< Content-Type: text/html
< Content-Length: 612
< Connection: keep-alive
< Last-Modified: Tue, 22 Oct 2019 14:30:00 GMT
< ETag: "5daf1268-264"
< Accept-Ranges: bytes
<
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>