ingress controller 注解使用

ingress controller 注解使用

官网github注解地址:

https://github.com/kubernetes/ingress-nginx/blob/master/docs/user-guide/nginx-configuration/annotations.md

#http 跳转到https
nginx.ingress.kubernetes.io/ssl-redirect: 'true'
#即使未启用TLS,也强制将重定向到HTTPS
nginx.ingress.kubernetes.io/force-ssl-redirect: 'true'

#abc.com 跳转到www.abc.com
nginx.ingress.kubernetes.io/from-to-www-redirect: 'true'

#session affinity
nginx.ingress.kubernetes.io/affinity: 'cookie'

#开启路径正则匹配
nginx.ingress.kubernetes.io/use-regex: 'true'

#uri重定向
nginx.ingress.kubernetes.io/rewrite-target: 'string'
#示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: rewrite
  namespace: default
spec:
  rules:
  - host: rewrite.bar.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /something(/|$)(.*)

在此入口定义中,捕获的任何字符(.*)都将分配给占位符$2,然后将其用作rewrite-target注释中的参数。

例如,上面的入口定义将导致以下重写:

rewrite.bar.com/something 重写为 rewrite.bar.com/
rewrite.bar.com/something/ 重写为 rewrite.bar.com/
rewrite.bar.com/something/new 重写为 rewrite.bar.com/new

#定义应用根路径
nginx.ingress.kubernetes.io/app-root: 'string'
#示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/app-root: /app1
  name: approot
  namespace: default
spec:
  rules:
  - host: approot.bar.com
    http:
      paths:
      - backend:
          serviceName: http-svc
          servicePort: 80
        path: /
        
$ curl -I -k http://approot.bar.com/
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.11.10
Date: Mon, 13 Mar 2017 14:57:15 GMT
Content-Type: text/html
Content-Length: 162
Location: http://stickyingress.example.com/app1
Connection: keep-alive

后续补充...

猜你喜欢

转载自www.cnblogs.com/h-gallop/p/11984651.html