Статическая подготовка тома
Создайте под со статически подготовленным томом:
Совет
Вы можете использовать бакет Yandex Object Storage в качестве хранилища для пода. Подробнее см. в разделе Интеграция с Object Storage.
Перед началом
Узнайте уникальный идентификатор диска, который будет использован для создания объекта PersistentVolume
, или создайте новый диск:
-
Если у вас еще нет диска, создайте его.
-
Посмотрите уникальный идентификатор диска:
yc compute disk list
Результат выполнения команды:
+----------------------+------+--------------+---------------+--------+----------------------+-------------+ | ID | NAME | SIZE | ZONE | STATUS | INSTANCE IDS | DESCRIPTION | +----------------------+------+--------------+---------------+--------+----------------------+-------------+ | ef3ouo4sgl86740ridn6 | k8s | 4294967296 | ru-central1-c | READY | | | | ef3qh55ckuu7md2kqhbt | | 103079215104 | ru-central1-c | READY | ef3sin41eksav1kn4gct | | | epd9vda1h0knttpcuhfu | | 10737418240 | ru-central1-b | READY | epdegdecs9o14r13gbad | | +----------------------+------+--------------+---------------+--------+----------------------+-------------+
Создайте объект PersistentVolume
-
Сохраните спецификацию для создания объекта
PersistentVolume
в YAML-файл с названиемtest-pv.yaml
.Подробнее о спецификации читайте в документации Kubernetes.
При указании параметра
capacity: storage
убедитесь, что задан точный объем диска. Container Storage Interface не обеспечивает проверку объема диска для статически подготовленных томов.Для создания объекта
PersistentVolume
на основе существующего облачного диска в параметреvolumeHandle
укажите уникальный идентификатор необходимого диска.apiVersion: v1 kind: PersistentVolume metadata: name: test-pv spec: capacity: storage: 4Gi accessModes: - ReadWriteOnce storageClassName: "" csi: driver: disk-csi-driver.mks.ycloud.io fsType: ext4 volumeHandle: ef3ouo4sgl86740ridn6
-
Выполните команду:
kubectl create -f test-pv.yaml
Результат выполнения команды:
persistentvolume/test-pv created
-
Посмотрите информацию о созданном объекте
PersistentVolume
:kubectl describe persistentvolume test-pv
Результаты выполнения команды:
Name: test-pv Labels: <none> Annotations: <none> Finalizers: [kubernetes.io/pv-protection] StorageClass: yc-network-hdd Status: Available ...
Создайте объект PersistentVolumeClaim
-
Сохраните спецификацию для создания объекта
PersistentVolumeClaim
YAML-файл с названиемtest-claim.yaml
.Подробнее о спецификации читайте в документации Kubernetes.
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: test-claim spec: accessModes: - ReadWriteOnce resources: requests: storage: 4Gi volumeName: test-pv
-
Выполните команду:
kubectl create -f test-claim.yaml
Результат выполнения команды:
persistentvolumeclaim/test-claim created
-
Посмотрите информацию о созданном
PersistentVolumeClaim
:kubectl describe persistentvolumeclaim test-claim
Результат выполнения команды:
Name: test-claim Namespace: default StorageClass: yc-network-hdd Status: Bound Volume: test-pv ...
-
Создайте под со статически подготовленным томом
-
Сохраните следующий пример в YAML-файл с названием
test-pod.yaml
:apiVersion: v1 kind: Pod metadata: name: test-pod spec: containers: - name: app image: ubuntu command: ["/bin/sh"] args: ["-c", "while true; do echo $(date -u) >> /data/out.txt; sleep 5; done"] volumeMounts: - name: persistent-storage mountPath: /data volumes: - name: persistent-storage persistentVolumeClaim: claimName: test-claim
Подробнее о спецификации читайте в документации Kubernetes.
-
Выполните команду:
kubectl create -f test-pod.yaml
Результат выполнения команды:
pod/test-pod created
-
Посмотрите информацию о созданном поде:
kubectl describe pod test-pod
Результат выполнения команды:
Name: test-pod Namespace: default Priority: 0 Node: cl1gqrct5oier258n08t-ypap/10.0.0.9 Start Time: Tue, 23 Jul 2019 18:34:57 +0300 Labels: <none> Annotations: <none> Status: Pending ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 3s default-scheduler Successfully assigned default/test-pod to cl1gqrct5oier258n08t-ypap
После этого рядом с используемым диском в консоли управления в Yandex Compute Cloud в разделе Диски появится надпись Подключен.