Helm - 在AWS上的同一个AZ中启动一组PVC

时间:2018-02-08 08:10:05

标签: amazon-web-services kubernetes gitlab gitlab-omnibus kubernetes-helm

我正在尝试使用helm图表将gitlab omnibus chart部署到我的kubernetes集群(跨两个AZ设置)。 gitlab-gitlab pod使用3个由EBS支持的PVC,它们通常在不同的AZ中创建。掌舵在同一AWS AZ中部署一组PVC的惯用方法是什么?

1 个答案:

答案 0 :(得分:0)

最近面对这个问题。有一种解决方法可以使它工作但尚未正确解决方案。

您需要在特定区域中创建存储类。这就是它的样子:

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  annotations:
  storageclass.beta.kubernetes.io/is-default-class: "false"
  labels:
    k8s-addon: storage-aws.addons.k8s.io
  name: gp2-us-east-1a
parameters:
  type: gp2
  zone: us-east-1a
provisioner: kubernetes.io/aws-ebs
reclaimPolicy: Delete

下一步是在同一区域设置gitlab部署。有两种方法可以做到这一点。 您可以使用nodeSelectornode affinity

一些变化的例子:

NodeSelector示例:

nodeSelector:
  failure-domain.beta.kubernetes.io/zone: us-east-1a

节点亲和力示例:

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: failure-domain.beta.kubernetes.io/zone
          operator: In
          values:
           - us-east-1a

这是动态配置中的错误。相同的提案存在herehere