Kubernetes - как скачать контент PersistentVolume - PullRequest
0 голосов
/ 16 мая 2018

У меня есть исполнитель теста Pod в кластере K8s, созданный с помощью helm, который запрашивает динамически созданное PersistentVolume, где хранятся результаты теста.

Теперь я хотел бы получить содержимое этогообъем.Это кажется вполне естественным.Я ожидал бы немного kubectl download pv <id>.Но я ничего не могу найти в Google.

Как я могу получить содержимое PersistentVolume?

Я в AWS EKS;поэтому AWS API также является опцией.Также я могу получить доступ к ECR, чтобы, возможно, я мог как-то сохранить его как изображение и загрузить?

Или, вообще, я ищу способ передачи каталога, может быть даже в архиве.Но это должно быть после контейнер закончил и больше не работает.

1 Ответ

0 голосов
/ 17 мая 2018

Я могу придумать два варианта для удовлетворения ваших потребностей:

1) создать модуль с подключенным к нему PV и использовать kubectl cp для копирования содержимого туда, где вам нужно.Например, вы можете использовать PodSpec, аналогичное следующему:

apiVersion: v1
kind: Pod
metadata:
  name: dataaccess
spec:
  containers:
  - name: alpine
    image: alpine:latest
    volumeMounts:
    - name: mypvc
      mountPath: /data
  volumes:
  - name: mypvc
    persistentVolumeClaim:
      claimName: mypvc

Обратите внимание, что mypvc должно быть именем PersistentVolumeClaim, которое связано с PV, с которого вы хотите скопировать данные.

Когда модуль запущен, вы можете запустить что-то вроде этого, чтобы скопировать данные с любого компьютера, на котором kubectl настроен для подключения к вашему кластеру:

kubectl cp dataaccess:/data data/

2) подключить том EBS PV вэкземпляр EC2 и скопируйте данные оттуда.Этот случай не так просто объяснить в деталях, потому что ему нужно немного больше контекста о том, чего вы пытаетесь достичь.

...