nginxingress配置会话保持

编程

使用nginx-ingress-controller镜像:quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.24.1

apiVersion:extensions/v1beta1

kind:Ingress

metadata:

name:test-ingress

namespace:default

annotations:

nginx.ingress.kubernetes.io/affinity:cookie

spec:

rules:

-host:test.paas.dc.servyou-it.com

http:

paths:

-path:/

backend:

serviceName:test-deployment

servicePort:8888

其中主要需要配置的是annotations,nginx.ingress.kubernetes.io/affinity: cookie

# kubectl get pods -o wide | grep test-

test-deployment-d7cf5ccbd-kfskl 1/1 Running 0 2d2h 172.30.42.4 10.199.139.105 <none>

test-deployment-d7cf5ccbd-tkn9g 1/1 Running 0 2d2h 172.30.65.5 10.199.139.104 <none>

# kubectl describe svc test-deployment 

Name: test-deployment

Namespace: default

Labels: <none>

Annotations: kubectl.kubernetes.io/last-applied-configuration:

{"apiVersion":"v1","kind":"Service","metadata":{"annotations":{},"name":"test-deployment","namespace":"default"},"spec":{"ports":[{"name":...

Selector: app=test-pod

Type: ClusterIP

IP: 10.254.133.122

Port: http 8888/TCP

TargetPort: 80/TCP

Endpoints: 172.30.42.4:80,172.30.65.5:80

Session Affinity: None

Events: <none>

# kubectl describe ingresses.extensions test-ingress 

Name: test-ingress

Namespace: default

Address:

Default backend: default-http-backend:80 (172.30.42.6:8080,172.30.46.4:8080)

Rules:

Host Path Backends

----------------

test.paas.dc.servyou-it.com

/ test-deployment:8888 (<none>)

Annotations:

kubectl.kubernetes.io/last-applied-configuration: {"apiVersion":"extensions/v1beta1","kind":"Ingress","metadata":{"annotations":{"nginx.ingress.kubernetes.io/affinity":"cookie"},"name":"test-ingress","namespace":"default"},"spec":{"rules":[{"host":"test.paas.dc.servyou-it.com","http":{"paths":[{"backend":{"serviceName":"test-deployment","servicePort":8888},"path":"/"}]}}]}}

nginx.ingress.kubernetes.io/affinity: cookie

Events:

Type Reason Age From Message

-------------------------

Normal CREATE 38m ingress-controller Ingress default/test-ingress

Normal CREATE 38m ingress-controller Ingress default/test-ingress

Normal UPDATE 37m (x2 over 38m) ingress-controller Ingress default/test-ingress

Normal UPDATE 37m ingress-controller Ingress default/test-ingress

Normal CREATE 32m nginx-ingress-controller Ingress default/test-ingress

Normal CREATE 32m nginx-ingress-controller Ingress default/test-ingress

Normal UPDATE 4m48s (x4 over 32m) nginx-ingress-controller Ingress default/test-ingress

Normal UPDATE 4m48s (x3 over 32m) nginx-ingress-controller Ingress default/test-ingress

测试结果:

结果显示,配置会话保持的请求一直请求至同一pods服务,未配置会话保持的请求会使用轮询的方式至后端pods服务

有关nginx load balancer详解可点击查看。

nginx ingress官方关于会话保持详细配置。

https://kaerser.github.io/2019/04/30/nginx-ingress%E9%85%8D%E7%BD%AE%E4%BC%9A%E8%AF%9D%E4%BF%9D%E6%8C%81/

以上是 nginxingress配置会话保持 的全部内容, 来源链接: utcz.com/z/517365.html

回到顶部