我正在尝试使用helm图表将gitlab omnibus chart部署到我的kubernetes集群(跨两个AZ设置)。 gitlab-gitlab pod使用3个由EBS支持的PVC,它们通常在不同的AZ中创建。掌舵在同一AWS AZ中部署一组PVC的惯用方法是什么?
答案 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部署。有两种方法可以做到这一点。
您可以使用nodeSelector
或node 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