velero 是heptio 团队开源的kubernetes 应用以及持久化数据卷备份以及迁移的解决方案,以前的名字为ark 包含以下特性: 备份集群以及恢复 copy 当前集群的资源到其他集群 复制产品环境到开发以及测试环境中 velero 包含的额组件 server 运行在你的集群中 运行在本地的命令行客户端工具 velero 支持的备份存储provider aws s3 (以及s3兼容的存储,比如可以使用minio) azure blob 存储 google cloud 存储 参考资料 h…
作者 | 至天 阿里巴巴高级研发工程师 一.Volumes 介绍 Pod Volumes 首先来看一下 Pod Volumes 的使用场景: 场景一:如果 pod 中的某一个容器在运行时异常退出,被 kubelet 重新拉起之后,如何保证之前容器产生的重要数据没有丢失? 场景二:如果同一个 pod 中的多个容器想要共享数据,应该如何去做? 以上两个场景,其实都可以借助 Volumes 来很好地解决,接下来首先看一下 Pod Volumes 的常见类型: 本地存储,常用的有 emptydir/ho…
作者 | 至天 阿里巴巴高级研发工程师 一.基本知识 存储快照产生背景 在使用存储时,为了提高数据操作的容错性,我们通常有需要对线上数据进行 snapshot ,以及能快速 restore 的能力.另外,当需要对线上数据进行快速的复制以及迁移等动作,如进行环境的复制.数据开发等功能时,都可以通过存储快照来满足需求,而 K8s 中通过 CSI Snapshotter controller 来实现存储快照的功能. 存储快照用户接口-Snapshot 我们知道,K8s 中通过 pvc 以及 pv 的设…
前言 前面已经写了两篇关于docker的博文了,在工作中有关docker的基本操作已经基本讲解完了.相信现在大家已经能够熟练配置docker以及使用docker来创建镜像以及容器了.本篇博客将会讲解如何让容器中的一个目录与宿主机的一个目录进行绑定.这样就可以实现容器与宿主机之间的文件共享. 例如:我们只要把网站数据放到宿主机的共享文件中,无需再频繁登录容器,就可以实现网站的部署,这样是不是很酷? 接下来本篇博客将会使用几个简单的命令带你完整演示上面的例子怎么玩. 另外,在<Docker端口映射及…
数据卷volume功能特性 数据卷 是一个可供一个或多个容器使用的特殊目录,实现让容器中的一个目录和宿主机中的一个文件或者目录进行绑定.数据卷 是被设计用来持久化数据的对于数据卷你可以理解为NFS中的哪个分享出来的挂载点,指宿主机共享的目录. 主要有如下的功能和特性 容器中数据的持久存储 容器间的资源共享 容器的迁移(分布式) 对数据卷的修改会立马生效 对数据卷的更新,不会影响镜像 数据卷默认会一直存在,即使容器被删除 (注意docker自主管理的会被删除,容器删除前一定要对数据卷进行备份) 数…
引言 docker的镜像是由多个只读的文件系统叠加在一起形成的.当我们在我启动一个容器的时候,docker会加载这些只读层并在这些只读层的上面(栈顶)增加一个读写层.这时如果修改正在运行的容器中已有的文件,那么这个文件将会从只读层复制到读写层.该文件的只读版本还在,只是被上面读写层的该文件的副本隐藏.当删除docker,或者重新启动时,之前的更改将会消失.在Docker中,只读层及在顶部的读写层的组合被称为Union File System(联合文件系统). 为了很好的实现数据保存和数据共享,D…
volume——如何让容器中的一个目录与宿主机的一个目录进行绑定,实现容器与宿主机之间的文件共享? 数据卷volume功能特性 数据卷:是一个可供一个或多个容器使用的特殊目录,实现让容器中的一个目录和宿主机中的一个文件或者目录进行绑定.数据卷 是被设计用来持久化数据的对于数据卷你可以理解为NFS中的哪个分享出来的挂载点,指宿主机共享的目录.主要有如下的功能和特性 • 容器中数据的持久存储 • 容器间的资源共享 • 容器的迁移(分布式) • 对数据卷的修改会立马生效 • 对数据卷的更新,不会影响镜…
数据卷概述 Kubernetes Volume(数据卷)主要解决了如下两方面问题: 数据持久性:通常情况下,容器运行起来之后,写入到其文件系统的文件暂时性的.当容器崩溃后,kubelet 将会重启该容器,此时原容器运行后写入的文件将丢失,因为容器将重新从镜像创建. 数据共享:同一个 Pod(容器组)中运行的容器之间,经常会存在共享文件/文件夹的需求 Docker 里同样也存在一个 volume(数据卷)的概念,但是 docker 对数据卷的管理相对 kubernetes 而言要更少一些.在 Do…
Velero基本介绍 官方文档:https://velero.io/docs/v1.4/ 基本工作原理: 不管需求是实现什么,比如:集群迁移.恢复.备份,其核心都是通过velero client CLI创建一个backup,然后迁移和恢复等操作都是需要这个backup来完成的. 创建一个backup,velero backup create test-backup: Velero client 调用Kubernetes API服务器以创建Backup. BackupController检测到新的…
k8s中部署有状态应用等需要持久化数据的应用,必不可少得用存储,k8s支持很多中存储方案,我司目前使用的存储有glusterfs(分为容器化和裸机方式).nfs供应用选用,本次就简单实战下glusterfs配合k8s做数据存储. 介绍 GlusterFS系统是一个可扩展的网络文件系统,相比其他分布式文件系统,GlusterFS具有高扩展性.高可用性.高性能.可横向扩展等特点,并且其没有元数据服务器的设计,让整个服务没有单点故障的隐患. 规划 192.168.209.130 master-01 1…