Я много искал, потому что в каждом примере Kubernetes ссылается на пути для Unix / Macos. Я обнаружил (не помню где ...), что допустимый путь для Windows должен быть тем же, что и в примере пути: / c / temp / data / db
С помощью minikube вы не удается подключить локальный каталог в PersistentVolume при попытке.
Minikube создает виртуальную машину с Linux, и ваш кластер работает внутри этой Linux VM. Вот почему он не видит ваши файлы на вашем компьютере windows.
Чтобы получить доступ к вашему локальному каталогу в кластере мини-кубов, вам необходимо смонтировать его в свой мини-куб:
Вы есть несколько вариантов, чтобы достичь того, что вам нужно. Лучший и самый простой способ - запустить мини-куб с опцией --mount
. Эта опция будет монтировать C: / Users / по умолчанию.
Пример:
PS C:\WINDOWS\system32> minikube delete; minikube.exe start --vm-driver=virtualbox --mount
Если вы введете sh в мини-куб Linux ВМ:
PS C:\WINDOWS\system32> minikube ssh
_ _
_ _ ( ) ( )
___ ___ (_) ___ (_)| |/') _ _ | |_ __
/' _ ` _ `\| |/' _ `\| || , < ( ) ( )| '_`\ /'__`\
| ( ) ( ) || || ( ) || || |\`\ | (_) || |_) )( ___/
(_) (_) (_)(_)(_) (_)(_)(_) (_)`\___/'(_,__/'`\____)
$
$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 1.9G 489M 1.5G 26% /
devtmpfs 987M 0 987M 0% /dev
tmpfs 1.1G 0 1.1G 0% /dev/shm
tmpfs 1.1G 17M 1.1G 2% /run
tmpfs 1.1G 0 1.1G 0% /sys/fs/cgroup
tmpfs 1.1G 4.0K 1.1G 1% /tmp
/dev/sda1 17G 1.3G 15G 8% /mnt/sda1
/c/Users 181G 106G 76G 59% /c/Users
$ cd /c/Users/
$ pwd
/c/Users
Если вы хотите \ нужно смонтировать любой каталог, отличный от C: / Users, взгляните на minikube mount и / или - mount-string . Вы можете столкнуться с некоторыми проблемами при использовании этой опции в зависимости от вашего vm-драйвера.
После монтирования вашего каталога вы можете использовать его в своем PersistentVolume со ссылкой на путь Linux, который на основе моих примеров может быть /c/Users/myname/myapp/db.
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongo-pv
spec:
capacity:
storage: 1Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
storageClassName: local-storage
local:
path: /c/Users/myname/myapp/db
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- docker-desktop
Пожалуйста, дайте мне знать, если мой ответ помог вам решить вашу проблему.