最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在K8S中實現(xiàn)會話保持的兩種方案

 更新時間:2023年03月15日 11:19:33   作者:linyb極客之路  
這篇文章主要介紹了在K8S中實現(xiàn)會話保持的兩種方案,每種方案結(jié)合示例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

故事的起因是朋友所在的部門最近基于auth2實現(xiàn)單點登錄,他們在測試環(huán)境單點登錄,運行得好好的,但他們把單點登錄上到預(yù)發(fā)布環(huán)境,發(fā)現(xiàn)單點登錄不好使了。他們有部分系統(tǒng)是以授權(quán)碼式接入,發(fā)現(xiàn)第一次登錄拿到授權(quán)碼進行換取token時,會提示授權(quán)碼失效。而他們測試環(huán)境和預(yù)發(fā)布環(huán)境的代碼是一樣的。

后面朋友和我聊天,我就問朋友兩套環(huán)境有存在什么不一樣的地方,朋友說測試環(huán)境是單POD部署,而預(yù)發(fā)布環(huán)境是多POD部署。最后我還從朋友的口中得到一個信息,他們auth2是基于國內(nèi)開源的sa-token進行實現(xiàn),剛好我也玩過這個玩意兒,這玩意兒的授權(quán)碼是基于cookies進行保持。我就跟朋友說可能是因為你部署了多個pod,pod的會話沒保持住。然后我就跟朋友提供以下方案

會話保持方案

方案一:通過service進行配置

在service配置配置形如下內(nèi)容

apiVersion: v1
kind: Service
metadata:
  namespace: uat
  name: uat-sso
spec:
  selector:
    app: uat-sso
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      nodePort: 30666
  type: NodePort
  # 會話保持3小時
  sessionAffinity: ClientIP
  sessionAffinityConfig:
    clientIP:
      timeoutSeconds: 10800

其中關(guān)鍵配置如下

sessionAffinity: ClientIP
sessionAffinityConfig:
    clientIP:
      timeoutSeconds: 10800

通過指定sessionAffinity: ClientIP開啟了session保持。當(dāng)設(shè)置了session保持之后,k8s會根據(jù)訪問的ip來把請求轉(zhuǎn)發(fā)給他以前訪問過的pod,這樣session就保持住了。其中timeoutSeconds指的是session保持的時間,這個時間默認是10800秒,也就是三個小時。

不過朋友說他配置了這個之后,貌似沒產(chǎn)生作用,因為朋友他們單點登錄是通過ingress進行轉(zhuǎn)發(fā),于是就有了第二種方案

方案二:通過ingress配置會話保持

配置形如下

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/affinity: cookie
    nginx.ingress.kubernetes.io/affinity-mode: persistent
    nginx.ingress.kubernetes.io/session-cookie-name: route
  name: uat-sso-ingress
  namespace: uat
spec:
  rules:
  - host: sso.com
    http:
      paths:
      - backend:
          service:
            name: uat-sso
            port:
              number: 80
        path: /
        pathType: Prefix
  tls:
  - hosts:
    - sso.com
    secretName: tls.sso.com

其中關(guān)鍵配置如下

metadata:
  annotations:
    nginx.ingress.kubernetes.io/affinity: cookie
    nginx.ingress.kubernetes.io/affinity-mode: persistent
    nginx.ingress.kubernetes.io/session-cookie-name: route

其中nginx.ingress.kubernetes.io/affinity 屬性,啟用會話保持, 其值僅僅支持cookie。
nginx.ingress.kubernetes.io/affinity-mode 屬性,設(shè)置為persistent時,則請求一直請求至同一pods服務(wù),設(shè)置為balanced (默認設(shè)置)則請求會使用輪詢的方式至后端pods服務(wù)
nginx.ingress.kubernetes.io/session-cookie-name 屬性,自定義cookie名稱, 其默認設(shè)置為 INGRESSCOOKIE,但我們可自定義,如上文的route。

更多詳細的配置可以查看如下鏈接
https://kubernetes.github.io/ingress-nginx/examples/affinity/cookie/

總結(jié)

朋友后面是通過配置ingress這種方式解決問題,本文就作為一個記錄

到此這篇關(guān)于如何在K8S中實現(xiàn)會話保持的文章就介紹到這了,更多相關(guān)K8S會話保持內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解

    Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解

    這篇文章主要為大家介紹了Rainbond云原生快捷部署生產(chǎn)可用的Gitlab步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • k8s應(yīng)用監(jiān)控探針詳解

    k8s應(yīng)用監(jiān)控探針詳解

    這篇文章主要為大家介紹了k8s應(yīng)用監(jiān)控探針的使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • kubeadm?搭建?K8s的詳細過程

    kubeadm?搭建?K8s的詳細過程

    這篇文章主要介紹了kubeadm?搭建?K8s詳細過程,環(huán)境使用?VirtualBox?構(gòu)建的3臺虛擬機,虛擬機網(wǎng)絡(luò)配置的相關(guān)步驟給大家介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • Rainbond對微服務(wù)進行請求速率限制詳解

    Rainbond對微服務(wù)進行請求速率限制詳解

    這篇文章主要為大家介紹了Rainbond對微服務(wù)進行請求速率限制,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • K8S節(jié)點本地存儲被撐爆問題徹底解決方法

    K8S節(jié)點本地存儲被撐爆問題徹底解決方法

    這篇文章主要為大家介紹了K8S節(jié)點本地存儲被撐爆問題徹底解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-11-11
  • RFO SIG之openEuler AWS AMI 制作詳解

    RFO SIG之openEuler AWS AMI 制作詳解

    這篇文章主要為大家介紹了RFO SIG之openEuler AWS AMI 制作詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu)

    詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu)

    這篇文章主要為大家介紹了詳解Rainbond內(nèi)置ServiceMesh微服務(wù)架構(gòu),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • K8S部署rocketmq5全過程

    K8S部署rocketmq5全過程

    在開發(fā)環(huán)境中部署RocketMQ 5并驗證新版本代理特性,遇到一系列問題,包括存儲權(quán)限、主從副本配置和命名空間問題,通過修改配置文件和PV設(shè)置,最終解決了這些問題,成功部署了RocketMQ集群
    2025-01-01
  • IoT邊緣集群Kubernetes?Events告警通知實現(xiàn)示例

    IoT邊緣集群Kubernetes?Events告警通知實現(xiàn)示例

    這篇文章主要為大家介紹了IoT邊緣集群Kubernetes?Events告警通知實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • k8s如何使用NFS作為StorageClass提供動態(tài)存儲

    k8s如何使用NFS作為StorageClass提供動態(tài)存儲

    本文主要介紹了k8s中的StorageClass,包括其定義、引入的原因、實現(xiàn)方式、定義方法以及回收策略對數(shù)據(jù)的影響等,首先,StorageClass是在K8s集群中創(chuàng)建用于動態(tài)PV的管理,可以鏈接至不同的后端存儲,對存儲的請求可以指向StorageClass
    2024-09-09

最新評論

息烽县| 古蔺县| 满城县| 兴业县| 西藏| 大同市| 玉龙| 图们市| 长沙县| 大余县| 琼中| 郴州市| 东山县| 固阳县| 凤山市| 张掖市| 合川市| 南雄市| 嘉善县| 岳池县| 石楼县| 滨州市| 苗栗市| 宁国市| 泾阳县| 台东县| 通州区| 张家口市| 雷山县| 陆丰市| 塘沽区| 商南县| 乌兰浩特市| 贵定县| 大足县| 娄底市| 东平县| 辰溪县| 牡丹江市| 休宁县| 青海省|