快速添加永久存储到到Minishift / CDK 3

时间:2022-04-21
本文章向大家介绍快速添加永久存储到到Minishift / CDK 3,主要内容包括准备、让我们开始吧、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

今天,我想向您展示如何在minishift / CDK 3(Red Hat’s Containers Development Kit 3

,红帽的容器开发工具包3)中为您的项目轻松添加设置一些存储器。

准备

首先,让我们开始计划你需要什么:

  • Minishift或CDK 3

只需要这些,我保证!

我不会详细介绍如何建立一个Minishift或CDK 3.你可以通过互联网找到很多文章去了解。不过,我将在下面给出一些有用的链接,来帮助你在继续操作之前可以有一个Minishift或CDK3:

红帽容器开发工具包3测试版使用说明

Minishift的GitHub页面 - https://github.com/minishift/minishift

让我们开始吧

当你成功设置了Minishift/CDK3,就已经准备好了,为你的永久卷(PV)创建底层存储。

首先,连接到你正在运行的minishift / CDK3:

$ minishift ssh
[docker @ minishift〜] $ sudo -i
[root @ minishift〜]#

然后我们准备创建我们的第一个永久卷后端的目录托管Docker注册文件:

[root @ minishift〜]# mkdir -p /mnt/sda1/var/lib/minishift/openshift.local.volumes/pv
[root @ minishift〜]# mkdir /mnt/sda1/var/lib/minishift/openshift.local.volumes/pv/registry
[root @ minishift〜]# chmod 777 -R /mnt/sda1/var/lib/minishift/openshift.local.volumes/pv

很好!我们现在需要到创建在Docker容器上的PersistentVolume继续(PV)。

首先,从minishift / CDK3 VM注销,然后通过oc-client登录到Openshift:

$ oc login -u system:admin
Logged into "https://192.168.42.58:8443" as "system:admin" using existing credentials.
You have access to the following projects and can switch between them with 'oc project <projectname>':
 default
 kube-system
 * myproject
 openshift
 openshift-infra
Using project "myproject".

将项目切换到“默认”:

$ oc project default
Now using project "default" on server "https://192.168.42.69:8443".

最后,创建你的第一个PV(PersistentVolume):

 $ cat << PV | oc create -f -
 apiVersion: v1
 kind: PersistentVolume
 metadata:
 name: registry
 spec:
 capacity:
 storage: 5Gi
 accessModes:
 - ReadWriteOnce
 storageClassName: slow
 hostPath:
 path: /mnt/sda1/var/lib/minishift/openshift.local.volumes/pv/registry
 PV

有两件事情需要特别注意:

1.存储容量:不会自动计算,你需要关心磁盘和可用空间大小。

2.卷类型“hostPath”的用法:存储位于minishift / CDK3虚拟磁盘上,需要注意权限!

好的,现在我们准备创建我们的第一个PersistentVolumeClaim,并与PersistentVolume资源进行绑定:

$ cat << PVC | oc create -f -
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
 name: registryclaim
spec:
 accessModes:
  - ReadWriteOnce
 resources:
  requests:
   storage: 5Gi
 storageClassName: slow
 selector:
  name: registry
PVC

正如从PersistentVolumeClaim定义中所给出的,我们通过名称“registry”来定位PersistentVolume。

现在,我们可以以下命令的输出来检查结果:

$ oc get pvc
NAME          STATUS VOLUME   CAPACITY ACCESSMODES AGE
registryclaim Bound  registry 5Gi      RWO         8s

最后,我们可以向当前注册表DeploymentConfig中添加我们刚刚创建的存储:

$ oc volume dc/docker-registry --add --name=registry-storage -t pvc --claim-name=registryclaim --overwrite
deploymentconfig "docker-registry" updated

以上就是全部,你可以多次重复这些步骤!但是需要留意VM的空闲空间。