Использовать данные из локальной системы в моем kubernetes Pod

Я хочу использовать данные из файлов, присутствующих в моей локальной системе в моем модуле в k8s. Как в этом используется PersistentLocalVolumes и безопасно ли использовать PersistentLocalVolumes, поскольку это альфа-функция.

Спасибо

2 ответа

Для кластера, созданного с помощью kubeadm.

/etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Добавьте строку для KUBE_FEATURE_GATES.

Environment="KUBE_FEATURE_GATES=--feature-gates PersistentLocalVolumes=true,VolumeScheduling=true,MountPropagation=true"

Добавьте $KUBE_FEATURE_GATES в строку ExecStart.

ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_SYSTEM_PODS_ARGS $KUBELET_NETWORK_ARGS $KUBELET_DNS_ARGS $KUBELET_AUTHZ_ARGS $KUBELET_CADVISOR_ARGS $KUBELET_CGROUP_ARGS $KUBELET_CERTIFICATE_ARGS $KUBELET_EXTRA_ARGS $KUBE_FEATURE_GATES

манифест

$ cat local_pvc.yaml

---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: example-local-pv
  annotations:
    "volume.alpha.kubernetes.io/node-affinity": '{
      "requiredDuringSchedulingIgnoredDuringExecution": {
        "nodeSelectorTerms": [
          { "matchExpressions": [
            { "key": "kubernetes.io/hostname",
              "operator": "In",
              "values": ["my-node"]  <--- change the node name to yours
            }
          ]}
         ]}
        }'
spec:
  capacity:
    storage: 5Gi  <----- change the size to your need
  accessModes:
  - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: local-storage
  local:
    path: /mnt/disks/vol1  <----- change the path to yours

---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
  name: example-local-claim
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 5Gi  <----- change the size to your need
  storageClassName: local-storage

----
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer

выполнение

  1. Перезагрузите кластер.
  2. Создайте pv & pvc (kubectl create -f local_pvc.yaml).
  3. Используйте ПВХ в стручке.

Рекомендации

Вы можете использовать том hostPath, который позволит вам смонтировать каталог из файловой системы хоста на POD.

Другие вопросы по тегам