今天我们来认识一下如何在minishift / CDK 3(Red Hat’s Containers Development Kit 3
即红帽公司容器开发工具包3)中为您的项目轻松设置一些持久性存储。
实验需求条件
首先,让我们先看你需要什么:
· 一个minishift或CDK 3。
这就足够了!
我不会深究如何建立一个minishift或CDK 3,网络上上有很多文章可以告诉你如何做。不过,我将在下面重新介绍一些有用的链接,以确保在继续实验之前你已经拥有了minishift/ CDK3:
· minishift的GitHub页面 - https://github.com/minishift/minishift。
一旦你成功设置了一个可以使用的minishift或CDK3,你就现在已经准备好继续下面的工作,来为你的持久卷(Persistent Volume,简称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 Registry容器的持久卷创建。
首先,从你的minishift或CDK3虚拟机注销,然后通过oc-client登录到你的Openshift:
$ oc login -u system:admin
使用现有凭证登录到“https://192.168.42.58:8443”,并以“system:admin”身份登录。
你可以访问以下项目,并使用'oc project <projectname>'在它们之间切换:
default
kube-system
* myproject
openshift
openshift-infra
Using project "myproject".
现在我们来切换到“default”项目
$ oc project default
在服务器“https://192.168.42.69:8443”上使用项目“default”。
最后,创建你的第一个持久卷:
$ cat << PV | oc创建-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,并与持久层资源绑定:
$ 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”来匹配持久卷。
接下来可以使用下面的指令来查看一下结果:
$ oc get pvc
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE
registryclaim Bound registry 5Gi RWO 8s
最后,我们可以目前的部署动作拼接起来,添加上我们刚刚创建的存储:
$ oc volume dc/docker-registry --add --name=registry-storage -t pvc --claim-name=registryclaim --overwrite
deploymentconfig "docker-registry" updated
这就完了!你可以多次重复以上步骤,不过要注意一下你虚拟机的可用空间。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有