前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何快速在Minishift / CDK 3 中添加永久存储

如何快速在Minishift / CDK 3 中添加永久存储

作者头像
drklug
发布2018-01-08 17:47:32
3.3K0
发布2018-01-08 17:47:32

今天我们来认识一下如何在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,你就现在已经准备好继续下面的工作,来为你的持久卷(Persistent Volume,简称PV)创建底层存储。

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

代码语言:js
复制
$ minishift ssh
[docker @ minishift〜] $ sudo -i
[root @ minishift〜]#

现在我们创建第一个持久卷后端目录来存放Docker注册表文件:

代码语言:js
复制
[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:

代码语言:js
复制
$ 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”项目

代码语言:js
复制
$ oc project default
在服务器“https://192.168.42.69:8443”上使用项目“default”。

最后,创建你的第一个持久卷:

代码语言:js
复制
$ 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,并与持久层资源绑定:

代码语言:js
复制
$ 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”来匹配持久卷。

接下来可以使用下面的指令来查看一下结果:

代码语言:js
复制
$ oc get pvc
NAME          STATUS VOLUME   CAPACITY ACCESSMODES AGE
registryclaim Bound  registry 5Gi      RWO         8s

最后,我们可以目前的部署动作拼接起来,添加上我们刚刚创建的存储:

代码语言:js
复制

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

这就完了!你可以多次重复以上步骤,不过要注意一下你虚拟机的可用空间。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 下面进入正题!
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档