返回顶部
首页 > 资讯 > 精选 >如何备份Kubernetes和Docker
  • 223
分享到

如何备份Kubernetes和Docker

2023-06-04 11:06:56 223人浏览 独家记忆
摘要

这篇文章主要为大家展示了“如何备份kubernetes和Docker”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何备份Kubernetes和Docker”这篇文章吧。用户的容器基础设施需要某

这篇文章主要为大家展示了“如何备份kubernetesDocker”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何备份Kubernetes和Docker”这篇文章吧。

用户的容器基础设施需要某种类型的备份。Kubernetes和Docker在灾难之后不会自己构建。用户无需备份每个容器的运行状态,但是需要备份用于运行和管理容器的配置。

以下是用户需要备份的内容。

配置和所需状态信息

  • Dockerfile用于构建镱像以及这些文件的所有版本

  • 从Dockerfile创建并用于运行每个容器的镜像

  • Kubernetes etcd和其他有关集群状态的k8s数据库

  • Deployments用于描述每个部署的YAML文件

  • 容器创建或更改的持久数据

  • 持久卷

  • 数据库

  • Dockerfiles

    Docker容器从镜像运行,其镜像从Dockerfiles构建。正确的Docker配置将首先使用某种存储库(例如GitHub)作为所有Dockerfile的版本控制系统。不要使用从临时Dockerfile构建的临时镜像创建临时容器。所有Dockerfile都应存储在存储库中,如果当前版本存在问题,该存储库将允许用户提取这个Dockerfile的历史版本。

    用户还应该具有存储与每个K8s部署关联的YAML文件的某种存储库,这些是可以从版本控制系统中受益的文本文件。

    然后需要备份这些存储库。gitHub是比较受欢迎的存储库之一,它提供了许多备份存储库的方法。有多种脚本使用提供的api来下载存储库的当前备份。用户还可以使用第三方商业工具来备份GitHub或用户正在使用的任何存储库。

    如果没有遵循上述建议,而是根据不再具有Dockerfile的镜像运行容器,则可以使用Docker 镜像历史命令或dfimage之类的工具从当前镜像创建Dockerfile。将这些Dockerfile放入存储库中,然后开始备份。但是不要陷入这种情况,应该始终存储和备份用于创建环境的Dockerfile和YAML文件。

    Docker镜像

    用于运行容器的当前镜像也应存储在存储库中(当然,如果用户正在Kubernetes中运行Docker镜像,那么已经在这样做了)。用户可以使用私有存储库(例如Docker注册表)或公共存储库(例如Dockerhub)。云计算提供商还可以为用户提供私人存储库来存储镜像。然后应备份该回购的内容。诸如“Dockerhub备份”之类的简单搜索就可以产生令人惊讶的众多选择。

    如果用户没有用于运行容器的当前镜像,则可以使用docker commit命令创建一个。然后,使用Docker镜像历史记录或工具dfimage从该镜像创建Dockerfile。

    Kubernetes etcd

    Kubernetes etcd数据库非常重要,应使用etcdctl snapshot save db命令进行备份。这将在当前目录中创建文件snapshot.db。然后应将该文件备份到外部存储。

    如果使用的是商业备份软件,则可以在创建snapshot.db的目录备份之前轻松触发etcdctl snapshot save命令。这是将备份集成到商业备份环境中的一种方法。

    持久卷

    容器可以通过多种方式访问持久性存储,而持久性存储可用于存储或创建数据。传统的Docker卷位于Docker配置的子目录中。绑定挂载只是Docker主机上安装在容器内(使用bind mount命令)的任何目录。出于多种原因,Docker社区首先选择传统卷,但出于备份目的,传统卷和绑定安装实质上是相同的。用户还可以将网络文件系统(NFS)目录或对象从对象存储系统作为卷装入容器中。

    用于备份持久卷的方法将基于用于容器的上述选项。但是,它们都会有相同的问题:如果数据正在更改,则需要处理该问题才能获得一致的备份。

    一种方法是关闭使用该特定卷的任何容器。这种做法虽然有些过时,但这是容器世界所面临的挑战之一,因为在容器中放置备份代理的典型方法并不是一种很好的选择。一旦关闭,便可以备份该卷。如果它是传统的Docker卷,则可以通过将其挂载到另一个在备份时不会更改其数据的容器中进行备份,然后在绑定安装的卷中创建该卷的tar镜像,然后使用备份系统使用的任何方法进行备份。

    但是,这在Kubernetes中确实很难做到。这是有状态信息最好存储在数据库而不是文件系统中的原因之一。而在设计K8s基础设施时,需要考虑此问题。

    另外,如果用户使用绑定安装目录、NFS安装文件系统或对象存储系统作为持久性存储系统,则可以使用优秀的方法来备份该存储系统。这可能是快照,然后是复制,或者只是在该系统上运行商业备份软件。与相同卷的典型文件级备份相比,这些方法可能提供更加一致的备份。

    数据库

    下一个备份挑战是容器使用数据库存储其数据。这些数据库需要以保证其完整性的方式进行备份。根据数据库的不同,上述方法可能会起作用:关闭访问数据库的容器,然后备份存储其文件的目录。但是,这种方法所需的停机时间可能不合适。

    另一种方法是直接连接到数据库引擎本身,并要求它运行到文件的备份,然后可以对其进行备份。如果数据库在容器内运行,则首先需要使用绑定安装来附加一个可以备份的卷,因此其备份可以存在于容器外部。然后运行数据库使用的命令(例如mysqldump)创建备份。然后确保使用备份系统创建的文件。

    如果用户不知道哪些容器正在使用什么样的存储或什么样的数据库怎么办?一种解决方案可能是使用docker ps命令列出正在运行的容器,然后使用docker inspect命令显示每个容器的配置。有一个名为“挂载”的部分,它将告诉用户将哪些卷挂载在何处。任何绑定安装也将在用户提交给Kubernetes的YAML文件中指定。

    商业备份解决方案

    有各种各样的商业备份解决方案可以保护上述部分或全部数据。以下是一个非常简短的摘要:

  • Commvault的虚拟服务器代理可以充当备份容器及其镜像的代理。

  • Cohenity为K8s命名空间提供数据保护。

  • Heptio(现为VMware公司)提供为K8s设计的Velero备份。

  • Contino、Datacore和Portworx提供专为K8和容器设计的存储,并且还支持备份该信息。

  • 鉴于K8和Docker的配置方式多种多样,很难涵盖所有内容。但是希望提供一些思考的机会,或者可以帮助用户备份一些应该但尚未备份的东西。

以上是“如何备份Kubernetes和Docker”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何备份Kubernetes和Docker

本文链接: https://lsjlt.com/news/237635.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何备份Kubernetes和Docker
    这篇文章主要为大家展示了“如何备份Kubernetes和Docker”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何备份Kubernetes和Docker”这篇文章吧。用户的容器基础设施需要某...
    99+
    2023-06-04
  • Docker如何备份数据
    这篇文章给大家分享的是有关Docker如何备份数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。备份数据docker run --rm --volu...
    99+
    2024-04-02
  • mysql如何全量备份和增量备份
    本篇内容主要讲解“mysql如何全量备份和增量备份”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql如何全量备份和增量备份”吧!mysql 全量备份:vi...
    99+
    2024-04-02
  • Kubernetes和Docker是什么
    小编给大家分享一下Kubernetes和Docker是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是Docker虽然,我们一直在谈论容器,探讨基于容器的...
    99+
    2023-06-04
  • Docker中Mysql数据备份
    Docker中Mysql数据备份 1.创建备份用户2.准备测试数据3.完全备份4.知识点解析 1.创建备份用户 百度过程中,有人说用最高权限root直接备份,不可取不安全,所以单独创建一个...
    99+
    2023-09-08
    docker mysql
  • docker和kubernetes有什么区别
    Docker和Kubernetes都是用于容器化应用程序的工具,但是它们有不同的功能和用途。 Docker是一种容器化引擎,用于创建...
    99+
    2024-04-08
    docker kubernetes
  • 如何使用Docker恢复Mysql8备份的Data数据
    目录安装新 mysql初始化数据库复制文件移动文件(重要步骤)测试前段时间公司数据库服务器崩溃启动不起来,经过我初步排查是/home目录挂载不上导致启动不起来,虽然通过注释/etc/fstab中的挂载信息,启动了,但是发...
    99+
    2022-11-26
    Docker恢复Mysql数据备份 DockerMysql数据备份
  • 如何备份mysql
    本篇文章为大家展示了如何备份mysql,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如何备份mysql1.进入mysql客户端连接数据库2.选择需要备份的文件,点击...
    99+
    2024-04-02
  • Xtrabacup如何备份
    这篇文章将为大家详细讲解有关Xtrabacup如何备份,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第1章 XTRABACKUP1.1 xtrabackup介绍InnoD...
    99+
    2024-04-02
  • mysql如何备份
    这篇文章将为大家详细讲解有关mysql如何备份,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 mysqlhotcopy是一个Perl脚本,最...
    99+
    2024-04-02
  • 如何备份ubuntu
    备份ubuntu的方法:打开终端,输入“$ sudo su”成为root用户。再进入文件系统的根目录,命令:# cd /使用以下命令备份系统:# tar cvpzf backup.tgz&n...
    99+
    2024-04-02
  • 如何备份和还原MySQL数据
    如何备份和还原MySQL数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。使用mysqldump进行备份和还原使用mysqld...
    99+
    2024-04-02
  • FreeBSD如何进行备份和恢复
    FreeBSD可以使用多种工具来进行备份和恢复,以下是一些常用的方法: 使用rsync命令进行备份和恢复: 备份:可以使用rs...
    99+
    2024-04-02
  • kubernetes和docker的区别有哪些
    Kubernetes和Docker是两个不同的技术,各自有着不同的功能和用途。以下是它们之间的一些主要区别:1. 虚拟化层级:Doc...
    99+
    2023-08-24
    kubernetes docker
  • MySQL中如何选择合适的备份策略和备份工具
    ​数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线。鉴于此,对于备份,我们通常会做以下要求: 多地部署 对于核心数据库,我们通常有两地三中心的部署要求。对于备份来说,也是如此。 一个备份应该有多个副本,每个副本存储在不同...
    99+
    2020-06-26
    MySQL中如何选择合适的备份策略和备份工具
  • MySQL数据库如何用脚本备份全库和增量备份
    MySQL数据库如何用脚本备份全库和增量备份?针对这个问题,今天小编总结这篇有关数据库备份的文章,可供感兴趣的小伙伴们参考借鉴,希望对大家有所帮助。1、全库备份脚本如下:#!/bin/bash ######...
    99+
    2024-04-02
  • Mac上如何使用Docker Desktop启动Kubernetes
    本篇内容主要讲解“Mac上如何使用Docker Desktop启动Kubernetes”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mac上如何使用Docker Desktop启动Kuberne...
    99+
    2023-06-03
  • Docker容器中如何备份、恢复、迁移、导入、导出
    这篇文章给大家分享的是有关Docker容器中如何备份、恢复、迁移、导入、导出的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议...
    99+
    2023-06-04
  • 如何备份阿里云数据库备份详细步骤和策略
    阿里云数据库备份是一项重要的任务,可以保护数据免受意外丢失、灾难性事件或其他不可预见情况的影响。这篇文章将详细介绍如何备份阿里云数据库备份,包括详细的步骤和策略。 了解备份策略首先,了解阿里云的备份策略是非常重要的。阿里云提供了多种备份策略...
    99+
    2023-11-17
    备份 阿里 步骤
  • 如何在Couchbase中实现数据备份策略和周期性备份
    在Couchbase中实现数据备份策略和周期性备份可以通过以下步骤实现: 使用Couchbase的内置工具:Couchbase提...
    99+
    2024-04-09
    Couchbase
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作