Предварительное заполнение локального SSD-диска в GCP Kubernetes для использования только для чтения с несколькими мультиподами - PullRequest
0 голосов
/ 07 сентября 2018

Каков наилучший способ предварительной загрузки больших файлов в локальный твердотельный накопитель PersistentVolume перед его использованием модулями Kubernetes?

Цель состоит в том, чтобы иметь несколько модулей (может быть несколько экземпляров одного и того же модуля или разные), использовать один и тот же локальный SSD-диск в режиме только для чтения. Диск должен быть как-то инициализирован с большим набором данных.

Google Локальные документы по SSD описывает Running the local volume static provisioner, но этот подход только создает PersistedVolume, но не инициализирует его.

1 Ответ

0 голосов
/ 07 сентября 2018

По сути, вы можете добавить контейнер init к вашему модулю, который инициализирует SSD: добавить данные и т. Д.

apiVersion: v1
kind: Pod
metadata:
  name: "test-ssd"
spec:
  initContainers:
  - name: "init"
    image: "ubuntu:14.04"
    command: ["/bin/init_my_ssd.ssh"]
    volumeMounts:
    - mountPath: "/test-ssd/"
      name: "test-ssd:
  containers:
  - name: "shell"
    image: "ubuntu:14.04"
    command: ["/bin/sh", "-c"]
    args: ["echo 'hello world' > /test-ssd/test.txt && sleep 1 && cat /test-ssd/test.txt"]
    volumeMounts:
    - mountPath: "/test-ssd/"
      name: "test-ssd"
  volumes:
  - name: "test-ssd"
    hostPath:
      path: "/mnt/disks/ssd0"
  nodeSelector:
    cloud.google.com/gke-local-ssd: "true"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...