MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > linux / 正文

Linux系统k8s集群部署实践(三)- k8s执行postgresql数据备份

2024-11-26 15:08 huorong linux 5 ℃ 0 评论

简介:Kubernetes(简称K8s)是Google在2014年开源的一个容器集群管理系统,Kubernetes在希腊语中意思是船长或领航员,这也恰好与它在容器集群管理中的作用吻合,作为装载了集装箱(Container)的众多货船的指挥者,负担着全局调度和运行监控的职责。Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。

一个K8s集群是由分布式存储(etcd)、服务节点(Node)和控制节点(Master)构成的。所有的集群状态都保存在etcd中,Master节点上则运行集群的管理控制模块。Node节点是真正运行应用容器的主机节点,在每个服务节点上都会运行一个Kubelet代理,控制该节点上的容器、镜像和存储卷等。

本文基于K8S进行postgres数据库进行备份,其中涉及到psql、kubectl、crontab、pg_dumpall的基本操作。详细请查看下文。

一、登录K8S服务器

1、登陆linux服务器

2、获取数据库所在命名空间

执行指令# kubectl get namespace查看该集群中数据库所在空间名

3、获取数据库所在节点

执行指令# kubectl get pod -n default选取default空间名进行集群节点的获取

4、进入对接节点容器

二、进行数据备份操作

说明:K8S中的postgresql数据库备份操作基本步骤为,设置数据库连接信息系统变量、采用pg_dumpall进行数据备份、授与生成的脚本执行权限、拷贝备份脚本到对应容器并执行该脚本、拷贝备份文件到服务器指定位置。

1、编写postgresql备份脚本

在/usr/local/backup目录中创建数据库备份脚本

将备份脚本保存为backup_postgre.sh

说明:因为实际的备份操作需在容器内才可进行,所有脚本执行后会生成备份脚本exportPG.sh并将其复制到容器中,然后通过kubectl exec 来执行复制进去的脚本exportPG.sh。备份完成后该备份文件存在于容器内,使用kubectl cp将备份文件从容器内复制到容器外服务器的备份目录中。

2、执行postgresql备份脚本

执行指令# sh backup_postgre.sh开始备份

3、查看备份生成的文件

其中2022-12-09.sql就是在容器中执行备份操作后生成并拷贝出来的备份文件。

至此,K8S中的postgresql数据备份已经完成,后续再根据实际需要写进计划任务定期执行。

Tags:linux登录数据库

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言