Объединение локальных SSD для узла в Кубернетес - PullRequest
0 голосов
/ 18 февраля 2019

Данные, требуемые моим контейнером, слишком велики для размещения на одном локальном SSD.Мне также нужно получить доступ к SSD как к одной файловой системе из моего контейнера.Поэтому мне нужно было бы прикрепить несколько.Как мне объединить их и сделать так, чтобы они отображались как одна файловая система в моем контейнере?По этой ссылке рассказывается, как подключить SSD https://cloud.google.com/kubernetes-engine/docs/how-to/persistent-volumes/local-ssd к пути монтирования.Я не уверен, как вы бы объединить несколько.

1 Ответ

0 голосов
/ 28 февраля 2019

Вы можете использовать DaemonSet файл yaml для развертывания модуля, который будет запущен при запуске, при условии, что уже создан кластер с 2 локальными SSD (этот модуль будет отвечать за создание диска Raid0)

kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: ssd-startup-script
  labels:
    app: ssd-startup-script
spec:
  template:
    metadata:
      labels:
        app: ssd-startup-script
   spec:
     hostPID: true
     containers:
     - name: ssd-startup-script
    image: gcr.io/google-containers/startup-script:v1
    imagePullPolicy: Always
    securityContext:
      privileged: true
    env:
    - name: STARTUP_SCRIPT
      value: |
        #!/bin/bash
        sudo curl -s https://get.docker.com/ | sh
        echo Done

Модуль, который будет иметь доступ к массиву дисков в приведенном выше примере: «/ mnt / Диски / SSD-массив»

apiVersion: v1
kind: Pod
metadata:
 name: test-pod
spec:
 containers:
- name: test-container
  image: ubuntu
  volumeMounts:
  - mountPath: /mnt/disks/ssd-array
   name: ssd-array
  args:
  - sleep
  - "1000"
nodeSelector:
 cloud.google.com/gke-local-ssd: "true"
tolerations:
- key: "local-ssd"
 operator: "Exists"
 effect: "NoSchedule"
volumes:
- name: ssd-array
  hostPath:
   path: /mnt/disks/ssd-array

После развертывания тестового модуля, SSH кpod из вашей облачной оболочки или любого другого экземпляра.

Затем запустите:

  kubectl exec -it test-pod -- /bin/bash

После этого вы сможете увидеть созданный файл на диске массива ssd.

cat test-file.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...