如何在Virtualbox中将新硬盘连接到Minikube? 检查minikube实例是否知道新磁盘准备安装新磁盘安装磁盘使用新创建的带有示例Pod的磁盘

问题描述

我正在尝试将硬盘连接到Minikube。我可以通过转到设置>存储并从那里添加新硬盘来创建新硬盘,但是我不知道如何将其连接到Minikube。有人知道吗?任何帮助将不胜感激!

解决方法

可以在Virtualbox环境中以多种方式为minikube实例提供更多存储空间。

其中一些是:


关注于:

创建另一个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