将永久存储添加到Red Hat CDK Kit 3.0

注意:本文介绍了在Red Hat容器开发工具包3.0测试版中使用的方法。在将来的版本中可能会有所变更。

红帽容器开发工具包(CDK)提供了一个一体化的环境,不仅可以构建和测试Docker容器,还可以在Red Hat OpenShift容器全平台上使用它们,只需要来自一台开发用机器。自从出现,CDK就使用Vagrant作为服务平台。从版本3.0开始,CDK使用Minishift作为底层服务。基于Minishift的CDK 3.0减少了需要安装和配置的依赖的数量。现在只需要VirtualBox或KVM等虚拟机管理程序就可以实现管理。

CDK最大的好处之一就是它提供了一个开发人员可以使用的功能齐全的环境。但是,向CDK 3.0过渡过程中确实忽略了以前版本中的一个关键特性:预先配置的永久性存储。在CDK 2.0中,OpenShift使用的三个永久卷被预先配置为向应用程序提供长期存储,通过在主机上配置了一个网络文件系统(NFS)服务器来提供这样的功能。 Minishift主机没有配置NFS服务器。但是,可以使用OpenShift提供的其中一种替代存储类型:HostPath。 HostPath卷工具使用容器底层主机上的存储,而无需安装任何其他软件。

要为主机路径存储配置CDK,应创建多个代表PersistentVolume的索引以支持需要长期存储的应用程序。由于Minishift引导到tempfs,大多数索引在机器重启不会保持。只有放置在以下目录中的文件才会被保留:

  • /var/lib/docke
  • /var/lib/minishift

应该在目录/var/lib/minishift/pv中创建三个新的永久卷分别代表pv01 pv02和pv03。

在CDK已经启动的情况下,执行以下命令通过shell方式访问Minishift:

minishift ssh

默认情况下,当使用SSH命令访问Minishift机器时,您将以一个名为docker的用户身份登录。由于这个目录是由root用户授权和保护的,所以需要权限提升。

sudo su - 

为PersistentVolumes创建三个目录:

mkdir -p /var/lib/minishift/pv/pv0{1..3}

为了简化CDK等开发环境中的权限管理,放宽目录权限和所有权:

chmod -R 777 / var / lib / minishift / pv / pv *
chmod -R a + w / var / lib / minishift / pv / pv *

CDK的一个主要优点是它建立在红帽企业Linux(RHEL)基础之上。 RHEL固有的安全功能之一SELinux,不仅为主机提供了额外的保护,还提供了为其他任何容器提供底层支持的功能。默认情况下,容器会被限制直接向底层文件系统写入。要允许容器为永久卷创建的目录,必须设置SELinux标签svirt_sandbox_file_t。

执行以下命令重新设置目录:

chcon -R -t svirt_sandbox_file_t / var / lib / minishift / pv / *
restorecon -R / var / lib / minishift / pv /

正确配置目录之后,可以创建使用HostPath存储插件的永久卷。确保使用OpenShift命令行工具并以管理员身份登录到OpenShift环境中:

oc登录-u系统:admin

现在创建新的永久卷:

for i in $(seq 1 3); do
oc create -f - <<PV
  apiVersion: v1
  kind: PersistentVolume
  metadata:
  name: pv0$i
  spec:
  accessModes:
  - ReadWriteOnce
  - ReadWriteMany
  - ReadOnlyMany
  capacity:
    storage: 2Gi
  hostPath:
    path: /var/lib/minishift/pv/pv0$i
  persistentVolumeReclaimPolicy: Recycle
PV
done

现在可以验证新创建的永久卷:

oc get pv

NAME      CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS      CLAIM                                REASON    AGE
pv01      2Gi        RWO,ROX,RWX   Recycle         Available                                                  1m
pv02      2Gi        RWO,ROX,RWX   Recycle         Available                                                  1m
pv03      2Gi        RWO,ROX,RWX   Recycle         Available                                                  1m

永久存储的使用,在创建集装箱化应用程序时提供了额外的功能特别是在开发阶段。

本文的版权归 青橙. 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏别先生

linux操作系统中的netstat命令查看端口状态的使用和window操作系统查看端口号

1:linux操作系统 netstat 命令用于显示各种网络相关信息,即网络状态。而我主要使用netstat查看端口号是否启动; 参数详情: 1 -a (all...

27060
来自专栏哎_小羊

Gradle 多模块项目实现 Maven Parent 继承方式

目录 背景介绍 环境、软件准备 Gradle 安装 Gradle 多模块项目搭建 类似 Maven Parent 继承方式实现 FAQ 1、背景介绍 Gra...

1.5K80
来自专栏王小雷

GraphicsMagick安装&make命令使用

0.0本过程为GraphicsMagick Linux版安装,通过典型的make编译安装。 未了支持png和jpg格式,首先请安装依赖。执行 yum inst...

28850
来自专栏漫漫深度学习路

linux 非常用命令总结

如何删除ppa(我们在安装软件的时候,教程一般都会让添加ppa源,但是几乎没有教程会告诉你怎么删除) # 添加ppa源 sudo add-apt-reposit...

22950
来自专栏哎_小羊

GitLab 之 PlantUML 的配置及使用

目录 PlantUML介绍 环境、软件准备 PlantUML Server 安装及 GitLab 配置 实例 Demo 时序图 流程图 活动图 状态图 用例图...

873100
来自专栏漫漫深度学习路

ubuntu 文件目录结构

Ubuntu(linux)文件目录结构 主目录 /bin : 包含系统应用的地方,常用的命令,ls ,rm 等等都在这。 /sbin : 包含一些只能被超级用户...

25990
来自专栏哎_小羊

Docker镜像仓库Harbor之搭建及配置

目录 Harbor介绍 环境、软件准备 Harbor服务搭建 Harbor跨数据复制配置 FAQ 1、Harbor 介绍 Docker容器应用的开发和运行离...

1.9K90
来自专栏漫漫深度学习路

更改pip源/anaconda源:windows与linux

更改pip源 windows 在 c:\user\username\pip\pip.ini中加入 [global] index-url=http://mir...

53180
来自专栏别先生

Linux学习笔记(Ubuntu操作系统)之hadoop学习之路

1:检查虚拟机的ip命令:ifconfig 2:普通用户切换root用户命令:su 3:root用户切换普通用户命令:su 用户名 4:普通用户执行系统执行前面...

27570
来自专栏运维前线

Gitlab安装使用及汉化配置

一、GitLab简介 GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设...

2.1K60

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励