千云GPS平台 -在k8s上部署Mysql

构建xtrabackup

docker build -t registry.cn-zhangjiakou.aliyuncs.com/qy566/xtrabackup:8.0.34 --rm .

部署进度

你可以通过运行以下命令查看启动进度:

kubectl get pods -l app=mysql -n mysql-db --watch 

测试mysql

  • 发送客户端请求写入数据
    kubectl run mysql-client --image=mysql:5.7 -i --rm --restart=Never --\mysql -h mysql.mysql-db <<EOF
    CREATE DATABASE test;
    CREATE TABLE test.messages (message VARCHAR(250));
    INSERT INTO test.messages VALUES ('hello');
    EOF
    
  • 在从库中查看
    kubectl run mysql-client --image=mysql:5.7 -i -t --rm --restart=Never --\mysql -h mysql-read.mysql-db -e "SELECT * FROM test.messages"
    
  • mysql-read 服务在服务器之间分配连接
    kubectl run mysql-client-loop --image=mysql:5.7 -i -t --rm --restart=Never --  bash -ic "while sleep 1; do mysql -h mysql-read.mysql-db -e 'SELECT @@server_id,NOW()'; done"
    //执行完成后删除
    kubectl delete pods mysql-client-loop
    

模拟 Pod 和 Node 失效

  • 破坏就绪态探测
    将mysql-2的探针移除校验探测

    kubectl exec mysql-2 -c mysql.mysql-db -- mv /usr/bin/mysql /usr/bin/mysql.off
    
  • 删除 Pod
    如果删除了 Pod,则 StatefulSet 还会重新创建 Pod,类似于 ReplicaSet 对无状态 Pod 所做的操作
    StatefulSet 控制器注意到不再存在 mysql-2 Pod,于是创建一个具有相同名称并链接到相同 PersistentVolumeClaim 的新 Pod。 你应该看到服务器 ID 102 从循环输出中消失了一段时间,然后又自行出现

      kubectl delete pod mysql-2 -n mysql-db
    
  • 腾空节点

      kubectl get pod mysql-2 -o wide//腾空一个 Node 可能影响到在该节点上运行的其他负载和应用。 只应在测试集群上执行下列步骤。kubectl drain master --force --delete-local-data --ignore-daemonsets
    
  • 域名自动规则

    • [hostname] yaml中配置的hostname
    • [subdomain] yaml中配置的subdomain
    • [namespace] 为Pod所在的命名空间
    • [cluster-domain] 默认为 cluster.local
      [hostname].[subdomain].[namespace].svc.[cluster-domain]## 此时pod域名为 mysql部署使用的subdomain是serviceName配置mysql-0.mysql.mysql-base-db.svc.cluster.local
    

部署问题处理

  • 使用自己定义的pv部署,部署如果有问题,删除pv时候只能通过kubectl delete进行删除
  • 镜像下载问题,XtraBackup 1.0镜像是不能在官方镜像进行下载,需要从已经做好的镜像仓库中下载.
  • 部署时候需要指定对应的namespace,默认的namespace是mysql-db

从库复制工具

在这里插入图片描述

  • 当 innobackupex 命令开始备份的时候,首先会启动 xtrabackup 进程,xtrabackup 又分为两个线程,一个用于拷贝 ibd 文件,一个用于拷贝 redo 文件,redo 的拷贝线程只有一个,在 ibd 的拷贝线程启动前启动,在 ibd 的拷贝线程结束后结束。
  • xtrabackup 拷贝完成 idb 后,通知 innobackupex(通过创建文件),同时自己进入等待(redo 线程仍然继续拷贝)
  • innobackupex 收到 xtrabackup 通知后,执行 FLUSH TABLES WITH READ LOCK (FTWRL),取得一致性位置点,然后开始备份非 InnoDB 文件(包括 frm、MYD、MYI、CSV、opt、par 等)。拷贝非 InnoDB 文件过程中,因为数据库处于全局只读状态,非 InnoDB 表(主要 是MyISAM)如果比较多的话整库只读时间就会比较长。
  • 当 innobackupex 拷贝完所有非 InnoDB 表文件后,通知 xtrabackup(通过删文件) ,同时自己进入等待(等待另一个文件被创建);
  • xtrabackup 收到 innobackupex 备份完非 InnoDB 通知后,就停止 redo 拷贝线程,然后通知 innobackupex,redo log 拷贝完成(通过创建文件);
  • innobackupex 收到 redo 备份完成通知后,就开始解锁,执行 UNLOCK TABLES;
  • 最后 innobackupex 和 xtrabackup 进程各自完成收尾工作,如资源的释放、写备份元数据信息等,innobackupex 等待 xtrabackup 子进程结束后退出

生产环境部署步骤&文件

创建存储

由于要统一计算资源,所以需要统一规划部署
存储规划中

创建命名空间

apiVersion

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/727717.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决cs不能生成Linux木马的问题

要解决的问题&#xff1a;众所周知&#xff0c;msf上面的shell或者是其他的shell想反弹给cs默认情况下是只支持windows的&#xff0c;因为cs的监听模块默认没有linux的&#xff0c;但是有些主机就是用linux搭建的&#xff0c;这可怎么办呢。就要用到一个插件CrossC2。 下载插件…

经典算法之桶排序

桶排序(Bucket Sort)是一种将待排序数据分到几个有序的桶里,每个桶里的数据再分别排序的排序算法。桶排序适用于数据分布均匀且范围有限的场景。 概念 桶排序的工作原理是将输入数据分布到有限数量的桶里。每个桶再个别排序(有可能使用其他排序算法)。桶排序不需要比较数…

实操keepalived(高可用)+Nginx(四层代理+七层代理),实现高可用、负载均衡以及动静分离

一 vrrp技术 VRRP 相关术语 VRRP能够在不改变组网的情况下&#xff0c;将多台路由器虚拟成一个虚拟路由器&#xff0c;i通过配置虚拟路由器的IP地址为默认网关&#xff0c;实现网关的备份。 协议版本: VRRPv2 (常用) 和VRRPv3:0 VRRPv2仅适用于IPv4网络&#xff0c;VRRPv3适用…

什么是抖音小店商品卡?商品卡流量怎么做?一篇文章解答清楚!

大家好&#xff0c;我是电商糖果 抖音小店商品卡这个词还是2023年才开始出现的&#xff0c;这对很多不太了解小店的朋友来说&#xff0c;确实是一个新名词。 去年3月份抖音推出了“商品卡免佣”&#xff0c;就是因为这个政策&#xff0c;让商品卡在互联网掀起讨论度。 而今年…

[项目设计] 从零实现的高并发内存池(五)

&#x1f308; 博客个人主页&#xff1a;Chris在Coding &#x1f3a5; 本文所属专栏&#xff1a;[高并发内存池] ❤️ 前置学习专栏&#xff1a;[Linux学习] ⏰ 我们仍在旅途 ​ 目录 8 使用定长内存池脱离new 9. 释放对象时不传大小 10.性能优化 10.1…

[LeetCode][239]【学习日记】滑动窗口最大值——O(n)单调队列

题目 239. 滑动窗口最大值 难度&#xff1a;困难相关标签相关企业提示 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回滑动窗口中的最大值。 示例 1…

雷赛控制卡的扩展IO连接

雷赛控制卡的扩展IO点无法控制问题处理 现象 因设备的上IO点较多&#xff0c;所以使用了多个雷赛32点位的IO扩展卡。上位机程序在控制输出IO时发现主模块IO和第一个扩展IO的输出可以控制。但第二个IO扩展卡和第三个IO扩展卡的输出控制不了。经排查出发现轴卡在初始化时只连接了…

校园小情书微信小程序,社区小程序前后端开源,校园表白墙交友小程序

功能 表白墙卖舍友步数旅行步数排行榜情侣脸漫画脸个人主页私信站内消息今日话题评论点赞收藏 效果图

ROS篇——Debian12通过源码安装ros-noetic

一、先配置sources.list Debian篇——Debian12的sources.list文件配置 二、基本环境部署安装&#xff08;安装时提示找不到的库&#xff0c;需要修改一下版本 &#xff0c;安装你能找得到的版本&#xff09; sudo apt-get install git sudo apt-get install cmake sudo apt-g…

2024年腾讯云学生服务器优惠活动「云+校园」政策解读

2024年腾讯云学生服务器优惠活动「云校园」&#xff0c;学生服务器优惠价格&#xff1a;轻量应用服务器2核2G学生价30元3个月、58元6个月、112元一年&#xff0c;轻量应用服务器4核8G配置191.1元3个月、352.8元6个月、646.8元一年&#xff0c;CVM云服务器2核4G配置842.4元一年&…

几何工具的使用

Geometry - Creation 创建几何 CogCreateCircleTool&#xff1a;创建圆CogCreateEllipseTool:创建椭圆CogCreateLineBisectPointsTool&#xff1a;带有两个点的平行线CogCreateLineParallelTool:在某一点创建某条线的平行线CogCreateLinePerpendicularTool:在某一点创建某条线…

LT6813/ADBMS1818底层驱动---均衡控制

1、LT6813采用内部均衡的原理 2、平衡控制结构体 根据数据库中读取的控制值设置平衡。要为单元设置平衡&#xff0c;必须将相应的位写入配置寄存器中。LTC 驱动程序仅执行数据库中 BMS 写入的数据。 参数 ltc_stateLTC 状态机的状态pSpi接口指向 SPI 配置的指针pTxBuff &…

2024-3-7-网络编程小项目

ser.c #include <myhead.h> #define SER_IP "10.168.1.111" //服务器IP #define SER_PORT 8888 //服务器端口号 struct User {char username[20];struct sockaddr_in cin; }; int main(int argc, const char *argv[]) {struct User ur[1024];//1、创建…

Hi3861编译问题:SDK路径过长

Hi3861编译问题&#xff1a; 这个因为路径过程&#xff0c;把sdk直接放到根目录下就可以编译过了。 也遇到过海思其他平台在vscode下编译路径过长导致编译失败。 [DevTools] D:\DevEcoProjects\hi3861_hdu_iot_application\src>hb build [OHOS INFO] ohos_build_compiler: …

LV15 day5 字符设备驱动读写操作实现

一、读操作实现 ssize_t xxx_read(struct file *filp, char __user *pbuf, size_t count, loff_t *ppos); 完成功能&#xff1a;读取设备产生的数据 参数&#xff1a; filp&#xff1a;指向open产生的struct file类型的对象&#xff0c;表示本次read对应的那次open pbuf&#…

国内用ChatGPT可以吗

PS: 无限次数&#xff0c;无需魔法&#xff0c;登录即可使用,网页打开下面 tj4.mnsfdx.net 点击跳转链接 国内用ChatGPT可以吗&#xff1f;简单来说&#xff0c;是可以的&#xff0c;国内可以使用ChatGPT。ChatGPT是一款实体机器翻译工具&#xff0c;也是一种人工智能技术&…

数据结构(八)——初识单链表

&#x1f600;前言 单链表是数据结构中最基本的一种链表结构&#xff0c;它由一系列节点组成&#xff0c;每个节点包含数据和指向下一个节点的指针。单链表具有灵活性和动态性&#xff0c;可以根据需要插入、删除和查找元素&#xff0c;适用于各种场景和问题的解决。 在本篇文章…

day7-网络编程

1>基于UDP的网络聊天室 Ser.c #include <myhead.h> #define SER_IP "10.211.55.9" // 服务器IP #define SER_PORT 9999struct user {char usrName[20];struct sockaddr_in cin; }; int main(int argc, char const *argv[]) {// 1.创建用于监听的套接字int…

MyBatis-Flex学习总结

写在前面的话 MyBatis-Flex 是一个优雅的 MyBatis 增强框架&#xff0c;它非常轻量、同时拥有极高的性能与灵活性。我们可以轻松的使用 Mybaits-Flex 链接任何数据库&#xff0c;其内置的 QueryWrapper 帮助我们极大的减少了 SQL 编写的工作的同时&#xff0c;减少出错的可能性…

Urban Elevations(UBA-211)

网址如下&#xff1a; Urban Elevations - UVA 221 - Virtual Judge (vjudge.net) 第三方网站的 说实话&#xff0c;我看英语看得头大 最近学了一堆stl的容器&#xff0c;比如map&#xff0c;set啥的&#xff0c;方便是很方便&#xff0c;但是导致我脑子里第一个念头就是用他…