Tôi đang sử dụng HA Proxy làm Trình điều khiển xâm nhập của mình. Nó được thiết lập với 2 bản sao. Có nghĩa là lưu lượng đến dịch vụ LB của Bộ điều khiển xâm nhập có thể được định tuyến đến 2 nhóm.
Ứng dụng người dùng cuối của tôi có 3 bản sao. Dịch vụ người dùng cuối được cấu hình với sessionAffinity:ClientIP
nghĩa là các phiên giữa nhóm bộ điều khiển xâm nhập và nhóm ứng dụng bị kẹt phiên.
Điều này gây ra sự cố khi 2 nhóm bộ điều khiển xâm nhập định tuyến lưu lượng truy cập đến 2 nhóm ứng dụng khác nhau. Phiên người dùng cuối không được duy trì và người dùng bị đăng xuất đột ngột.
Điều gì sẽ là lý tưởng trong trường hợp này sẽ là
Một lựa chọn là giới thiệu sessionAffinity:ClientIP
trên Ingress Ctrl LB cũng vậy nhưng điều đó sẽ ảnh hưởng đến mọi ứng dụng trong cụm.
Làm cách nào tôi có thể đảm bảo rằng đối với ứng dụng cụ thể của mình, yêu cầu liên tục chỉ đạt một nhóm Bộ điều khiển xâm nhập?
Định nghĩa xâm nhập hiện tại
apiVersion: mạng.k8s.io/v1
loại: Xâm nhập
metadata:
chú thích:
haproxy.org/backend-config-snippet: |
động-cookie-key Ingress
cookie INGRESSCOOKIE chèn động nocache gián tiếp
kubernetes.io/ingress.class: haproxy
tên: bộ đệm
không gian tên: bộ đệm
thông số kỹ thuật:
quy tắc:
- chủ nhà: ac.com
http:
con đường:
- phụ trợ:
dịch vụ:
tên: mối quan hệ
Hải cảng:
số: 8080
con đường: /
pathType: Tiền tố