今天,我想向您展示如何在minishift / CDK 3(Red Hat’s Containers Development Kit 3
,红帽的容器开发工具包3)中为您的项目轻松添加设置一些存储器。
首先,让我们开始计划你需要什么:
只需要这些,我保证!
我不会详细介绍如何建立一个Minishift或CDK 3.你可以通过互联网找到很多文章去了解。不过,我将在下面给出一些有用的链接,来帮助你在继续操作之前可以有一个Minishift或CDK3:
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的空闲空间。