ToB企服应用市场:ToB评测及商务社交产业平台

标题: 读数据掩护:工作负载的可恢复性16Docker与Kubernetes [打印本页]

作者: 熊熊出没    时间: 前天 13:16
标题: 读数据掩护:工作负载的可恢复性16Docker与Kubernetes

1. 混淆云平台里的数据

1.1. 许多盘算环境采用的都是混淆云(hybrid cloud)模子,这种模子会把得当放在云端处理的任务移动到云端,同时把那些得当在本地处理的任务留在数据中心
1.2. NFS/SMB网关
1.3. 云盒
2. Docker与Kubernetes

2.1. 容器与编排器(orchestrator,也叫协调器)​
2.2. Docker与Kubernetes给传统的备份与恢复流程所带来的变化,比从前好长一段时间里发生的变化都要大
2.3. 容器就是一个轻量级的假造机
2.4. Kubernetes
2.5. 从数据掩护的角度来看,Docker与Kubernetes真是让人又喜好又讨厌
3. 容器如何改变传统的备份方式

3.1. 在假造化技术出现之前,我们是通过给服务器里放置agent来做备份的
3.2. 在假造机管理器这一层面来运行agent,并令其将假造机作为镜像加以备份
3.3. 到了容器时代,这两种模式都不管用了
3.4. 对于容器来说,现在还没办法将agent放在容器运行时(例如Docker)这一层运行
3.5. 不要把可用性与恢复能力混为一谈
3.6. 除了DR(灾难恢复)​,你还需要确保自己能够重制整个环境,例如能够从测试/开发环境移动到生产环境(也就是正式环境)​,或者从生产环境移动到升级之前的staging环境(预备环境/过渡环境)​
3.7. 运行在K8s集群里的应用步调可能也需要备份,以便处理用户错误及软件bug,并与相干的法律法规符合
3.8. 无论你选用什么样的备份方案,都必须保证有待掩护的数据确实全都得到了掩护
4. Dockerfile

4.1. Docker容器需要根据镜像运行,而镜像则需要根据Dockerfile构建
4.2. 如果你想设置一套合理的Docker工作环境,那么首先应该考虑用GitHub这样的代码仓库来做版本管理体系,以控制所有的Dockerfile
4.3. 应该先把所有的Dockerfile都存放到代码仓库里,这样的话,如果当前构建的这一版有题目,那你就可以把这个Dockerfile过去的版本pull(拉取/提取)出来,并根据那一版去构建
4.4. 即便是第三方的Docker镜像,也应该这样管理,因为那些镜像的制作者未必会保留以往的版本
4.5. 如果你需要回滚到某个旧的版本,那么在自己管控这些镜像的场所里操作起来会更加方便
4.6. 与每个K8s deployment有关的YAML文件也应该纳入代码库
4.7. Docker镜像
5. Kubernetes etcd

5.1. Kubernetes的etcd设置数据库相当重要
5.2. 把这个数据库备份下来,能够帮助我们对整个集群做元数据恢复(metadata recovery),因为它既生存了集群的状态,还生存了设置信息
5.3. 通过etcdctl snapshot save snapshot.db命令来备份
6. 持久卷

6.1. 容器可以通过各种方式来访问用于存放或创建数据的持久存储
6.2. 传统的方案是Docker卷,它是以Docker环境中的子目次情势存在的
6.3. 从备份的角度看,传统的卷与刚说的bind mount在本质上是一样的
6.4. 持久卷(persistent volume)的备份方式取决于你在容器里面是怎样使用它们的
6.5. 持久卷里的数据可能在不断地变化,你必须办理好这一点,才能创建出application-consistent镜像
7. 数据库

7.1. 一个办法是直接连到数据库引擎,让它把数据备份到一个文件里,然后你去把谁人文件备份下来
7.2. 另一种办法是在另一台主机上运行数据库备份命令,让该命令针对容器里的谁人数据库做备份

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4