Loading
close

云产品Deployment

time 更新时间:2022-11-14 11:13:02

高可用配置

云产品的 deployment 如果需要配置为高可用多副本模式,需要添加反亲和及滚动升级策略。目前,云平台的已提供了一套公共模板来配置反亲和及滚动升级,云产品可在添加了 helm-tookit 的依赖后直接使用。

前置条件

云产品的 requirements.yaml中添加了 helm-toolkit 依赖:

dependencies:
  - name: helm-toolkit
    repository: http://charts.easystack.io:8090
    version: 5.0.1

云产品 **values.yaml **中定义了滚动升级策略

lifecycle:
  upgrades:
    deployments:
      revision_history: 3
      pod_replacement_strategy: RollingUpdate
      rolling_update:
        max_unavailable: 1
        max_surge: 3

配置示例

在云产品的多副本 deployment 中添加如下配置:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: backend-api
spec:
  replicas: 3
# 滚动升级策略
{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}
  template:
    metadata:
      labels:
# 生成 labels
{{ tuple $envAll "backend-api" "api" | include "helm-toolkit.snippets.kubernetes_metadata_labels" | indent 8 }}
    spec:
      affinity:
# 反亲和策略
{{ tuple $envAll "backend-api" "api" | include "helm-toolkit.snippets.kubernetes_pod_anti_affinity" | indent 8 }}
此篇文章对你是否有帮助?
没帮助
locked-file

您暂无权限访问该产品