问题描述
我正在尝试将硬盘连接到Minikube。我可以通过转到设置>存储并从那里添加新硬盘来创建新硬盘,但是我不知道如何将其连接到Minikube。有人知道吗?任何帮助将不胜感激!
解决方法
可以在Virtualbox环境中以多种方式为minikube
实例提供更多存储空间。
其中一些是:
-
创建另一个Virtualbox磁盘并将其安装到
minikube
实例 -
将
Users
主机目录安装到minikube
实例(默认情况下完成): -
使用
$ minikube mount ABSOLUTE_HOST_PATH:ABSOLUTE_MINIKUBE_PATH
关注于:
创建另一个Virtualbox磁盘并将其安装到minikube
实例
假设:
- 您已启动
minikube
实例并使用Virtualbox作为驱动程序运行 - 您将新创建的磁盘连接到minikube实例(例如,
VMDK
)
步骤:
- 检查
minikube
实例是否知道新磁盘 - 准备安装新磁盘
- 安装磁盘
- 使用新创建的带有示例Pod的磁盘
检查minikube
实例是否知道新磁盘
您将需要通过以下方式连接到您的minikube
实例:
- 在
powershell
/cmd
/terminal
中运行以下命令:-
$ minikube ssh
-
- 使用Virtualbox图形化
您将需要标识您先前安装的磁盘。您可以使用以下命令进行操作:
-
$ fdisk -l
此命令的输出应如下所示:
Disk /dev/sdb: 16 GiB,17179869184 bytes,33554432 sectors
Disk model: VBOX HARDDISK
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb925daf0
准备安装新磁盘
您将需要为此磁盘创建一个分区表并对其进行格式化。
-
$ fdisk /dev/sdb
-
n,p,1,enter,enter
-为整个磁盘创建一个分区
您可以使用以下指南获取更多参考:
您还需要格式化该磁盘:
-
mkfs.ext4 /dev/sdb1
#请注意数字
安装磁盘
您可以使用以下命令安装该磁盘:
-
mkdir /data/disk
-创建一个文件夹以将磁盘安装到其中 -
mount /dev/sdb1 /data/disk
-将磁盘安装到指定位置(重启后无法工作)
免责声明!
在
/etc/fstab
中创建条目以在关机/重新引导之间安装该磁盘将不起作用,因为/etc/fstab
会覆盖$ minikube start
要克服/etc/fstab
被覆盖的情况,您需要:
- 在以下位置创建文件:
/var/lib/boot2docker/
- 姓名:
bootlocal.sh
- 内容:
mount /dev/sdb1 /data/disk
此步骤将创建一个脚本,该脚本将在将磁盘安装到minikube
的{{1}}实例的每个开始处执行。
参考/data/disk
中的启动命令:
使用新创建的带有示例Pod的磁盘
默认情况下,minikube
实例支持minikube
:
您可以使用以下示例创建PV和PVC:
hostPath
您可以将先前创建的PVC挂接到Pod:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv0001
spec:
storageClassName: standard
accessModes:
- ReadWriteOnce
capacity:
storage: 1Gi
hostPath:
path: /data/disk/pv0001
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pv0001-claim
spec:
storageClassName: standard
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
volumeName: pv0001
我将文件放入apiVersion: v1
kind: Pod
metadata:
name: ubuntu
spec:
volumes:
- name: storage-name
persistentVolumeClaim:
claimName: pv0001-claim
containers:
- name: ubuntu
image: ubuntu
command:
- sleep
- "infinity"
volumeMounts:
- mountPath: "/storage"
name: storage-name
中,以检查其是否正常工作
/data/disk/pv0001