k8s实现高可用部署工作负载

思路

  1. 集群选择3个控制节点的高可用模式。
  2. 创建节点选择在不同的可用区,在多个可用区(AZ)多个节点的情况下,根据自身业务需求合理的配置自定义调度策略,可达到资源分配的最大化。
  3. 工作负载创建时设置实例数需大于2个。
  4. 设置工作负载亲和性规则,尽量让Pod分布在不同可用区、不同节点上。

反亲和配置

kind: Deployment
apiVersion: apps/v1
metadata:
  name: nginx
  namespace: default
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: container-0
          image: nginx:alpine
      affinity:
        podAntiAffinity:      # 使用工作负载反亲和
          preferredDuringSchedulingIgnoredDuringExecution:   # 采用软要求
            - weight: 50                # 配置权重
              podAffinityTerm:
                labelSelector:                       # 选择Pod的标签,与工作负载本身反亲和。
                  matchExpressions:
                    - key: app
                      operator: In
                      values:
                        - nginx
                namespaces:
                  - default
                topologyKey: failure-domain.beta.kubernetes.io/zone   # 在同一个可用区下起作用
            - weight: 50
              podAffinityTerm:
                labelSelector:                       # 选择Pod的标签,与工作负载本身反亲和
                  matchExpressions:
                    - key: app
                      operator: In
                      values:
                        - nginx
                namespaces:
                  - default
                topologyKey: kubernetes.io/hostname     # 在节点上起作用
      imagePullSecrets:
        - name: default-secret
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值