日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Kubernetes 分批發布

Kubernetes 原生的應用升級基于終態模型,一旦發布出現問題無法暫停,只能通過YAML回滾應用。為了使 Kubernetes 應用發布過程更加可控。Flow 提供了 Kubernetes 分批發布的能力,以讓發布過程更加可控。 

實現原理 

  • Kubernetes 使用 Service 在集群內暴露服務 

  • Service 與Deployment 的 Pod 實例之間使用 Lables 進行關聯,Service 的流量會轉到關聯的 Deployment 實例 

  • 假設 serviceA 關聯了應用 app-v1 并且其 Replicas 副本數 > 1 

  • 分批發布開始創建 app-v2 并繼承 app-v1 的所有標簽,此時 serviceA 的流量會隨機轉發到 v1 和 v2 

  • 分批發布過程通過擴容 app-v2 和縮容 app-v1 實現應用的發布 

  • 發布過程暫停時,用戶可以選擇繼續發布,直到 app-v2 達到預期狀態 

  • 或者回滾移除 app-v2 并恢復 app-v1 的副本數 

前提

  • Deployment 上不能關聯 HPA,否則會導致舊版本無法縮容,發布可能超時失敗

  • Deployment 的 labels 內包含有 Service 的全部 selector labels,如:

---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    run: spring-boot-sample
  name: spring-boot-sample
spec:
  replicas: 2
  selector:
    matchLabels:
      run: spring-boot-sample
  template:
    metadata:
      labels:
        run: spring-boot-sample
    spec:
      containers:
      - image: ${IMAGE}
        name: app
---
apiVersion: v1
kind: Service
metadata:
  name: spring-boot-service
  labels:
    test: test
    labele2: label
spec:
  ports:
    - name: http
      port: 8080
      protocol: TCP
      targetPort: 8080
    - name: https
      port: 443
      protocol: TCP
      targetPort: 443
  selector:
    run: spring-boot-sample
  sessionAffinity: None
  type: ClusterIP

添加分批發布任務

用戶可以通過添加流水線任務并選擇 ”Kubernetes 分批發布“任務:

配置發布任務 

首次使用 Kubernetes 相關發布功能的用戶需要首先建立 Kubernetes 服務連接。 

選擇發布的目標 Service 以及 Service 關聯的 Deployment 中的容器名稱。鏡像需要由上游鏡像構建步驟產生: 

執行分批發布

當使用分批發布第一批暫停,當第一批次發布完成后,卡片會顯示暫停狀態,并提示用戶繼續下一批次或者回滾 

在人工驗證完成后,選擇繼續發布完成后續批次的發布