用ELK多个数据节点的加密卷替换EBS卷

时间:2019-06-25 10:57:14

标签: amazon-ec2 kubernetes devops elastic-stack elk

我有1个客户端节点,1个主节点和3个数据节点的ELK集群。主节点和数据节点已附加卷。每个数据节点的卷为200GB。这些卷均未加密,现在我要加密这些卷。

当我们只有一个statefulset副本并使用一个卷挂载时,此方法有效。但对于3个副本,它无法连接到该卷。 kubernetes中有一个选项提供带有“ encrypted”标志的卷定义,但是我们必须在Deployment / statefulset中指定声明名称。我们可以在statefulset中指定声明名称,但前提是要指定一个声明。但是由于我的麋鹿群集有3个数据节点,因此我们无法在状态集中指定一个特定的声明名称。

我尝试通过将存储类“ encrypted”标志设置为true来动态地做到这一点,如下所示:

kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: esvolume-2
provisioner: kubernetes.io/aws-ebs
parameters:
  type: gp2
  zones: eu-west-1c
  iopsPerGB: "600"
  fsType: ext4
  encrypted: "true"

然后我们必须在声明中使用此存储类,如下所示:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: esdata-2
  labels:
    app: mo-es-data
spec:
  storageClassName: esvolume-2
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 200Gi

然后需要在状态集中指定声明名称,如下所示:

 volumeMounts:
        - name: esdata-2
          mountPath: /data
      #imagePullSecrets:
        #- name: mo-docker-registry
  volumeClaimTemplates:
  - metadata:
      name: esdata-2

所以我不能采用这种解决方案。

也无法进行手动替换,因为3个卷已附加到一个有状态集。

我希望对卷进行加密,但无法对其进行加密。

请帮助我,在这种情况下如何实现卷的加密?

0 个答案:

没有答案