https 自动管理 TLS证书
webosocket支持
apiVersion: extensions/v1beta1kind: Ingressmetadata:name: cafe-ingressannotations:nginx.org/websocket-services: "ws-svc"spec:rules:- host: cafe.example.comhttp:paths:- path: /wsbackend:serviceName: ws-svcservicePort: 8008
粘性会话
# annotationsnginx.ingress.kubernetes.io/affinity: cookienginx.ingress.kubernetes.io/session-cookie-expires: "172800"nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"nginx.ingress.kubernetes.io/session-cookie-name: route
custom nginx configmap
对于需要改nginx配置需求的, 比如常见的文件上传大小限制
apiVersion: v1kind: ConfigMapmetadata:name: nginx-configurationnamespace: kube-systemlabels:app: ingress-nginxdata:proxy-buffer-size: 16kproxy-buffers: 8 16k# maximum allowed size of the client request bodyproxy-body-size: 50m
warning: name和namespace可能需要更改,通过describe pod ingress-nginx返回—configmap= 查看
ingress config boilerplate template
apiVersion: extensions/v1beta1kind: Ingressmetadata:name: test-ingressnamespace: testannotations:kubernetes.io/ingress.class: nginx# add an annotation indicating the issuer to use.cert-manager.io/cluster-issuer: letsencrypt-prod# websocket services requirednginx.org/websocket-services: "ws-svc"# 粘性会话nginx.ingress.kubernetes.io/affinity: cookienginx.ingress.kubernetes.io/session-cookie-expires: "172800"nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"nginx.ingress.kubernetes.io/session-cookie-name: routespec:tls:- hosts:- test.example.comsecretName: letsencrypt-prodrules:- host: test.example.comhttp:paths:- path: /backend:serviceName: svc-testservicePort: 80
怎么在新的namespace 里面新建ingress
参考测试环境的ingress配置, 修改name, namespace, 根据域名需要修改对应的域名, 一定要注意,ingress, deploy, service必须在同一命名空间中
怎么在已有ingress的namespace 里面新建ingress
新建的ingress name 不能和已有的ingress name 重合,否则会被覆盖掉
