openshift 容器云从入门到崩溃之七《数据持久化》
数据持久化常用的有两种:
hostPath 挂载容器宿主机的本地文件夹,直接修改pod的配置
volumes:
- hostPath:
path: /data/logging-es
type: ''
name: elasticsearch-storage
这种方式虽然简单但是有个致命缺点就是容器必须运行在某个node节点上
nodeName: oc-node02
还有就是重点要说的网络存储:
因为oc是基于k8s的所以k8s支持的存储类型oc都支持
k8s支持存储:https://kubernetes.io/docs/concepts/storage/persistent-volumes/
下面主要说两个一个是NFS和glusterfs
1、NFS
为docker-registry配置数据持久化
创建pv
# vim pv.yaml apiVersion: v1
kind: PersistentVolume
metadata:
name: registry-storage-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
nfs:
path: /opt/nfs
server: nfs.server
readOnly: false # oc create -f pv.yaml
创建pvc
# vim pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: registry-storage
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 100Gi
# oc project default
# oc create -f pvc.yaml
挂载存储
# oc set volume dc/docker-registry --add --name=registry-storage -t pvc --claim-name=registry-storage --overwrite
# oc set volume dc/docker-registry --add --name=registry-storage -m /registry --overwrite
1、glusterfs
glusterfs是红帽自家的分布式存储部署起来就很简单了
修改/etc/ansible/hosts文件加入以下内容
[OSEv3:children]
glusterfs
[OSEv3:vars]
openshift_storage_glusterfs_namespace=app-storage
openshift_storage_glusterfs_storageclass=true
openshift_storage_glusterfs_storageclass_default=true
openshift_storage_glusterfs_block_deploy=true
openshift_storage_glusterfs_block_host_vol_size=
openshift_storage_glusterfs_block_storageclass=true
openshift_storage_glusterfs_block_storageclass_default=false
[glusterfs]
n1.example.com glusterfs_devices='[ "/dev/xvdb", "/dev/xvdc" ]'
n1.example.com glusterfs_devices='[ "/dev/xvdb", "/dev/xvdc" ]'
n1.example.com glusterfs_devices='[ "/dev/xvdb", "/dev/xvdc" ]'
运行部署程序
# ansible-playbook /root/openshift-ansible/playbooks/openshift-glusterfs/config.yml
部署好之后查看storageclass
# oc get storageclass

其实oc(k8s)是不能支持直接操作glusterfs的是借助heketi来管理glusterfs卷的,所以heketi的稳定性至关重要
# oc project app-storage
# oc get pod

如果以后在web console 创建pvc都是默认使用glusterfs-storage storageclass动态创建pv和glusterfs卷很方便

可以看到pv已经自动建好了,当然你删了pvc pv也会自动删除,heketi也会删除关联的glusterfs卷

openshift 容器云从入门到崩溃之七《数据持久化》的更多相关文章
- openshift 容器云从入门到崩溃之八《日志聚合》
日志可以分为两部分 业务日志 业务日志一般是要长期保留的,以供以后有问题随时查询,elk是现在比较流行的日志方案,但是容器日志最好不要落地所以不能把logstash客户端包在容器里面 可以使用logs ...
- openshift 容器云从入门到崩溃之六《Source-to-Image》
上次说到了怎么在oc上面部署应用而且说道了怎么定义模板部署应用,也许你会奇怪那个我代码打包编译在哪一步,那就要说道oc的s2i流程了 下面是基本s2i流程 1.制作base-image镜像 要使用s2 ...
- openshift 容器云从入门到崩溃之五《部署应用》
1.配置部署模板 配置好用户权限之后就可以部署应用了oc常用的两种部署方式: Deploy Image方式 优点:这种方式是最简单的部署方式,你只需要有一个容器镜像就行了或者公开的docker hub ...
- openshift 容器云从入门到崩溃之二《准备环境》
openshift 从3.9开始就开始支持系统组件在容器里运行了,之前版本都是直接运行在操作系统上,名字也改了叫OKD 目前最新的稳定版本是3.11,所以就安装3.11版本 准备环境: 主机名 系统 ...
- openshift 容器云从入门到崩溃之一《容器能解决什么问题》
容器前时代 说到容器大多数人想到的就是docker,docker的迅速崛起使得使用容器的门槛大大降低了,我第一次接触docker还是14年,那时候作为一名运维部署应用还在大量使用虚拟化,从vmware ...
- openshift 容器云从入门到崩溃之九《容器监控-报警》
容器状态监控 主要是监控POD的状态包括重启.不健康等等这些k8s api 状态本身会报出来,在配合zabbix报警 导入zabbix模板关联上oc master主机 <?xml version ...
- openshift 容器云从入门到崩溃之三《安装openshift》
准备好环境,在安装之前请先了解openshift提供的ansible有大量的安装选项 文档地址:https://docs.okd.io/latest/install/configuring_inven ...
- openshift 容器云从入门到崩溃之十《容器监控-数据展示》
POD资源历史曲线(CPU.内存.网络) 监控方案heapster+hawkular-metrics+hawkular-cassandra heapster负责收集数据 hawkular-cassan ...
- openshift 容器云从入门到崩溃之四《配置用户验证》
1.配置本地用户 之前安装的时候选择了htpasswd验证方式 先创建用户 # htpasswd -c /etc/origin/master/htpasswd admin 授权为集群管理员 # oc ...
随机推荐
- Sublime Text 代码块注释
插件:DocBlockr /*回车:创建一个代码块注释 /**回车:在自动查找函数中的形参等等.
- 给页面点击链接加了转圈圈和解决遇到的bug
今天遇到一个问题,之前给整个网站上的链接加了loading,今天遇到在ios的chrome和safari下点击进入新页面然后点击浏览器的返回按钮,loading还在,并且一直存在,最后网上搜到了解决方 ...
- 【LeetCode】二叉搜索树的前序,中序,后续遍历非递归方法
前序遍历 public List<Integer> preorderTraversal(TreeNode root) { ArrayList<Integer> list = n ...
- [mvc] 过滤器filter一览
1.mvc的过滤器种类
- Laravel-mix 中文文档
镜像地址 : https://segmentfault.com/a/1190000015049847原文地址: Laravel Mix Docs 概览 基本示例 larave-mix 是位于w ...
- 一个tomcat服务器上部署多个Web项目,不同域名访问
[参考]一个tomcat服务器上部署多个项目,不同域名访问 我们一个服务器只按装了一个tomcat服务器,现在有多个项目或者多个域名访问,下面来进行配置 在这里我们只需要修改conf下的server. ...
- springmvc date
数据格式化,从本质上讲属于数据转换的范畴.Spring就是基于数据转换框架植入“格式化”功能的. 在数据转换时我们进行了如下配置: 我们使用的是ConversionServiceFactoryBean ...
- PXE:另类方式启动 centos live
default menu.c32 timeout 1 label centos76-live-by-other menu label centos76-live from ftp by other k ...
- Object.assign方法的使用
https://www.cnblogs.com/chenyablog/p/6930596.html
- 通过poi的XSSF实现生成excel文件
maven导入依赖jar包: <dependency> <groupId>org.apache.poi</groupId> <artifactId>po ...